aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/pretty-json/node_modules/json-stable-stringify/test/nested.js
diff options
context:
space:
mode:
Diffstat (limited to 'atom/packages/pretty-json/node_modules/json-stable-stringify/test/nested.js')
-rw-r--r--atom/packages/pretty-json/node_modules/json-stable-stringify/test/nested.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/atom/packages/pretty-json/node_modules/json-stable-stringify/test/nested.js b/atom/packages/pretty-json/node_modules/json-stable-stringify/test/nested.js
new file mode 100644
index 0000000..78aeaed
--- /dev/null
+++ b/atom/packages/pretty-json/node_modules/json-stable-stringify/test/nested.js
@@ -0,0 +1,28 @@
+var test = require('tape');
+var stringify = require('../');
+
+test('nested', function (t) {
+ t.plan(1);
+ var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };
+ t.equal(stringify(obj), '{"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8}');
+});
+
+test('cyclic (default)', function (t) {
+ t.plan(1);
+ var one = { a: 1 };
+ var two = { a: 2, one: one };
+ one.two = two;
+ try {
+ stringify(one);
+ } catch (ex) {
+ t.equal(ex.toString(), 'TypeError: Converting circular structure to JSON');
+ }
+});
+
+test('cyclic (specifically allowed)', function (t) {
+ t.plan(1);
+ var one = { a: 1 };
+ var two = { a: 2, one: one };
+ one.two = two;
+ t.equal(stringify(one, {cycles:true}), '{"a":1,"two":{"a":2,"one":"__cycle__"}}');
+});