@@ -79,3 +79,36 @@ describe 'loadingBarInterceptor Service - config options', ->
79
79
expect (cfpLoadingBar .status ()).toBeGreaterThan .5
80
80
cfpLoadingBar .complete ()
81
81
$timeout .flush ()
82
+
83
+ it ' should append the loadingbar as the first child of the parent container if empty' , ->
84
+ emptyEl = angular .element ' <div id="empty"></div>'
85
+ angular .element (document ).find (' body' ).eq (0 ).append emptyEl
86
+
87
+ module ' chieffancypants.loadingBar' , (cfpLoadingBarProvider ) ->
88
+ cfpLoadingBarProvider .parentSelector = ' #empty'
89
+ return
90
+ inject ($timeout , $document , cfpLoadingBar ) ->
91
+ cfpLoadingBar .start ()
92
+ parent = $document [0 ].querySelector (cfpLoadingBar .parentSelector )
93
+ children = parent .childNodes
94
+ expect (children .length ).toBe 2
95
+ expect (children[0 ].id ).toBe ' loading-bar'
96
+ expect (children[1 ].id ).toBe ' loading-bar-spinner'
97
+ cfpLoadingBar .complete ()
98
+ $timeout .flush ()
99
+
100
+ it ' should append the loading bar to the body if parentSelector is empty' , ->
101
+ module ' chieffancypants.loadingBar' , (cfpLoadingBarProvider ) ->
102
+ cfpLoadingBarProvider .parentSelector = ' #doesnotexist'
103
+ return
104
+ inject ($timeout , $document , cfpLoadingBar ) ->
105
+ parent = $document [0 ].querySelector (cfpLoadingBar .parentSelector )
106
+ expect (parent).toBeFalsy ;
107
+ body = $document [0 ].querySelector ' body'
108
+ cfpLoadingBar .start ()
109
+ bar = angular .element (body .querySelector ' #loading-bar' );
110
+ spinner = angular .element (body .querySelector ' #loading-bar-spinner' );
111
+ expect (bar .length ).toBe 1
112
+ expect (spinner .length ).toBe 1
113
+ cfpLoadingBar .complete ()
114
+ $timeout .flush ()
0 commit comments