diff options
| author | Elliott Sprehn | 2010-11-03 10:13:03 -0700 |
|---|---|---|
| committer | Igor Minar | 2010-11-03 11:10:51 -0700 |
| commit | 690dfe000bf11fa6b39235d9a177dc79948841d4 (patch) | |
| tree | 9a8ef41493e9e7dff0b17ab842ead7d9d3803ed5 | |
| parent | 91c835dc0eb5b03e968ad890c41323de80bf45da (diff) | |
| download | angular.js-690dfe000bf11fa6b39235d9a177dc79948841d4.tar.bz2 | |
Serialize RegExp to string in JSON. Closes #119.
| -rw-r--r-- | src/JSON.js | 2 | ||||
| -rw-r--r-- | test/JsonSpec.js | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/JSON.js b/src/JSON.js index 8606319a..b2647104 100644 --- a/src/JSON.js +++ b/src/JSON.js @@ -33,6 +33,8 @@ function toJsonArray(buf, obj, pretty, stack){ var type = typeof obj; if (obj === _null) { buf.push($null); + } else if (obj instanceof RegExp) { + buf.push(angular['String']['quoteUnicode'](obj.toString())); } else if (type === $function) { return; } else if (type === $boolean) { diff --git a/test/JsonSpec.js b/test/JsonSpec.js index 17bb97b6..052c239c 100644 --- a/test/JsonSpec.js +++ b/test/JsonSpec.js @@ -30,6 +30,11 @@ describe('json', function(){ assertEquals('[1,"b"]', toJson([1,"b"])); }); + it('should parse RegExp', function() { + assertEquals('"/foo/"', toJson(/foo/)); + assertEquals('[1,"/foo/"]', toJson([1,new RegExp("foo")])); + }); + it('should parse IgnoreFunctions', function() { assertEquals('[null,1]', toJson([function(){},1])); assertEquals('{}', toJson({a:function(){}})); |
