From 7570e8a0af6b4d8ea28d422cd8e4645fb23300af Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 3 May 2025 20:02:07 +0900 Subject: string literals --- tests/018.sh | 22 ++++++++++++++++++++++ tests/019.sh | 28 ++++++++++++++++++++++++++++ tests/test_output.sh | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tests/018.sh create mode 100644 tests/019.sh (limited to 'tests') diff --git a/tests/018.sh b/tests/018.sh new file mode 100644 index 0000000..eb86a5e --- /dev/null +++ b/tests/018.sh @@ -0,0 +1,22 @@ +set -e + +bash ../../test_output.sh "" <<'EOF' +int main() { + ""; + return 0; +} +EOF + +bash ../../test_output.sh "" <<'EOF' +int main() { + "abc"; + return 0; +} +EOF + +bash ../../test_output.sh "" <<'EOF' +int main() { + "\"foo\"bar\\\n\""; + return 0; +} +EOF diff --git a/tests/019.sh b/tests/019.sh new file mode 100644 index 0000000..d31f154 --- /dev/null +++ b/tests/019.sh @@ -0,0 +1,28 @@ +set -e + +bash ../../test_output.sh "" <<'EOF' +int printf(); + +int main() { + printf(""); + return 0; +} +EOF + +bash ../../test_output.sh "Hello, World!" <<'EOF' +int printf(); + +int main() { + printf("Hello, World!\n"); + return 0; +} +EOF + +bash ../../test_output.sh '"Hello, World!"' <<'EOF' +int printf(); + +int main() { + printf("\"Hello, World!\"\n"); + return 0; +} +EOF diff --git a/tests/test_output.sh b/tests/test_output.sh index f4a4a20..2c8fb29 100644 --- a/tests/test_output.sh +++ b/tests/test_output.sh @@ -16,7 +16,7 @@ fi expected="$1" -if [[ "$output" -ne "$expected" ]]; then +if [[ "$output" != "$expected" ]]; then echo "invalid output: expected '$expected', but got '$output'" >&2 exit 1 fi -- cgit v1.2.3-70-g09d2