diff options
| author | Misko Hevery | 2011-11-03 20:26:13 -0700 |
|---|---|---|
| committer | Misko Hevery | 2011-11-14 20:31:13 -0800 |
| commit | 3972d2a89bfcfe177b12bb225302fc2937a1dbab (patch) | |
| tree | dd761af120d5815898bd89982ca4a04db409b57a /test/JsonSpec.js | |
| parent | cb6f832f38b11499a6d1dd2caf14d15e68211635 (diff) | |
| download | angular.js-3972d2a89bfcfe177b12bb225302fc2937a1dbab.tar.bz2 | |
refactor(json): break dependence on api.js
Diffstat (limited to 'test/JsonSpec.js')
| -rw-r--r-- | test/JsonSpec.js | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/test/JsonSpec.js b/test/JsonSpec.js index d3f6de0f..736e6032 100644 --- a/test/JsonSpec.js +++ b/test/JsonSpec.js @@ -72,7 +72,7 @@ describe('json', function() { }); it('should serialize UTC dates', function() { - var date = angular.String.toDate("2009-10-09T01:02:03.027Z"); + var date = jsonStringToDate("2009-10-09T01:02:03.027Z"); expect(toJson(date)).toEqual('"2009-10-09T01:02:03.027Z"'); expect(fromJson('"2009-10-09T01:02:03.027Z"').getTime()).toEqual(date.getTime()); }); @@ -219,4 +219,61 @@ describe('json', function() { }); + + it('should read/write to date', function() { + var date = new Date("Sep 10 2003 13:02:03 GMT"); + assertEquals("2003-09-10T13:02:03.000Z", jsonDateToString(date)); + assertEquals(date.getTime(), jsonStringToDate(jsonDateToString(date)).getTime()); + }); + + + it('should convert to date', function() { + //full ISO8061 + expect(jsonStringToDate("2003-09-10T13:02:03.000Z")). + toEqual(new Date("Sep 10 2003 13:02:03 GMT")); + + //no millis + expect(jsonStringToDate("2003-09-10T13:02:03Z")). + toEqual(new Date("Sep 10 2003 13:02:03 GMT")); + + //no seconds + expect(jsonStringToDate("2003-09-10T13:02Z")). + toEqual(new Date("Sep 10 2003 13:02:00 GMT")); + + //no minutes + expect(jsonStringToDate("2003-09-10T13Z")). + toEqual(new Date("Sep 10 2003 13:00:00 GMT")); + + //no time + expect(jsonStringToDate("2003-09-10")). + toEqual(new Date("Sep 10 2003 00:00:00 GMT")); + }); + + + it('should parse date', function() { + var date = jsonStringToDate("2003-09-10T13:02:03.000Z"); + assertEquals("2003-09-10T13:02:03.000Z", jsonDateToString(date)); + assertEquals("str", jsonStringToDate("str")); + }); + + + describe('string', function() { + it('should quote', function() { + assertEquals(quoteUnicode('a'), '"a"'); + assertEquals(quoteUnicode('\\'), '"\\\\"'); + assertEquals(quoteUnicode("'a'"), '"\'a\'"'); + assertEquals(quoteUnicode('"a"'), '"\\"a\\""'); + assertEquals(quoteUnicode('\n\f\r\t'), '"\\n\\f\\r\\t"'); + }); + + it('should quote slashes', function() { + assertEquals('"7\\\\\\\"7"', quoteUnicode("7\\\"7")); + }); + + it('should quote unicode', function() { + assertEquals('"abc\\u00a0def"', quoteUnicode('abc\u00A0def')); + }); + + }); + }); |
