1 #!/bin/ksh 2 # 3 # This file and its contents are supplied under the terms of the 4 # Common Development and Distribution License ("CDDL"), version 1.0. 5 # You may only use this file in accordance with the terms of version 6 # 1.0 of the CDDL. 7 # 8 # A full copy of the text of the CDDL should have accompanied this 9 # source. A copy of the CDDL is also available via the Internet at 10 # http://www.illumos.org/license/CDDL. 11 # 12 13 # 14 # Copyright (c) 2014, Joyent, Inc. 15 # 16 17 DIR=$(dirname $(whence $0)) 18 . ${DIR}/json_common 19 20 BASELINE="$(cat <<EOF 21 {\ 22 "a":{},\ 23 "b":{\ 24 "name":"Roger","age":35\ 25 },\ 26 "c":{\ 27 "d":{\ 28 "name":"Stephen","age":27},\ 29 "e":{\ 30 "name":"Roberta","age":43,"pet":{\ 31 "name":"Mister Bumberscratch",\ 32 "species":"cat",\ 33 "alive":true,\ 34 "available_legs":[1,2,3,4]\ 35 }\ 36 }\ 37 }\ 38 } 39 EOF)" 40 41 OUTPUT="$(${DIR}/../../bin/print_json <<'EOF' 42 add_object "a"; 43 end; 44 45 add_object "b"; 46 add_string "name" "Roger"; 47 add_uint16 "age" "35"; 48 end; 49 50 add_object "c"; 51 add_object "d"; 52 add_string "name" "Stephen"; 53 add_uint16 "age" "27"; 54 end; 55 add_object "e"; 56 add_string "name" "Roberta"; 57 add_uint16 "age" "43"; 58 add_object "pet"; 59 add_string "name" "Mister Bumberscratch"; 60 add_string "species" "cat"; 61 add_boolean_value "alive" "true"; 62 add_uint8_array "available_legs" "1" "2" "3" "4"; 63 end; 64 end; 65 end; 66 EOF)" 67 68 complete