diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-09-03 19:03:48 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-09-10 23:51:52 +0900 |
| commit | 9a2fbf6f4854b1f2cfd5979b91d5b3d7e183d487 (patch) | |
| tree | 5fc0c3e0c3cd7159119d0560b5061b3545216f35 /tests/test_if_elif_else.sh | |
| parent | b447618c33683b947c1fb26f1e7cd9033e20e5cb (diff) | |
| download | ducc-9a2fbf6f4854b1f2cfd5979b91d5b3d7e183d487.tar.gz ducc-9a2fbf6f4854b1f2cfd5979b91d5b3d7e183d487.tar.zst ducc-9a2fbf6f4854b1f2cfd5979b91d5b3d7e183d487.zip | |
test: merge test scripts
Diffstat (limited to 'tests/test_if_elif_else.sh')
| -rw-r--r-- | tests/test_if_elif_else.sh | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/tests/test_if_elif_else.sh b/tests/test_if_elif_else.sh new file mode 100644 index 0000000..a07dd5c --- /dev/null +++ b/tests/test_if_elif_else.sh @@ -0,0 +1,193 @@ +cat <<'EOF' > expected +1 +EOF + +test_diff <<'EOF' +int printf(); + +#define A +#define B + +int main() { +#if defined A && defined(B) + printf("1\n"); +#else + printf("2\n"); +#endif +} +EOF + +cat <<'EOF' > expected +1 +1 +2 +3 +EOF + +test_diff <<'EOF' +int printf(); + +int main() { +#if 1 + printf("1\n"); +#elif 1 + printf("2\n"); +#else + printf("3\n"); +#endif + +#if 1 + printf("1\n"); +#elif 0 + printf("2\n"); +#else + printf("3\n"); +#endif + +#if 0 + printf("1\n"); +#elif 1 + printf("2\n"); +#else + printf("3\n"); +#endif + +#if 0 + printf("1\n"); +#elif 0 + printf("2\n"); +#else + printf("3\n"); +#endif +} +EOF + +cat <<'EOF' > expected +1 +1 +2 +2 +3 +4 +3 +4 +EOF + +test_diff <<'EOF' +int printf(); + +int main() { +#if 1 +# if 1 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 1 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 1 +# if 1 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 0 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 1 +# if 0 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 1 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 1 +# if 0 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 0 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 0 +# if 1 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 1 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 0 +# if 1 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 0 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 0 +# if 0 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 1 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif + +#if 0 +# if 0 + printf("1\n"); +# else + printf("2\n"); +# endif +#else +# if 0 + printf("3\n"); +# else + printf("4\n"); +# endif +#endif +} +EOF + |
