Browse Source

Added a test for the space after \n issue with flags=JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY|(JSON_C_TO_STRING_PRETTY_TAB) used in json_object_array_to_json_string

tags/json-c-0.14-20200419
Darjan Krijan 6 years ago
parent
commit
b0bceaa8bf
4 changed files with 91 additions and 0 deletions
  1. +1
    -0
      tests/Makefile.am
  2. +34
    -0
      tests/test_string_spaced_pretty.c
  3. +55
    -0
      tests/test_string_spaced_pretty.expected
  4. +1
    -0
      tests/test_string_spaced_pretty.test

+ 1
- 0
tests/Makefile.am View File

@@ -27,6 +27,7 @@ TESTS+= test_set_value.test
TESTS+= test_visit.test
TESTS+= test_json_pointer.test
TESTS+= test_int_add.test
TESTS+= test_string_spaced_pretty.test

check_PROGRAMS=
check_PROGRAMS += $(TESTS:.test=)


+ 34
- 0
tests/test_string_spaced_pretty.c View File

@@ -0,0 +1,34 @@
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <assert.h>

#include "json.h"

int main(int argc, char **argv)
{
json_object *j;

j = json_tokener_parse("/* more difficult test case */"
"{ \"glossary\": { \"title\": \"example glossary\", \"GlossDiv\": { \"title\": \"S\", \"GlossList\": [ { \"ID\": \"SGML\", \"SortAs\": \"SGML\", \"GlossTerm\": \"Standard Generalized Markup Language\", \"Acronym\": \"SGML\", \"Abbrev\": \"ISO 8879:1986\", \"GlossDef\": \"A meta-markup language, used to create markup languages such as DocBook.\", \"GlossSeeAlso\": [\"GML\", \"XML\", \"markup\"] } ] } } }");

printf("flags = 0:\n%s\n\n",
json_object_to_json_string_ext(j, 0));

printf("flags = JSON_C_TO_STRING_SPACED:\n%s\n\n",
json_object_to_json_string_ext(j, JSON_C_TO_STRING_SPACED));

printf("flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY:\n%s\n\n",
json_object_to_json_string_ext(j, JSON_C_TO_STRING_SPACED
|JSON_C_TO_STRING_PRETTY));

printf("flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY|JSON_C_TO_STRING_PRETTY_TAB:\n%s\n",
json_object_to_json_string_ext(j, JSON_C_TO_STRING_SPACED
|JSON_C_TO_STRING_PRETTY
|JSON_C_TO_STRING_PRETTY_TAB));

json_object_put(j);

return EXIT_SUCCESS;
}

+ 55
- 0
tests/test_string_spaced_pretty.expected View File

@@ -0,0 +1,55 @@
flags = 0:
{"glossary":{"title":"example glossary","GlossDiv":{"title":"S","GlossList":[{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","GlossDef":"A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso":["GML","XML","markup"]}]}}}

flags = JSON_C_TO_STRING_SPACED:
{ "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": [ { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": [ "GML", "XML", "markup" ] } ] } } }

flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": [
{
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML",
"markup"
]
}
]
}
}
}

flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY|JSON_C_TO_STRING_PRETTY_TAB:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": [
{
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML",
"markup"
]
}
]
}
}
}

+ 1
- 0
tests/test_string_spaced_pretty.test View File

@@ -0,0 +1 @@
test_basic.test

Loading…
Cancel
Save