@@ -397,6 +397,19 @@ angular.mock.$LogProvider = function() {
397397 return parseInt ( str , 10 ) ;
398398 }
399399
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+
400413
401414 /**
402415 * @ngdoc object
@@ -523,12 +536,25 @@ angular.mock.$LogProvider = function() {
523536 return self . date . getDay ( ) ;
524537 } ;
525538
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+
526552 //hide all methods not implemented in this mock that the Date prototype exposes
527553 var unimplementedMethods = [ 'getMilliseconds' , 'getUTCDay' ,
528554 'getYear' , 'setDate' , 'setFullYear' , 'setHours' , 'setMilliseconds' ,
529555 'setMinutes' , 'setMonth' , 'setSeconds' , 'setTime' , 'setUTCDate' , 'setUTCFullYear' ,
530556 'setUTCHours' , 'setUTCMilliseconds' , 'setUTCMinutes' , 'setUTCMonth' , 'setUTCSeconds' ,
531- 'setYear' , 'toDateString' , 'toJSON ' , 'toGMTString ' , 'toLocaleFormat' , 'toLocaleString' ,
557+ 'setYear' , 'toDateString' , 'toGMTString ' , 'toJSON ' , 'toLocaleFormat' , 'toLocaleString' ,
532558 'toLocaleTimeString' , 'toSource' , 'toString' , 'toTimeString' , 'toUTCString' , 'valueOf' ] ;
533559
534560 angular . forEach ( unimplementedMethods , function ( methodName ) {
0 commit comments