@@ -18,6 +18,7 @@ describe('modelType', function () {
18
18
$compile = _$compile_ ;
19
19
$rootScope = _$rootScope_ ;
20
20
$rootScope . date = null ;
21
+ moment . tz . setDefault ( null ) ;
21
22
} ) ) ;
22
23
23
24
describe ( 'throws exception' , function ( ) {
@@ -142,6 +143,32 @@ describe('modelType', function () {
142
143
143
144
expect ( moment ( '1999-01-01' ) . isSame ( $rootScope . date ) ) . toBeTruthy ( ) ;
144
145
} ) ;
146
+ it ( 'returns a moment with correct time zone' , function ( ) {
147
+
148
+ $rootScope . date = 1132185600000 ; // '2005-11-17'
149
+ moment . tz . setDefault ( 'America/Los_Angeles' ) ;
150
+
151
+ var element = $compile ( '<datetimepicker data-ng-model="date" data-datetimepicker-config="{ modelType: \'moment\', startView: \'year\', minView: \'year\' }"></datetimepicker>' ) ( $rootScope ) ;
152
+ $rootScope . $digest ( ) ;
153
+
154
+ var selectedElement = jQuery ( jQuery ( '.year' , element ) [ 0 ] ) ;
155
+ selectedElement . trigger ( 'click' ) ;
156
+
157
+ expect ( moment ( '1999-01-01T00:00:00-08:00' ) . isSame ( $rootScope . date ) ) . toBeTruthy ( ) ;
158
+ } ) ;
159
+ it ( 'returns a moment with correct time zone' , function ( ) {
160
+
161
+ $rootScope . date = 1132185600000 ; // '2005-11-17'
162
+ moment . tz . setDefault ( 'America/New_York' ) ;
163
+
164
+ var element = $compile ( '<datetimepicker data-ng-model="date" data-datetimepicker-config="{ modelType: \'moment\', startView: \'year\', minView: \'year\' }"></datetimepicker>' ) ( $rootScope ) ;
165
+ $rootScope . $digest ( ) ;
166
+
167
+ var selectedElement = jQuery ( jQuery ( '.year' , element ) [ 0 ] ) ;
168
+ selectedElement . trigger ( 'click' ) ;
169
+
170
+ expect ( moment ( '1999-01-01T00:00:00-05:00' ) . isSame ( $rootScope . date ) ) . toBeTruthy ( ) ;
171
+ } ) ;
145
172
it ( 'throws an exception if invalid date string is in the model' , function ( ) {
146
173
147
174
$rootScope . date = 'invalid-date' ;
@@ -263,6 +290,32 @@ describe('modelType', function () {
263
290
264
291
expect ( $rootScope . date ) . toBe ( 'gibb5ri012' ) ;
265
292
} ) ;
293
+ it ( 'returns formatted string in correct time zone' , function ( ) {
294
+
295
+ $rootScope . date = moment ( '2005-11-17' ) . toDate ( ) ;
296
+ moment . tz . setDefault ( 'America/Los_Angeles' ) ;
297
+
298
+ var element = $compile ( '<datetimepicker data-ng-model="date" data-datetimepicker-config="{ modelType: \'MM-DD-YYYY Z\', startView: \'year\', minView: \'year\' }"></datetimepicker>' ) ( $rootScope ) ;
299
+ $rootScope . $digest ( ) ;
300
+
301
+ var selectedElement = jQuery ( jQuery ( '.year' , element ) [ 0 ] ) ;
302
+ selectedElement . trigger ( 'click' ) ;
303
+
304
+ expect ( $rootScope . date ) . toBe ( '01-01-1999 -08:00' ) ;
305
+ } ) ;
306
+ it ( 'returns formatted string in correct time zone' , function ( ) {
307
+
308
+ $rootScope . date = moment ( '2005-11-17' ) . toDate ( ) ;
309
+ moment . tz . setDefault ( 'America/New_York' ) ;
310
+
311
+ var element = $compile ( '<datetimepicker data-ng-model="date" data-datetimepicker-config="{ modelType: \'MM-DD-YYYY Z\', startView: \'year\', minView: \'year\' }"></datetimepicker>' ) ( $rootScope ) ;
312
+ $rootScope . $digest ( ) ;
313
+
314
+ var selectedElement = jQuery ( jQuery ( '.year' , element ) [ 0 ] ) ;
315
+ selectedElement . trigger ( 'click' ) ;
316
+
317
+ expect ( $rootScope . date ) . toBe ( '01-01-1999 -05:00' ) ;
318
+ } ) ;
266
319
it ( 'throws an exception if numeric string is in the model' , function ( ) {
267
320
268
321
$rootScope . date = '1132185600000' ;
0 commit comments