changeset 28792:92495ca48bd7

test: Add tests for jsonencode() with "PrettyWriter" true (bug #59121). * jsonencode_BIST.tst: Add tests for jsonencode() with "PrettyWriter" true.
author Rik <rik@octave.org>
date Thu, 24 Sep 2020 16:55:54 -0700
parents d6eb50288af7
children 3bd58f479489
files test/json/jsonencode_BIST.tst
diffstat 1 files changed, 33 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/test/json/jsonencode_BIST.tst	Thu Sep 24 15:31:36 2020 -0700
+++ b/test/json/jsonencode_BIST.tst	Thu Sep 24 16:55:54 2020 -0700
@@ -612,5 +612,36 @@
 %! obs  = jsonencode (data);
 %! assert (isequal (obs, exp));
 
-%% FIXME: need tests where "PrettyWriter" is true. 
-%% %!testif HAVE_RAPIDJSON_PRETTYWRITER
+%% Just basic tests to ensure option "PrettyWriter" is functional. 
+%!testif HAVE_RAPIDJSON_PRETTYWRITER
+%! data = {'Hello'; 'World!'};
+%! exp  = do_string_escapes ([ '[\n', ...
+%!                             '    "Hello",\n', ...
+%!                             '    "World!"\n', ...
+%!                             ']' ]);
+%! obs  = jsonencode (data, 'PrettyWriter', true);
+%! assert (isequal (obs, exp));
+%!
+%! exp  = '["Hello","World!"]';
+%! obs  = jsonencode (data, 'PrettyWriter', false);
+%! assert (isequal (obs, exp));
+
+%!testif HAVE_RAPIDJSON_PRETTYWRITER
+%! data = [1, 2; 3, 4];
+%! exp  = do_string_escapes ([ ...
+%! '[\n'                       ...
+%! '    [\n'                   ...
+%! '        1,\n'              ...
+%! '        2\n'               ...
+%! '    ],\n'                  ...
+%! '    [\n'                   ...
+%! '        3,\n'              ...
+%! '        4\n'               ...
+%! '    ]\n'                   ...
+%! ']' ]);
+%! obs  = jsonencode (data, 'PrettyWriter', true);
+%! assert (isequal (obs, exp));
+%!
+%! exp  = '[[1,2],[3,4]]';
+%! obs  = jsonencode (data, 'PrettyWriter', false);
+%! assert (isequal (obs, exp));