1
1
/*global describe, beforeEach, module, inject, it, spyOn, expect, $, runTest */
2
- describe ( 'uiScroll' , function ( ) {
3
- 'use strict' ;
2
+ describe ( 'uiScroll' , function ( ) {
3
+ 'use strict' ;
4
4
5
- beforeEach ( module ( 'ui.scroll' ) ) ;
6
- beforeEach ( module ( 'ui.scroll.test.datasources' ) ) ;
5
+ beforeEach ( module ( 'ui.scroll' ) ) ;
6
+ beforeEach ( module ( 'ui.scroll.test.datasources' ) ) ;
7
7
8
- describe ( 'basic setup' , function ( ) {
9
- var scrollSettings = { datasource : 'myEmptyDatasource' } ;
8
+ describe ( 'basic setup' , function ( ) {
10
9
11
- it ( 'should bind to window scroll and resize events and unbind them after the scope is destroyed' , function ( ) {
12
- spyOn ( $ . fn , 'bind' ) . and . callThrough ( ) ;
13
- spyOn ( $ . fn , 'unbind' ) . and . callThrough ( ) ;
14
- runTest ( scrollSettings ,
15
- function ( viewport ) {
16
- expect ( $ . fn . bind . calls . all ( ) . length ) . toBe ( 3 ) ;
17
- expect ( $ . fn . bind . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( 'mousewheel' ) ;
18
- expect ( $ . fn . bind . calls . all ( ) [ 0 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
19
- expect ( $ . fn . bind . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( 'resize' ) ;
20
- expect ( $ . fn . bind . calls . all ( ) [ 1 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
21
- expect ( $ . fn . bind . calls . all ( ) [ 2 ] . args [ 0 ] ) . toBe ( 'scroll' ) ;
22
- expect ( $ . fn . bind . calls . all ( ) [ 2 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
23
- } , {
24
- cleanupTest : function ( viewport , scope , $timeout ) {
25
- $timeout ( function ( ) {
26
- expect ( $ . fn . unbind . calls . all ( ) . length ) . toBe ( 3 ) ;
27
- expect ( $ . fn . unbind . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( 'resize' ) ;
28
- expect ( $ . fn . unbind . calls . all ( ) [ 0 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
29
- expect ( $ . fn . unbind . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( 'scroll' ) ;
30
- expect ( $ . fn . unbind . calls . all ( ) [ 1 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
31
- expect ( $ . fn . unbind . calls . all ( ) [ 2 ] . args [ 0 ] ) . toBe ( 'mousewheel' ) ;
32
- expect ( $ . fn . unbind . calls . all ( ) [ 2 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
33
- } ) ;
34
- }
35
- }
36
- ) ;
10
+ it ( 'should throw an error if the template\'s wrong' , function ( ) {
11
+ runTest ( { datasource : 'myEmptyDatasource' , extra : 'ng-if="false"' } , null , {
12
+ catch : function ( error ) {
13
+ expect ( error . message ) . toBe ( 'ui-scroll directive requires an Element node for templating the view' ) ;
14
+ }
15
+ }
16
+ ) ;
17
+ } ) ;
18
+
19
+ var scrollSettings = { datasource : 'myEmptyDatasource' } ;
20
+
21
+ it ( 'should bind to window scroll and resize events and unbind them after the scope is destroyed' , function ( ) {
22
+ spyOn ( $ . fn , 'bind' ) . and . callThrough ( ) ;
23
+ spyOn ( $ . fn , 'unbind' ) . and . callThrough ( ) ;
24
+ runTest ( scrollSettings ,
25
+ function ( viewport ) {
26
+ expect ( $ . fn . bind . calls . all ( ) . length ) . toBe ( 3 ) ;
27
+ expect ( $ . fn . bind . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( 'mousewheel' ) ;
28
+ expect ( $ . fn . bind . calls . all ( ) [ 0 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
29
+ expect ( $ . fn . bind . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( 'resize' ) ;
30
+ expect ( $ . fn . bind . calls . all ( ) [ 1 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
31
+ expect ( $ . fn . bind . calls . all ( ) [ 2 ] . args [ 0 ] ) . toBe ( 'scroll' ) ;
32
+ expect ( $ . fn . bind . calls . all ( ) [ 2 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
33
+ } , {
34
+ cleanupTest : function ( viewport , scope , $timeout ) {
35
+ $timeout ( function ( ) {
36
+ expect ( $ . fn . unbind . calls . all ( ) . length ) . toBe ( 3 ) ;
37
+ expect ( $ . fn . unbind . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( 'resize' ) ;
38
+ expect ( $ . fn . unbind . calls . all ( ) [ 0 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
39
+ expect ( $ . fn . unbind . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( 'scroll' ) ;
40
+ expect ( $ . fn . unbind . calls . all ( ) [ 1 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
41
+ expect ( $ . fn . unbind . calls . all ( ) [ 2 ] . args [ 0 ] ) . toBe ( 'mousewheel' ) ;
42
+ expect ( $ . fn . unbind . calls . all ( ) [ 2 ] . object [ 0 ] ) . toBe ( viewport [ 0 ] ) ;
37
43
} ) ;
44
+ }
45
+ }
46
+ ) ;
47
+ } ) ;
38
48
39
- it ( 'should create 2 divs of 0 height' , function ( ) {
40
- runTest ( scrollSettings ,
41
- function ( viewport ) {
42
- expect ( viewport . children ( ) . length ) . toBe ( 2 ) ;
49
+ it ( 'should create 2 divs of 0 height' , function ( ) {
50
+ runTest ( scrollSettings ,
51
+ function ( viewport ) {
52
+ expect ( viewport . children ( ) . length ) . toBe ( 2 ) ;
43
53
44
- var topPadding = viewport . children ( ) [ 0 ] ;
45
- expect ( topPadding . tagName . toLowerCase ( ) ) . toBe ( 'div' ) ;
46
- expect ( angular . element ( topPadding ) . css ( 'height' ) ) . toBe ( '0px' ) ;
54
+ var topPadding = viewport . children ( ) [ 0 ] ;
55
+ expect ( topPadding . tagName . toLowerCase ( ) ) . toBe ( 'div' ) ;
56
+ expect ( angular . element ( topPadding ) . css ( 'height' ) ) . toBe ( '0px' ) ;
47
57
48
- var bottomPadding = viewport . children ( ) [ 1 ] ;
49
- expect ( bottomPadding . tagName . toLowerCase ( ) ) . toBe ( 'div' ) ;
50
- expect ( angular . element ( bottomPadding ) . css ( 'height' ) ) . toBe ( '0px' ) ;
51
- }
52
- ) ;
53
- } ) ;
58
+ var bottomPadding = viewport . children ( ) [ 1 ] ;
59
+ expect ( bottomPadding . tagName . toLowerCase ( ) ) . toBe ( 'div' ) ;
60
+ expect ( angular . element ( bottomPadding ) . css ( 'height' ) ) . toBe ( '0px' ) ;
61
+ }
62
+ ) ;
63
+ } ) ;
54
64
55
- it ( 'should call get on the datasource 2 times ' , function ( ) {
56
- var spy ;
57
- inject ( function ( myEmptyDatasource ) {
58
- spy = spyOn ( myEmptyDatasource , 'get' ) . and . callThrough ( ) ;
59
- } ) ;
60
- runTest ( scrollSettings ,
61
- function ( ) {
62
- expect ( spy . calls . all ( ) . length ) . toBe ( 2 ) ;
63
- expect ( spy . calls . all ( ) [ 0 ] . args . length ) . toBe ( 3 ) ;
64
- expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( 1 ) ;
65
- expect ( spy . calls . all ( ) [ 0 ] . args [ 1 ] ) . toBe ( 10 ) ;
66
- expect ( spy . calls . all ( ) [ 1 ] . args . length ) . toBe ( 3 ) ;
67
- expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( - 9 ) ;
68
- expect ( spy . calls . all ( ) [ 1 ] . args [ 1 ] ) . toBe ( 10 ) ;
69
- }
70
- ) ;
71
- } ) ;
72
- } ) ;
65
+ it ( 'should call get on the datasource 2 times ' , function ( ) {
66
+ var spy ;
67
+ inject ( function ( myEmptyDatasource ) {
68
+ spy = spyOn ( myEmptyDatasource , 'get' ) . and . callThrough ( ) ;
69
+ } ) ;
70
+ runTest ( scrollSettings ,
71
+ function ( ) {
72
+ expect ( spy . calls . all ( ) . length ) . toBe ( 2 ) ;
73
+ expect ( spy . calls . all ( ) [ 0 ] . args . length ) . toBe ( 3 ) ;
74
+ expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( 1 ) ;
75
+ expect ( spy . calls . all ( ) [ 0 ] . args [ 1 ] ) . toBe ( 10 ) ;
76
+ expect ( spy . calls . all ( ) [ 1 ] . args . length ) . toBe ( 3 ) ;
77
+ expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( - 9 ) ;
78
+ expect ( spy . calls . all ( ) [ 1 ] . args [ 1 ] ) . toBe ( 10 ) ;
79
+ }
80
+ ) ;
81
+ } ) ;
82
+ } ) ;
73
83
74
- describe ( 'basic setup (new datasource get signature)' , function ( ) {
75
- var scrollSettings = { datasource : 'myNewEmptyDatasource' } ;
84
+ describe ( 'basic setup (new datasource get signature)' , function ( ) {
85
+ var scrollSettings = { datasource : 'myNewEmptyDatasource' } ;
76
86
77
- it ( 'should call get on the datasource 2 times ' , function ( ) {
78
- var spy ;
79
- inject ( function ( myNewEmptyDatasource ) {
80
- spy = spyOn ( myNewEmptyDatasource , 'actualGet' ) . and . callThrough ( ) ;
81
- } ) ;
82
- runTest ( scrollSettings ,
83
- function ( ) {
84
- expect ( spy . calls . all ( ) . length ) . toBe ( 2 ) ;
85
- expect ( spy . calls . all ( ) [ 0 ] . args . length ) . toBe ( 2 ) ;
86
- expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] . index ) . toBe ( 1 ) ;
87
- expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] . count ) . toBe ( 10 ) ;
88
- expect ( 'append' in spy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( true ) ;
89
- expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] . append ) . toBeUndefined ( ) ;
90
- expect ( 'prepend' in spy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( false ) ;
91
- expect ( spy . calls . all ( ) [ 1 ] . args . length ) . toBe ( 2 ) ;
92
- expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] . index ) . toBe ( - 9 ) ;
93
- expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] . count ) . toBe ( 10 ) ;
94
- expect ( 'append' in spy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( false ) ;
95
- expect ( 'prepend' in spy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( true ) ;
96
- expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] . prepend ) . toBeUndefined ( ) ;
97
- }
98
- ) ;
99
- } ) ;
87
+ it ( 'should call get on the datasource 2 times ' , function ( ) {
88
+ var spy ;
89
+ inject ( function ( myNewEmptyDatasource ) {
90
+ spy = spyOn ( myNewEmptyDatasource , 'actualGet' ) . and . callThrough ( ) ;
91
+ } ) ;
92
+ runTest ( scrollSettings ,
93
+ function ( ) {
94
+ expect ( spy . calls . all ( ) . length ) . toBe ( 2 ) ;
95
+ expect ( spy . calls . all ( ) [ 0 ] . args . length ) . toBe ( 2 ) ;
96
+ expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] . index ) . toBe ( 1 ) ;
97
+ expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] . count ) . toBe ( 10 ) ;
98
+ expect ( 'append' in spy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( true ) ;
99
+ expect ( spy . calls . all ( ) [ 0 ] . args [ 0 ] . append ) . toBeUndefined ( ) ;
100
+ expect ( 'prepend' in spy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toBe ( false ) ;
101
+ expect ( spy . calls . all ( ) [ 1 ] . args . length ) . toBe ( 2 ) ;
102
+ expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] . index ) . toBe ( - 9 ) ;
103
+ expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] . count ) . toBe ( 10 ) ;
104
+ expect ( 'append' in spy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( false ) ;
105
+ expect ( 'prepend' in spy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toBe ( true ) ;
106
+ expect ( spy . calls . all ( ) [ 1 ] . args [ 0 ] . prepend ) . toBeUndefined ( ) ;
107
+ }
108
+ ) ;
100
109
} ) ;
110
+ } ) ;
101
111
} ) ;
0 commit comments