1*37c79205SJoshua M. Clulow#!/bin/ksh 2*37c79205SJoshua M. Clulow# 3*37c79205SJoshua M. Clulow# This file and its contents are supplied under the terms of the 4*37c79205SJoshua M. Clulow# Common Development and Distribution License ("CDDL"), version 1.0. 5*37c79205SJoshua M. Clulow# You may only use this file in accordance with the terms of version 6*37c79205SJoshua M. Clulow# 1.0 of the CDDL. 7*37c79205SJoshua M. Clulow# 8*37c79205SJoshua M. Clulow# A full copy of the text of the CDDL should have accompanied this 9*37c79205SJoshua M. Clulow# source. A copy of the CDDL is also available via the Internet at 10*37c79205SJoshua M. Clulow# http://www.illumos.org/license/CDDL. 11*37c79205SJoshua M. Clulow# 12*37c79205SJoshua M. Clulow 13*37c79205SJoshua M. Clulow# 14*37c79205SJoshua M. Clulow# Copyright (c) 2014, Joyent, Inc. 15*37c79205SJoshua M. Clulow# 16*37c79205SJoshua M. Clulow 17*37c79205SJoshua M. ClulowDIR=$(dirname $(whence $0)) 18*37c79205SJoshua M. Clulow. ${DIR}/json_common 19*37c79205SJoshua M. Clulow 20*37c79205SJoshua M. Clulow# 21*37c79205SJoshua M. Clulow# This test checks UTF-8 parsing behaviour 22*37c79205SJoshua M. Clulow# 23*37c79205SJoshua M. Clulowexport LC_ALL="en_US.UTF-8" 24*37c79205SJoshua M. Clulowexport LANG="${LANG}" 25*37c79205SJoshua M. Clulow 26*37c79205SJoshua M. ClulowBASELINE="$(cat <<EOF 27*37c79205SJoshua M. Clulow{\ 28*37c79205SJoshua M. Clulow"blank":"",\ 29*37c79205SJoshua M. Clulow"":"blank key",\ 30*37c79205SJoshua M. Clulow" ":"whitespace key",\ 31*37c79205SJoshua M. Clulow"\ttab\t":"tab key",\ 32*37c79205SJoshua M. Clulow"escapes":"escape \u001b newline \n cr \r backslash \\\\ quote \"",\ 33*37c79205SJoshua M. Clulow"escape array":[\ 34*37c79205SJoshua M. Clulow"escape \u001b",\ 35*37c79205SJoshua M. Clulow"alarm \u0007",\ 36*37c79205SJoshua M. Clulow"backspace \b",\ 37*37c79205SJoshua M. Clulow"formfeed \f",\ 38*37c79205SJoshua M. Clulow"newline \n",\ 39*37c79205SJoshua M. Clulow"return \r",\ 40*37c79205SJoshua M. Clulow"tab \t",\ 41*37c79205SJoshua M. Clulow"vertical tab \u000b",\ 42*37c79205SJoshua M. Clulow"black circle (UTF-8) \u25cf"\ 43*37c79205SJoshua M. Clulow]\ 44*37c79205SJoshua M. Clulow} 45*37c79205SJoshua M. ClulowEOF)" 46*37c79205SJoshua M. Clulow 47*37c79205SJoshua M. ClulowOUTPUT="$(${DIR}/../../bin/print_json <<'EOF' 48*37c79205SJoshua M. Clulowadd_string "blank" ""; 49*37c79205SJoshua M. Clulowadd_string "" "blank key"; 50*37c79205SJoshua M. Clulowadd_string " " "whitespace key"; 51*37c79205SJoshua M. Clulowadd_string " tab " "tab key"; 52*37c79205SJoshua M. Clulowadd_string "escapes" "escape \x1b newline \n cr \r backslash \\ quote \""; 53*37c79205SJoshua M. Clulowadd_string_array "escape array" 54*37c79205SJoshua M. Clulow "escape \x1b" 55*37c79205SJoshua M. Clulow "alarm \a" 56*37c79205SJoshua M. Clulow "backspace \b" 57*37c79205SJoshua M. Clulow "formfeed \f" 58*37c79205SJoshua M. Clulow "newline \n" 59*37c79205SJoshua M. Clulow "return \r" 60*37c79205SJoshua M. Clulow "tab \t" 61*37c79205SJoshua M. Clulow "vertical tab \v" 62*37c79205SJoshua M. Clulow "black circle (UTF-8) \xe2\x97\x8f"; 63*37c79205SJoshua M. ClulowEOF)" 64*37c79205SJoshua M. Clulow 65*37c79205SJoshua M. Clulowcomplete 66