diff options
| author | Misko Hevery | 2010-10-26 14:25:01 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2010-10-26 14:25:01 -0700 | 
| commit | 1d52349440d40de527b5d7f3849070f525c1b79b (patch) | |
| tree | 1dd98c7b68e6c6c9ae129ced25beec94e7c23c93 | |
| parent | 3eb0c8bc67644412f34e55945f4b538f87bbb003 (diff) | |
| download | angular.js-1d52349440d40de527b5d7f3849070f525c1b79b.tar.bz2 | |
Reverted change 841013a4c4d25acf6fc9ff40e449c3d0a4b82ec3 which does not work on all browsers
| -rw-r--r-- | src/apis.js | 11 | ||||
| -rw-r--r-- | test/ApiSpecs.js | 4 | ||||
| -rw-r--r-- | test/angular-mocks.js | 2 | ||||
| -rw-r--r-- | test/scenario/dslSpec.js | 2 | 
4 files changed, 16 insertions, 3 deletions
| diff --git a/src/apis.js b/src/apis.js index a90685cc..ffa2e788 100644 --- a/src/apis.js +++ b/src/apis.js @@ -209,8 +209,15 @@ var angularString = {     * @return {(Date|string)}     */    'toDate':function(string){ -    var date = new Date(string); -    return isNaN(date.getTime()) ? string : date; +    var match; +    if (typeof string == 'string' && +        (match = string.match(/^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z$/))){ +      var date = new Date(0); +      date.setUTCFullYear(match[1], match[2] - 1, match[3]); +      date.setUTCHours(match[4], match[5], match[6], 0); +      return date; +    } +    return string;    }  }; diff --git a/test/ApiSpecs.js b/test/ApiSpecs.js index 7e154206..8969e1bf 100644 --- a/test/ApiSpecs.js +++ b/test/ApiSpecs.js @@ -189,6 +189,10 @@ describe('api', function(){      assertEquals(date.getTime(), angular.String.toDate(angular.Date.toString(date)).getTime());    }); +  it('UTCtoDate', function(){ +    expect(angular.String.toDate("2003-09-10T13:02:03Z")).toEqual(new Date("Sep 10 2003 13:02:03 GMT")); +  }); +    it('StringFromUTC', function(){      var date = angular.String.toDate("2003-09-10T13:02:03Z");      assertEquals("date", angular.Object.typeOf(date)); diff --git a/test/angular-mocks.js b/test/angular-mocks.js index a090f0e8..f13ca763 100644 --- a/test/angular-mocks.js +++ b/test/angular-mocks.js @@ -195,7 +195,7 @@ angular.service('$browser', function(){  function TzDate(offset, timestamp) {    if (angular.isString(timestamp)) {      var tsStr = timestamp; -    timestamp = new Date(timestamp).getTime(); +    timestamp = angular.String.toDate(timestamp).getTime();      if (isNaN(timestamp))        throw {          name: "Illegal Argument", diff --git a/test/scenario/dslSpec.js b/test/scenario/dslSpec.js index b9d59fe4..14ca8b2c 100644 --- a/test/scenario/dslSpec.js +++ b/test/scenario/dslSpec.js @@ -262,12 +262,14 @@ describe("angular.scenario.dsl", function() {      describe('Binding', function() {        it('should select binding by name', function() { +        if (msie) return; // TODO reenable!          doc.append('<span ng:bind="foo.bar">some value</span>');          $root.dsl.binding('foo.bar');          expect($root.futureResult).toEqual('some value');        });        it('should select binding in template by name', function() { +        if (msie) return; // TODO reenable!          doc.append('<pre ng:bind-template="foo {{bar}} baz">foo some baz</pre>');          $root.dsl.binding('bar');          expect($root.futureResult).toEqual('foo some baz'); | 
