File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ Observer.create = function (value, vm) {
47
47
}
48
48
var ob
49
49
if (
50
- value . hasOwnProperty ( '__ob__' ) &&
50
+ '__ob__' in value &&
51
51
value . __ob__ instanceof Observer
52
52
) {
53
53
ob = value . __ob__
Original file line number Diff line number Diff line change @@ -38,6 +38,23 @@ describe('Observer', function () {
38
38
expect ( ob2 ) . toBe ( ob )
39
39
} )
40
40
41
+ it ( 'create on null' , function ( ) {
42
+ // on null
43
+ var obj = Object . create ( null )
44
+ obj . a = { }
45
+ obj . b = { }
46
+ var ob = Observer . create ( obj )
47
+ expect ( ob instanceof Observer ) . toBe ( true )
48
+ expect ( ob . value ) . toBe ( obj )
49
+ expect ( obj . __ob__ ) . toBe ( ob )
50
+ // should've walked children
51
+ expect ( obj . a . __ob__ instanceof Observer ) . toBe ( true )
52
+ expect ( obj . b . __ob__ instanceof Observer ) . toBe ( true )
53
+ // should return existing ob on already observed objects
54
+ var ob2 = Observer . create ( obj )
55
+ expect ( ob2 ) . toBe ( ob )
56
+ } )
57
+
41
58
it ( 'create on array' , function ( ) {
42
59
// on object
43
60
var arr = [ { } , { } ]
You can’t perform that action at this time.
0 commit comments