@@ -45,57 +45,64 @@ describe('MapRepeatStrategy', () => {
4545 view3 . bindingContext = { item : [ 'john' , 'doe' ] } ;
4646 view3 . overrideContext = { } ;
4747 viewSlot . children = [ view1 , view2 , view3 ] ;
48- viewFactorySpy = spyOn ( viewFactory , 'create' ) . and . callFake ( ( ) => { } ) ;
48+ viewFactorySpy = spyOn ( viewFactory , 'create' ) . and . callFake ( ( ) => { /**/ } ) ;
4949 } ) ;
50-
50+
5151 it ( 'should correctly handle adding item (i.e Map.prototype.set())' , ( ) => {
52- repeat = new Repeat ( new ViewFactoryMock ( ) , instructionMock , viewSlot , viewResourcesMock , new ObserverLocator ( ) ) ;
52+ repeat = new Repeat (
53+ new ViewFactoryMock ( ) ,
54+ instructionMock ,
55+ viewSlot ,
56+ viewResourcesMock ,
57+ new ObserverLocator ( ) ,
58+ null
59+ ) ;
5360 let bindingContext = { } ;
5461 repeat . scope = { bindingContext, overrideContext : createOverrideContext ( bindingContext ) } ;
5562 records = [
56- { " type" : " add" , " object" : { } , " key" : 'norf' }
57- ]
63+ { ' type' : ' add' , ' object' : { } , ' key' : 'norf' }
64+ ] ;
5865 items = new Map ( [ [ 'foo' , 'bar' ] , [ 'qux' , 'qax' ] , [ 'john' , 'doe' ] , [ 'norf' , 'narf' ] ] ) ;
59- spyOn ( viewSlot , 'removeAt' ) . and . callFake ( ( ) => { return new ViewMock ( ) ; } ) ;
66+ spyOn ( viewSlot , 'removeAt' ) . and . callFake ( ( ) => { return new ViewMock ( ) ; } ) ;
6067 strategy . instanceMutated ( repeat , items , records ) ;
61-
68+
6269 expect ( viewSlot . children . length ) . toBe ( 4 ) ;
6370 expect ( viewSlot . children [ 3 ] . bindingContext . key ) . toBe ( 'norf' ) ;
6471 expect ( viewSlot . children [ 3 ] . overrideContext . $index ) . toBe ( 3 ) ;
6572 expect ( viewSlot . children [ 3 ] . overrideContext . $first ) . toBe ( false ) ;
6673 expect ( viewSlot . children [ 3 ] . overrideContext . $last ) . toBe ( true ) ;
6774 } ) ;
68-
75+
6976 it ( 'should correctly handle clear items (i.e Map.prototype.clear())' , ( ) => {
7077 let view4 = new ViewMock ( ) ;
7178 view4 . bindingContext = { item : [ 'norf' , 'narf' ] } ;
7279 view4 . overrideContext = { } ;
7380 let viewSlotMock = new ViewSlotMock ( ) ;
7481 viewSlotMock . children = [ view1 , view2 , view3 , view4 ] ;
75- repeat = new Repeat ( new ViewFactoryMock ( ) , instructionMock , viewSlotMock , viewResourcesMock , new ObserverLocator ( ) ) ;
82+ repeat = new Repeat ( new ViewFactoryMock ( ) , instructionMock , viewSlotMock , viewResourcesMock , new ObserverLocator ( ) , null ) ;
7683 let bindingContext = { } ;
7784 repeat . scope = { bindingContext, overrideContext : createOverrideContext ( bindingContext ) } ;
7885 records = [
79- { " type" : " clear" , " object" : { } }
80- ]
86+ { ' type' : ' clear' , ' object' : { } }
87+ ] ;
8188 items = new Map ( ) ;
8289 strategy . instanceMutated ( repeat , items , records ) ;
83-
90+
8491 expect ( viewSlotMock . children . length ) . toBe ( 0 ) ;
8592 } ) ;
86-
93+
8794 it ( 'should correctly handle adding items after clear (issue 287)' , ( ) => {
8895 viewSlot . children = [ view1 , view2 , view3 ] ;
89- repeat = new Repeat ( new ViewFactoryMock ( ) , instructionMock , viewSlot , viewResourcesMock , new ObserverLocator ( ) ) ;
96+ repeat = new Repeat ( new ViewFactoryMock ( ) , instructionMock , viewSlot , viewResourcesMock , new ObserverLocator ( ) , null ) ;
9097 let bindingContext = { } ;
9198 repeat . scope = { bindingContext, overrideContext : createOverrideContext ( bindingContext ) } ;
9299 records = [
93- { " type" : " clear" , " object" : { } } ,
94- { " type" : " add" , " object" : { } , " key" : 'foo' } ,
95- { " type" : " add" , " object" : { } , " key" : 'qux' } ,
96- { " type" : " add" , " object" : { } , " key" : 'john' } ,
97- { " type" : " add" , " object" : { } , " key" : 'norf' }
98- ]
100+ { ' type' : ' clear' , ' object' : { } } ,
101+ { ' type' : ' add' , ' object' : { } , ' key' : 'foo' } ,
102+ { ' type' : ' add' , ' object' : { } , ' key' : 'qux' } ,
103+ { ' type' : ' add' , ' object' : { } , ' key' : 'john' } ,
104+ { ' type' : ' add' , ' object' : { } , ' key' : 'norf' }
105+ ] ;
99106 items = new Map ( [ [ 'foo' , 'bar' ] , [ 'qux' , 'qax' ] , [ 'john' , 'doe' ] , [ 'norf' , 'narf' ] ] ) ;
100107 strategy . instanceMutated ( repeat , items , records ) ;
101108
0 commit comments