@@ -134,17 +134,17 @@ describe('uiSortable', function() {
134
134
li . simulate ( 'drag' , { dy : dy } ) ;
135
135
expect ( $rootScope . items . map ( function ( x ) { return x . text ; } ) ) . toEqual ( [ "One" , "Three" , "Four" , "Two" ] ) ;
136
136
137
- // // fails on angular 1.2
138
- // li = element.find(':eq(2)');
139
- // dy = -(2 + EXTRA_DY_PERCENTAGE) * li.outerHeight();
140
- // li.simulate('drag', { dy: dy });
141
- // expect($rootScope.items.map(function(x){ return x.text; })).toEqual(["Four", "One", "Three", "Two"]);
142
-
143
- // // fails on angular 1.2
144
- // li = element.find(':eq(3)');
145
- // dy = -(2 + EXTRA_DY_PERCENTAGE) * li.outerHeight();
146
- // li.simulate('drag', { dy: dy });
147
- // expect($rootScope.items.map(function(x){ return x.text; })).toEqual(["Four", "Two", "One", "Three"]);
137
+ // fails on angular 1.2
138
+ li = element . find ( ':eq(2)' ) ;
139
+ dy = - ( 2 + EXTRA_DY_PERCENTAGE ) * li . outerHeight ( ) ;
140
+ li . simulate ( 'drag' , { dy : dy } ) ;
141
+ expect ( $rootScope . items . map ( function ( x ) { return x . text ; } ) ) . toEqual ( [ "Four" , "One" , "Three" , "Two" ] ) ;
142
+
143
+ // fails on angular 1.2
144
+ li = element . find ( ':eq(3)' ) ;
145
+ dy = - ( 2 + EXTRA_DY_PERCENTAGE ) * li . outerHeight ( ) ;
146
+ li . simulate ( 'drag' , { dy : dy } ) ;
147
+ expect ( $rootScope . items . map ( function ( x ) { return x . text ; } ) ) . toEqual ( [ "Four" , "Two" , "One" , "Three" ] ) ;
148
148
149
149
// also placing right above the locked node seems a bit harder !?!?
150
150
@@ -154,7 +154,35 @@ describe('uiSortable', function() {
154
154
155
155
it ( 'should update model when sorting between sortables' , function ( ) {
156
156
inject ( function ( $compile , $rootScope ) {
157
- // TODO
157
+ var elementTop , elementBottom ;
158
+ elementTop = $compile ( '<ul ui-sortable="opts" class="cross-sortable" ng-model="itemsTop"><li ng-repeat="item in itemsTop" id="s-top-{{$index}}">{{ item }}</li></ul>' ) ( $rootScope ) ;
159
+ elementBottom = $compile ( '<ul ui-sortable="opts" class="cross-sortable" ng-model="itemsBottom"><li ng-repeat="item in itemsBottom" id="s-bottom-{{$index}}">{{ item }}</li></ul>' ) ( $rootScope ) ;
160
+ $rootScope . $apply ( function ( ) {
161
+ $rootScope . itemsTop = [ "Top One" , "Top Two" , "Top Three" ] ;
162
+ $rootScope . itemsBottom = [ "Bottom One" , "Bottom Two" , "Bottom Three" ] ;
163
+ $rootScope . opts = { connectWith : ".cross-sortable" } ;
164
+ } ) ;
165
+
166
+ host . append ( elementTop ) . append ( elementBottom ) ;
167
+
168
+ // fails on angular 1.2
169
+ var li1 = elementTop . find ( ':eq(0)' ) ;
170
+ var li2 = elementBottom . find ( ':eq(0)' ) ;
171
+ var dy = EXTRA_DY_PERCENTAGE * li1 . outerHeight ( ) + ( li2 . position ( ) . top - li1 . position ( ) . top ) ;
172
+ li1 . simulate ( 'drag' , { dy : dy } ) ;
173
+ expect ( $rootScope . itemsTop ) . toEqual ( [ "Top Two" , "Top Three" ] ) ;
174
+ expect ( $rootScope . itemsBottom ) . toEqual ( [ "Bottom One" , "Top One" , "Bottom Two" , "Bottom Three" ] ) ;
175
+
176
+ // fails on angular 1.2
177
+ li1 = elementBottom . find ( ':eq(1)' ) ;
178
+ li2 = elementTop . find ( ':eq(1)' ) ;
179
+ dy = - EXTRA_DY_PERCENTAGE * li1 . outerHeight ( ) - ( li1 . position ( ) . top - li2 . position ( ) . top ) ;
180
+ li1 . simulate ( 'drag' , { dy : dy } ) ;
181
+ expect ( $rootScope . itemsTop ) . toEqual ( [ "Top Two" , "Top One" , "Top Three" ] ) ;
182
+ expect ( $rootScope . itemsBottom ) . toEqual ( [ "Bottom One" , "Bottom Two" , "Bottom Three" ] ) ;
183
+
184
+ $ ( elementTop ) . remove ( ) ;
185
+ $ ( elementBottom ) . remove ( ) ;
158
186
} ) ;
159
187
} ) ;
160
188
0 commit comments