source: node_modules/json-stable-stringify/test/replacer.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.8 KB
Line 
1'use strict';
2
3var test = require('tape');
4var stringify = require('../');
5
6test('replace root', function (t) {
7 t.plan(1);
8
9 var obj = { a: 1, b: 2, c: false };
10 var replacer = function () { return 'one'; };
11
12 t.equal(stringify(obj, { replacer: replacer }), '"one"');
13});
14
15test('replace numbers', function (t) {
16 t.plan(1);
17
18 var obj = { a: 1, b: 2, c: false };
19 var replacer = function (key, value) {
20 if (value === 1) { return 'one'; }
21 if (value === 2) { return 'two'; }
22 return value;
23 };
24
25 t.equal(stringify(obj, { replacer: replacer }), '{"a":"one","b":"two","c":false}');
26});
27
28test('replace with object', function (t) {
29 t.plan(1);
30
31 var obj = { a: 1, b: 2, c: false };
32 var replacer = function (key, value) {
33 if (key === 'b') { return { d: 1 }; }
34 if (value === 1) { return 'one'; }
35 return value;
36 };
37
38 t.equal(stringify(obj, { replacer: replacer }), '{"a":"one","b":{"d":"one"},"c":false}');
39});
40
41test('replace with undefined', function (t) {
42 t.plan(1);
43
44 var obj = { a: 1, b: 2, c: false };
45 var replacer = function (key, value) {
46 if (value === false) { return; }
47 return value;
48 };
49
50 t.equal(stringify(obj, { replacer: replacer }), '{"a":1,"b":2}');
51});
52
53test('replace with array', function (t) {
54 t.plan(1);
55
56 var obj = { a: 1, b: 2, c: false };
57 var replacer = function (key, value) {
58 if (key === 'b') { return ['one', 'two']; }
59 return value;
60 };
61
62 t.equal(stringify(obj, { replacer: replacer }), '{"a":1,"b":["one","two"],"c":false}');
63});
64
65test('replace array item', function (t) {
66 t.plan(1);
67
68 var obj = { a: 1, b: 2, c: [1, 2] };
69 var replacer = function (key, value) {
70 if (value === 1) { return 'one'; }
71 if (value === 2) { return 'two'; }
72 return value;
73 };
74
75 t.equal(stringify(obj, { replacer: replacer }), '{"a":"one","b":"two","c":["one","two"]}');
76});
Note: See TracBrowser for help on using the repository browser.