Mercurial > octave
annotate test/json/jsonencode_BIST.tst @ 31191:bb9d776eafac stable
Fix wrong color in PDF printout of some latex strings (bug #62884)
* octave-svgconvert (draw): For "rect" elements only set brush color if
necessary and eventually restore to previous color.
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Sun, 14 Aug 2022 18:24:07 +0200 |
parents | 1575b324613d |
children | b4bde1e47dde |
rev | line source |
---|---|
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
2 %% Unit tests for jsonencode() |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
3 %% |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
4 %% Code in libinterp/corefcn/jsonencode.cc |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
6 %% Note: This script is intended to also run under Matlab to verify |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
7 %% compatibility. Preserve Matlab-formatting when making changes. |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
8 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
9 %% Some tests here are just the reverse of tests in jsondecode with |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
10 %% some modifications. |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
11 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
12 %%% Test 1: Encode logical and numeric scalars, NaN, NA, and Inf |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
13 |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
14 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
15 %! assert (isequal (jsonencode (logical (1)), 'true')); |
28802 | 16 %! assert (isequal (jsonencode (logical (0)), 'false')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
17 %! assert (isequal (jsonencode (50.025), '50.025')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
18 %! assert (isequal (jsonencode (NaN), 'null')); |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
19 %! assert (isequal (jsonencode (NA), 'null')); % Octave-only test |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
20 %! assert (isequal (jsonencode (Inf), 'null')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
21 %! assert (isequal (jsonencode (-Inf), 'null')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
22 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
23 %% Customized encoding of Nan, NA, Inf, -Inf |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
24 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
25 %! assert (isequal (jsonencode (NaN, 'ConvertInfAndNaN', true), 'null')); |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
26 %! % Octave-only test for NA |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
27 %! assert (isequal (jsonencode (NA, 'ConvertInfAndNaN', true), 'null')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
28 %! assert (isequal (jsonencode (Inf, 'ConvertInfAndNaN', true), 'null')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
29 %! assert (isequal (jsonencode (-Inf, 'ConvertInfAndNaN', true), 'null')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
30 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
31 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
32 %! assert (isequal (jsonencode (NaN, 'ConvertInfAndNaN', false), 'NaN')); |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
33 %! % Octave-only test for NA |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
34 %! assert (isequal (jsonencode (NA, 'ConvertInfAndNaN', false), 'NaN')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
35 %! assert (isequal (jsonencode (Inf, 'ConvertInfAndNaN', false), 'Infinity')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
36 %! assert (isequal (jsonencode (-Inf, 'ConvertInfAndNaN', false), '-Infinity')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
37 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
38 %%% Test 2: encode character vectors and arrays |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
39 |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
40 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
41 %! assert (isequal (jsonencode (''), '""')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
42 %! assert (isequal (jsonencode ('hello there'), '"hello there"')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
43 %! assert (isequal (jsonencode (['foo'; 'bar']), '["foo","bar"]')); |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
44 %! assert (isequal (jsonencode (['foo', 'bar'; 'foo', 'bar']), ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
45 %! '["foobar","foobar"]')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
46 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
47 %% Escape characters inside single-quoted and double-quoted strings |
28657
174550af014f
document and test escape characters in jsonencode
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28615
diff
changeset
|
48 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
49 %! assert (isequal (jsonencode ('\0\a\b\t\n\v\f\r'), ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
50 %! '"\\0\\a\\b\\t\\n\\v\\f\\r"')); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
51 %! % FIXME: Matlab produces a double-escaped string as above. |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
52 %! assert (isequal (jsonencode ("\a\b\t\n\v\f\r"), ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
53 %! '"\u0007\b\t\n\u000B\f\r"')); |
28657
174550af014f
document and test escape characters in jsonencode
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28615
diff
changeset
|
54 |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
55 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
56 %! data = [[['foo'; 'bar']; ['foo'; 'bar']], [['foo'; 'bar']; ['foo'; 'bar']]]; |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
57 %! exp = '["foofoo","barbar","foofoo","barbar"]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
58 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
59 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
60 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
61 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
62 %! data = cat (3, ['a', 'b'; 'c', 'd'], ['e', 'f'; 'g', 'h']); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
63 %! exp = '[["ab","ef"],["cd","gh"]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
64 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
65 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
66 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
67 %% Try different dimensions for the array |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
68 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
69 %! data = cat (3, ['a', 'b'; 'c', 'd'; '1', '2'], ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
70 %! ['e', 'f'; 'g', 'h'; '3', '4']); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
71 %! exp = '[["ab","ef"],["cd","gh"],["12","34"]]'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
72 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
73 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
74 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
75 %% Try higher dimensions for the array |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
76 %!testif HAVE_RAPIDJSON |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
77 %! charmat1 = cat (3, ['1', '3'; '5', '7'; '9', 'e'; 'f', 'g'], ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
78 %! ['2', '4'; '6', '8'; 'a', 'b'; 'c', 'd']); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
79 %! charmat2 = cat (3, ['1', '3'; '5', '7'; '9', 'e'; 'f', 'g'], ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
80 %! ['2', '4'; '6', '8'; 'a', 'b'; 'c', 'd']); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
81 %! data = cat (4, charmat1, charmat2); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
82 %! exp = [ '[[["13","13"],["24","24"]],[["57","57"],["68","68"]],', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
83 %! '[["9e","9e"],["ab","ab"]],[["fg","fg"],["cd","cd"]]]' ]; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
84 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
85 %! assert (isequal (obs, exp)); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
86 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
87 %% Try different dimensions for an array with one of its dimensions equals one |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
88 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
89 %! data = cat (4, ['a'; 'b'], ['c'; 'd']); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
90 %! exp = '[[["a","c"]],[["b","d"]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
91 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
92 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
93 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
94 %% High dimension, but still a vector, is reduced to a vector |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
95 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
96 %! data = cat (8, ['a'], ['c']); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
97 %! exp = '"ac"'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
98 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
99 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
100 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
101 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
102 %! data = cat (8, ['a'; 'b'; '1'], ['c'; 'd'; '2']); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
103 %! exp = '[[[[[[["a","c"]]]]]],[[[[[["b","d"]]]]]],[[[[[["1","2"]]]]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
104 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
105 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
106 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
107 %%% Test 3: encode numeric and logical arrays (with NaN and Inf) |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
108 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
109 %% Test simple vectors |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
110 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
111 %! assert (isequal (jsonencode ([]), '[]')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
112 %! assert (isequal (jsonencode ([1, 2, 3, 4]), '[1,2,3,4]')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
113 %! assert (isequal (jsonencode ([true; false; true]), '[true,false,true]')); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
114 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
115 %% Test arrays |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
116 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
117 %! data = [1, NaN; 3, 4]; |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
118 %! exp = '[[1,null],[3,4]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
119 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
120 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
121 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
122 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
123 %! data = cat (3, [NaN, 3; 5, Inf], [2, 4; -Inf, 8]); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
124 %! exp = '[[[null,2],[3,4]],[[5,null],[null,8]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
125 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
126 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
127 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
128 %% Customized encoding of Nan, Inf, -Inf |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
129 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
130 %! data = cat (3, [1, NaN; 5, 7], [2, Inf; 6, -Inf]); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
131 %! exp = '[[[1,2],[NaN,Infinity]],[[5,6],[7,-Infinity]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
132 %! obs = jsonencode (data, 'ConvertInfAndNaN', false); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
133 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
134 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
135 %% Try different dimensions for the array |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
136 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
137 %! data = cat (3, [1, 3; 5, 7], [2, 4; 6, 8], [-1, NaN; Inf, -Inf]); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
138 %! exp = '[[[1,2,-1],[3,4,NaN]],[[5,6,Infinity],[7,8,-Infinity]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
139 %! obs = jsonencode (data, 'ConvertInfAndNaN', false); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
140 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
141 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
142 %% Try different dimensions for the array with one of its dimensions equals one |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
143 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
144 %! data = cat (3, [1; 7; 11], [4; 8; 12]); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
145 %! exp = '[[[1,4]],[[7,8]],[[11,12]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
146 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
147 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
148 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
149 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
150 %! array1 = cat (3, [5, 7], [2, 4]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
151 %! array2 = cat (3, [-1, -3], [-2, -4]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
152 %! data = cat (4, array1, array2); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
153 %! exp = '[[[[5,-1],[2,-2]],[[7,-3],[4,-4]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
154 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
155 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
156 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
157 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
158 %! data = cat (4, [1, 3; 5, 7], [-1, -3; -5, -7]); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
159 %! exp = '[[[[1,-1]],[[3,-3]]],[[[5,-5]],[[7,-7]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
160 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
161 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
162 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
163 %% High-dimension vector is reduced to just a vector |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
164 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
165 %! data = ones ([1, 1, 1, 1, 1, 6]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
166 %! exp = '[1,1,1,1,1,1]'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
167 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
168 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
169 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
170 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
171 %! data = ones ([1, 2, 2, 2, 2]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
172 %! exp = '[[[[[1,1],[1,1]],[[1,1],[1,1]]],[[[1,1],[1,1]],[[1,1],[1,1]]]]]'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
173 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
174 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
175 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
176 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
177 %! data = ones ([1, 2, 2, 1, 2]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
178 %! exp = '[[[[[1,1]],[[1,1]]],[[[1,1]],[[1,1]]]]]'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
179 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
180 %! assert (isequal (obs, exp)); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
181 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
182 %!testif HAVE_RAPIDJSON |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
183 %! data = ones ([1, 2, 1, 2, 1, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
184 %! exp = '[[[[[[1,1]],[[1,1]]]],[[[[1,1]],[[1,1]]]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
185 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
186 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
187 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
188 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
189 %! data = ones ([1, 1, 2, 1, 2, 1, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
190 %! exp = '[[[[[[[1,1]],[[1,1]]]],[[[[1,1]],[[1,1]]]]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
191 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
192 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
193 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
194 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
195 %! data = ones ([1, 2, 2, 1, 1, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
196 %! exp = '[[[[[[1,1]]],[[[1,1]]]],[[[[1,1]]],[[[1,1]]]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
197 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
198 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
199 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
200 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
201 %! data = ones ([1, 2, 1, 3, 1, 1, 1, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
202 %! exp = ['[[[[[[[[1,1]]]],[[[[1,1]]]],[[[[1,1]]]]]],[[[[[[1,1]]]],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
203 %! '[[[[1,1]]]],[[[[1,1]]]]]]]]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
204 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
205 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
206 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
207 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
208 %! data = ones ([1, 1, 1, 1, 2, 1, 1, 1, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
209 %! exp = '[[[[[[[[[1,1]]]],[[[[1,1]]]]]]]]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
210 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
211 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
212 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
213 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
214 %! data = ones ([1, 3, 2, 1, 1, 2, 1, 2, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
215 %! exp = ['[[[[[[[[[1,1],[1,1]]],[[[1,1],[1,1]]]]]],[[[[[[1,1],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
216 %! '[1,1]]],[[[1,1],[1,1]]]]]]],[[[[[[[1,1],[1,1]]],[[[1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
217 %! '1],[1,1]]]]]],[[[[[[1,1],[1,1]]],[[[1,1],[1,1]]]]]]],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
218 %! '[[[[[[[1,1],[1,1]]],[[[1,1],[1,1]]]]]],[[[[[[1,1],[1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
219 %! '1]]],[[[1,1],[1,1]]]]]]]]]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
220 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
221 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
222 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
223 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
224 %! data = ones ([1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
225 %! exp = ['[[[[[[[[[[[[[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
226 %! '[[[[[[[[1,1]]]]]]]]],[[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
227 %! ']]],[[[[[[[[1,1]]]]]]]]]],[[[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
228 %! ']]]]]]],[[[[[[[[1,1]]]]]]]]],[[[[[[[[[1,1]]]]]]]],[[[[[[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
229 %! '[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]]]]]]],[[[[[[[[[[[[[1,1]', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
230 %! ']]]]]]],[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]]],[[[[[[[[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
231 %! '[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]]]],[[[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
232 %! '[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]]],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
233 %! '[[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]]]]]]],[[[[[[[[1,1]]', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
234 %! ']]]]]]]]]]]]]]]]]]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
235 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
236 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
237 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
238 %% Try higher dimensions for the array |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
239 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
240 %! var1 = cat (3, [1, 3; 5, 7; 9, 11; 13, 15], [2, 4; 6, 8; 10, 12; 14, 16]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
241 %! var2 = cat (3, [-1, -3; -5, -7; -9, -11; -13, -15], ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
242 %! [-2, -4; -6, -8; -10, -12; -14, -16]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
243 %! data = cat (4, var1, var2); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
244 %! exp = ['[[[[1,-1],[2,-2]],[[3,-3],[4,-4]]],[[[5,-5],[6,-6]],[[7,-7],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
245 %! '[8,-8]]],[[[9,-9],[10,-10]],[[11,-11],[12,-12]]],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
246 %! '[[[13,-13],[14,-14]],[[15,-15],[16,-16]]]]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
247 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
248 %! assert (isequal (obs, exp)); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
249 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
250 %% Try logical array (tests above were all with numeric data) |
28802 | 251 |
252 %% 2-D logical array | |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
253 %!testif HAVE_RAPIDJSON |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
254 %! data = [true, false; true, false; true, false]; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
255 %! exp = '[[true,false],[true,false],[true,false]]'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
256 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
257 %! assert (isequal (obs, exp)); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
258 |
28802 | 259 %% N-D logical array |
29493
de40b395b9c3
update bug status in test suite
John W. Eaton <jwe@octave.org>
parents:
29449
diff
changeset
|
260 %!testif HAVE_RAPIDJSON <*59198> |
28802 | 261 %! data = true (2,2,2); |
262 %! data(1,1,2) = false; | |
263 %! exp = '[[[true,false],[true,true]],[[true,true],[true,true]]]'; | |
264 %! obs = jsonencode (data); | |
265 %! assert (isequal (obs, exp)); | |
266 | |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
267 %%% Test 4: encode containers.Map |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
268 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
269 %% KeyType must be char to encode objects of containers.Map |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
270 %!testif HAVE_RAPIDJSON |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
271 %! assert (isequal (jsonencode (containers.Map ('1', [1, 2, 3])), ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
272 %! '{"1":[1,2,3]}')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
273 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
274 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
275 %! data = containers.Map ({'foo'; 'bar'; 'baz'}, [1, 2, 3]); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
276 %! exp = '{"bar":2,"baz":3,"foo":1}'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
277 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
278 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
279 |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
280 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
281 %! data = containers.Map ({'foo'; 'bar'; 'baz'}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
282 %! {{1, 'hello', NaN}, true, [2, 3, 4]}); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
283 %! exp = '{"bar":true,"baz":[2,3,4],"foo":[1,"hello",NaN]}'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
284 %! obs = jsonencode (data, 'ConvertInfAndNaN', false); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
285 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
286 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
287 %%% Test 5: encode scalar structs |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
288 |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
289 %% Check the encoding of Boolean, Number, and String values inside a struct |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
290 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
291 %! data = struct ('number', 3.14, 'string', 'foobar', 'boolean', false); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
292 %! exp = '{"number":3.14,"string":"foobar","boolean":false}'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
293 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
294 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
295 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
296 %% Check the encoding of NaN, NA, Inf, and -Inf values inside a struct |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
297 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
298 %! % Octave-only test because of NA value |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
299 %! data = struct ('numericArray', [7, NaN, NA, Inf, -Inf]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
300 %! exp = '{"numericArray":[7,null,null,null,null]}'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
301 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
302 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
303 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
304 %% Customized encoding of Nan, NA, Inf, -Inf |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
305 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
306 %! data = struct ('numericArray', [7, NaN, NA, Inf, -Inf]); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
307 %! exp = '{"numericArray":[7,NaN,NaN,Infinity,-Infinity]}'; |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
308 %! obs = jsonencode (data, 'ConvertInfAndNaN', false); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
309 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
310 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
311 %% Check the encoding of structs inside a struct |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
312 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
313 %! data = struct ('object', struct ('field1', 1, 'field2', 2, 'field3', 3)); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
314 %! exp = '{"object":{"field1":1,"field2":2,"field3":3}}'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
315 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
316 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
317 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
318 %% Check the encoding of empty structs and empty arrays inside a struct |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
319 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
320 %! data = struct ('a', Inf, 'b', [], 'c', struct ()); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
321 %! exp = '{"a":null,"b":[],"c":{}}'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
322 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
323 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
324 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
325 %% a big test |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
326 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
327 %! var1 = struct ('para', ['A meta-markup language, used to create ' ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
328 %! 'markup languages such as DocBook.'], ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
329 %! 'GlossSeeAlso', {{'GML'; 'XML'}}); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
330 %! var2 = struct ('ID', 'SGML', 'SortAs', 'SGML', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
331 %! 'GlossTerm', 'Standard Generalized Markup Language', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
332 %! 'Acronym', 'SGML', 'Abbrev', 'ISO 8879:1986', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
333 %! 'GlossDef', var1, 'GlossSee', 'markup'); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
334 %! data = struct ('glossary', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
335 %! struct ('title', 'example glossary', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
336 %! 'GlossDiv', struct ('title', 'S', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
337 %! 'GlossList', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
338 %! struct ('GlossEntry', var2)))); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
339 %! exp = ['{' , ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
340 %! '"glossary":{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
341 %! '"title":"example glossary",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
342 %! '"GlossDiv":{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
343 %! '"title":"S",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
344 %! '"GlossList":{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
345 %! '"GlossEntry":{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
346 %! '"ID":"SGML",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
347 %! '"SortAs":"SGML",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
348 %! '"GlossTerm":"Standard Generalized Markup Language",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
349 %! '"Acronym":"SGML",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
350 %! '"Abbrev":"ISO 8879:1986",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
351 %! '"GlossDef":{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
352 %! '"para":"A meta-markup language, ', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
353 %! 'used to create markup languages such as DocBook.",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
354 %! '"GlossSeeAlso":["GML","XML"]', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
355 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
356 %! '"GlossSee":"markup"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
357 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
358 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
359 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
360 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
361 %! '}']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
362 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
363 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
364 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
365 %%% Test 6: Encode struct arrays |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
366 |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
367 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
368 %! data = struct ('structarray', struct ('a', {1; 3}, 'b', {2; 4})); |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
369 %! exp = '{"structarray":[{"a":1,"b":2},{"a":3,"b":4}]}'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
370 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
371 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
372 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
373 %% another big Test |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
374 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
375 %! var1 = struct ('id', {0; 1; 2}, 'name', {'Collins'; 'Hays'; 'Griffin'}); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
376 %! var2 = struct ('id', {0; 1; 2}, 'name', {'Osborn'; 'Mcdowell'; 'Jewel'}); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
377 %! var3 = struct ('id', {0; 1; 2}, 'name', {'Socorro'; 'Darla'; 'Leanne'}); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
378 %! data = struct (... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
379 %! 'x_id', {'5ee28980fc9ab3'; '5ee28980dd7250'; '5ee289802422ac'}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
380 %! 'index', {0; 1; 2}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
381 %! 'guid', {'b229d1de-f94a'; '39cee338-01fb'; '3db8d55a-663e'}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
382 %! 'latitude', {-17.124067; 13.205994; -35.453456}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
383 %! 'longitude', {-61.161831; -37.276231; 14.080287}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
384 %! 'friends', {var1; var2; var3}); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
385 %! exp = ['[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
386 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
387 %! '"x_id":"5ee28980fc9ab3",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
388 %! '"index":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
389 %! '"guid":"b229d1de-f94a",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
390 %! '"latitude":-17.124067,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
391 %! '"longitude":-61.161831,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
392 %! '"friends":[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
393 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
394 %! '"id":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
395 %! '"name":"Collins"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
396 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
397 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
398 %! '"id":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
399 %! '"name":"Hays"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
400 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
401 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
402 %! '"id":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
403 %! '"name":"Griffin"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
404 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
405 %! ']', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
406 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
407 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
408 %! '"x_id":"5ee28980dd7250",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
409 %! '"index":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
410 %! '"guid":"39cee338-01fb",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
411 %! '"latitude":13.205994,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
412 %! '"longitude":-37.276231,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
413 %! '"friends":[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
414 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
415 %! '"id":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
416 %! '"name":"Osborn"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
417 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
418 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
419 %! '"id":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
420 %! '"name":"Mcdowell"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
421 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
422 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
423 %! '"id":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
424 %! '"name":"Jewel"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
425 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
426 %! ']', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
427 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
428 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
429 %! '"x_id":"5ee289802422ac",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
430 %! '"index":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
431 %! '"guid":"3db8d55a-663e",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
432 %! '"latitude":-35.453456,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
433 %! '"longitude":14.080287,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
434 %! '"friends":[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
435 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
436 %! '"id":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
437 %! '"name":"Socorro"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
438 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
439 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
440 %! '"id":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
441 %! '"name":"Darla"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
442 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
443 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
444 %! '"id":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
445 %! '"name":"Leanne"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
446 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
447 %! ']', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
448 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
449 %! ']']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
450 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
451 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
452 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
453 %%% Test 7: encode cell arrays |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
454 |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
455 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
456 %! assert (isequal (jsonencode ({}), '[]')); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
457 %! assert (isequal (jsonencode ({5}), '[5]')); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
458 %! assert (isequal (jsonencode ({'hello there'}), '["hello there"]')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
459 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
460 %% Logical cell arrays |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
461 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
462 %! data = {'true', 'true'; 'false', 'true'}; |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
463 %! exp = '["true","false","true","true"]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
464 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
465 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
466 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
467 %% Cell array of character vectors |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
468 %!testif HAVE_RAPIDJSON |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
469 %! data = {'foo'; 'bar'; {'foo'; 'bar'}}; |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
470 %! exp = '["foo","bar",["foo","bar"]]'; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
471 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
472 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
473 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
474 %% cell array of structs & a big test |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
475 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
476 %! var1 = struct ('x_id', '5ee28980fc9ab3', 'index', 0, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
477 %! 'guid', 'b229d1de-f94a', 'latitude', -17.124067, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
478 %! 'longitude', -61.161831, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
479 %! 'friends', struct ('id', {0; 1; 2}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
480 %! 'name', {'Collins'; 'Hays'; 'Griffin'})); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
481 %! var2 = struct ('numericArray', {{'str'; 5; []}}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
482 %! 'nonnumericArray', {[1; 2; NaN]}); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
483 %! var3 = struct ('firstName', 'John', 'lastName', 'Smith', 'age', 25, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
484 %! 'address', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
485 %! struct ('streetAddress', '21 2nd Street', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
486 %! 'city', 'New York', 'state', 'NY'), ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
487 %! 'phoneNumber', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
488 %! struct ('type', 'home', 'number', '212 555-1234')); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
489 %! data = {var1; var2; var3}; |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
490 %! exp = ['[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
491 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
492 %! '"x_id":"5ee28980fc9ab3",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
493 %! '"index":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
494 %! '"guid":"b229d1de-f94a",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
495 %! '"latitude":-17.124067,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
496 %! '"longitude":-61.161831,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
497 %! '"friends":[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
498 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
499 %! '"id":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
500 %! '"name":"Collins"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
501 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
502 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
503 %! '"id":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
504 %! '"name":"Hays"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
505 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
506 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
507 %! '"id":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
508 %! '"name":"Griffin"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
509 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
510 %! ']', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
511 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
512 %! '{"numericArray":["str",5,[]],"nonnumericArray":[1,2,null]},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
513 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
514 %! '"firstName":"John",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
515 %! '"lastName":"Smith",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
516 %! '"age":25,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
517 %! '"address":', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
518 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
519 %! '"streetAddress":"21 2nd Street",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
520 %! '"city":"New York",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
521 %! '"state":"NY"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
522 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
523 %! '"phoneNumber":', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
524 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
525 %! '"type":"home",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
526 %! '"number":"212 555-1234"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
527 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
528 %! '}]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
529 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
530 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
531 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
532 %% cell array of diferrent types & Customized encoding of Nan, Inf, -Inf |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
533 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
534 %! var = struct ('x_id', '5ee28980dd7250', 'index', 1, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
535 %! 'guid', '39cee338-01fb', 'latitude', 13.205994, ... |
30090
1575b324613d
maint: Make JSON tests more Matlab compatible.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
29493
diff
changeset
|
536 %! 'longitude', -37.276231, ... |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
537 %! 'friends', struct ('id', {0; 1; 2}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
538 %! 'name', {'Osborn'; 'Mcdowell'; 'Jewel'})); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
539 %! data = {NaN; true; Inf; 2531.023; 'hello there'; var}; |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
540 %! exp = ['[NaN,true,Infinity,2531.023,"hello there",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
541 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
542 %! '"x_id":"5ee28980dd7250",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
543 %! '"index":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
544 %! '"guid":"39cee338-01fb",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
545 %! '"latitude":13.205994,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
546 %! '"longitude":-37.276231,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
547 %! '"friends":[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
548 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
549 %! '"id":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
550 %! '"name":"Osborn"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
551 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
552 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
553 %! '"id":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
554 %! '"name":"Mcdowell"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
555 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
556 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
557 %! '"id":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
558 %! '"name":"Jewel"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
559 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
560 %! ']', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
561 %! '}]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
562 %! obs = jsonencode (data, 'ConvertInfAndNaN', false); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
563 %! assert (isequal (obs, exp)); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
564 |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
565 %% a big example |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
566 %!testif HAVE_RAPIDJSON |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
567 %! var1 = struct ('x_id', '5ee28980fc9ab3', 'index', 0, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
568 %! 'guid', 'b229d1de-f94a', 'latitude', -17.124067, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
569 %! 'longitude', -61.161831, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
570 %! 'friends', struct ('id', {0; 1; 2}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
571 %! 'name', {'Collins'; 'Hays'; 'Griffin'})); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
572 %! var2 = struct ('numericArray', {{'str'; 5; -Inf}}, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
573 %! 'nonnumericArray', {[1; 2; NaN]}); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
574 %! var3 = struct ('firstName', 'John', 'lastName', 'Smith', 'age', 25, ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
575 %! 'address', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
576 %! struct ('streetAddress', '21 2nd Street', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
577 %! 'city', 'New York', 'state', 'NY'), ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
578 %! 'phoneNumber', ... |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
579 %! struct ('type', 'home', 'number', '212 555-1234')); |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
580 %! data = {{'str'; Inf; {}}; [1; 2; NaN]; {'foo'; 'bar'; {'foo'; 'bar'}}; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
581 %! cat(3, [1, 3; 5, 7], [2, 4; 6, 8]); {var1; var2 ;var3}}; |
28615
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
582 %! exp = ['[["str",null,[]],[1,2,null],["foo","bar",["foo","bar"]],', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
583 %! '[[[1,2],[3,4]],[[5,6],[7,8]]],' , ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
584 %! '[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
585 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
586 %! '"x_id":"5ee28980fc9ab3",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
587 %! '"index":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
588 %! '"guid":"b229d1de-f94a",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
589 %! '"latitude":-17.124067,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
590 %! '"longitude":-61.161831,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
591 %! '"friends":[', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
592 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
593 %! '"id":0,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
594 %! '"name":"Collins"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
595 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
596 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
597 %! '"id":1,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
598 %! '"name":"Hays"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
599 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
600 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
601 %! '"id":2,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
602 %! '"name":"Griffin"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
603 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
604 %! ']', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
605 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
606 %! '{"numericArray":["str",5,null],"nonnumericArray":[1,2,null]},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
607 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
608 %! '"firstName":"John",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
609 %! '"lastName":"Smith",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
610 %! '"age":25,', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
611 %! '"address":', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
612 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
613 %! '"streetAddress":"21 2nd Street",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
614 %! '"city":"New York",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
615 %! '"state":"NY"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
616 %! '},', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
617 %! '"phoneNumber":', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
618 %! '{', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
619 %! '"type":"home",', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
620 %! '"number":"212 555-1234"', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
621 %! '}', ... |
5da49e37a6c9
New functions jsondecode and jsonencode (bug #53100).
Abdallah Elshamy <abdallah.k.elshamy@gmail.com>
parents:
diff
changeset
|
622 %! '}]]']; |
28761
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
623 %! obs = jsonencode (data); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
624 %! assert (isequal (obs, exp)); |
b5461b1dc0ca
Review jsonecode/jsondecode BIST tests.
Rik <rik@octave.org>
parents:
28657
diff
changeset
|
625 |
30090
1575b324613d
maint: Make JSON tests more Matlab compatible.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
29493
diff
changeset
|
626 %% Just basic tests to ensure option "PrettyPrint" is functional. |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
627 %!testif HAVE_RAPIDJSON_PRETTYWRITER |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
628 %! data = {'Hello'; 'World!'}; |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
629 %! exp = do_string_escapes ([ '[\n', ... |
29449
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
630 %! ' "Hello",\n', ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
631 %! ' "World!"\n', ... |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
632 %! ']' ]); |
29449
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
633 %! obs = jsonencode (data, 'PrettyPrint', true); |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
634 %! assert (isequal (obs, exp)); |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
635 %! |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
636 %! exp = '["Hello","World!"]'; |
29449
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
637 %! obs = jsonencode (data, 'PrettyPrint', false); |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
638 %! assert (isequal (obs, exp)); |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
639 |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
640 %!testif HAVE_RAPIDJSON_PRETTYWRITER |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
641 %! data = [1, 2; 3, 4]; |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
642 %! exp = do_string_escapes ([ ... |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
643 %! '[\n' ... |
29449
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
644 %! ' [\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
645 %! ' 1,\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
646 %! ' 2\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
647 %! ' ],\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
648 %! ' [\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
649 %! ' 3,\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
650 %! ' 4\n' ... |
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
651 %! ' ]\n' ... |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
652 %! ']' ]); |
29449
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
653 %! obs = jsonencode (data, 'PrettyPrint', true); |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
654 %! assert (isequal (obs, exp)); |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
655 %! |
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
656 %! exp = '[[1,2],[3,4]]'; |
29449
3a680307d4aa
jsonencode.cc: Make pretty formating compatible with MATLAB (bug #60259).
Abdallah-Elshamy <abdallah.k.elshamy@gmail.com>
parents:
28802
diff
changeset
|
657 %! obs = jsonencode (data, 'PrettyPrint', false); |
28792
92495ca48bd7
test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121).
Rik <rik@octave.org>
parents:
28761
diff
changeset
|
658 %! assert (isequal (obs, exp)); |