@@ -397,6 +397,19 @@ angular.mock.$LogProvider = function() {
397
397
return parseInt ( str , 10 ) ;
398
398
}
399
399
400
+ function padNumber ( num , digits , trim ) {
401
+ var neg = '' ;
402
+ if ( num < 0 ) {
403
+ neg = '-' ;
404
+ num = - num ;
405
+ }
406
+ num = '' + num ;
407
+ while ( num . length < digits ) num = '0' + num ;
408
+ if ( trim )
409
+ num = num . substr ( num . length - digits ) ;
410
+ return neg + num ;
411
+ }
412
+
400
413
401
414
/**
402
415
* @ngdoc object
@@ -523,12 +536,25 @@ angular.mock.$LogProvider = function() {
523
536
return self . date . getDay ( ) ;
524
537
} ;
525
538
539
+ // provide this method only on browsers that already have it
540
+ if ( self . toISOString ) {
541
+ self . toISOString = function ( ) {
542
+ return padNumber ( self . origDate . getUTCFullYear ( ) , 4 ) + '-' +
543
+ padNumber ( self . origDate . getUTCMonth ( ) + 1 , 2 ) + '-' +
544
+ padNumber ( self . origDate . getUTCDate ( ) , 2 ) + 'T' +
545
+ padNumber ( self . origDate . getUTCHours ( ) , 2 ) + ':' +
546
+ padNumber ( self . origDate . getUTCMinutes ( ) , 2 ) + ':' +
547
+ padNumber ( self . origDate . getUTCSeconds ( ) , 2 ) + '.' +
548
+ padNumber ( self . origDate . getUTCMilliseconds ( ) , 3 ) + 'Z'
549
+ }
550
+ }
551
+
526
552
//hide all methods not implemented in this mock that the Date prototype exposes
527
553
var unimplementedMethods = [ 'getMilliseconds' , 'getUTCDay' ,
528
554
'getYear' , 'setDate' , 'setFullYear' , 'setHours' , 'setMilliseconds' ,
529
555
'setMinutes' , 'setMonth' , 'setSeconds' , 'setTime' , 'setUTCDate' , 'setUTCFullYear' ,
530
556
'setUTCHours' , 'setUTCMilliseconds' , 'setUTCMinutes' , 'setUTCMonth' , 'setUTCSeconds' ,
531
- 'setYear' , 'toDateString' , 'toJSON ' , 'toGMTString ' , 'toLocaleFormat' , 'toLocaleString' ,
557
+ 'setYear' , 'toDateString' , 'toGMTString ' , 'toJSON ' , 'toLocaleFormat' , 'toLocaleString' ,
532
558
'toLocaleTimeString' , 'toSource' , 'toString' , 'toTimeString' , 'toUTCString' , 'valueOf' ] ;
533
559
534
560
angular . forEach ( unimplementedMethods , function ( methodName ) {
0 commit comments