aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEvan Haas <evan@lagerdata.com>2022-09-05 21:32:20 -0700
committerVeikka Tuominen <git@vexu.eu>2022-09-07 14:46:58 +0300
commite283a40d17bbbeeafda84fad9b75bbc458950934 (patch)
tree8750bfe9dfcda5321848d2d055510aea821f054b /test
parente2bb92b2e27dc54852a0227345e294ae383358fd (diff)
downloadzig-e283a40d17bbbeeafda84fad9b75bbc458950934.tar.gz
zig-e283a40d17bbbeeafda84fad9b75bbc458950934.zip
translate-c: convert tabs to `\t` in object-like macro string literals
Closes #12549
Diffstat (limited to 'test')
-rw-r--r--test/behavior/translate_c_macros.h2
-rw-r--r--test/behavior/translate_c_macros.zig11
2 files changed, 13 insertions, 0 deletions
diff --git a/test/behavior/translate_c_macros.h b/test/behavior/translate_c_macros.h
index 222a7ded6c..439577fecc 100644
--- a/test/behavior/translate_c_macros.h
+++ b/test/behavior/translate_c_macros.h
@@ -50,3 +50,5 @@ typedef _Bool uintptr_t;
#define CAST_TO_UINTPTR(X) (uintptr_t)(X)
#define LARGE_INT 18446744073709550592
+
+#define EMBEDDED_TAB "hello "
diff --git a/test/behavior/translate_c_macros.zig b/test/behavior/translate_c_macros.zig
index d670e0cbd4..314a9028df 100644
--- a/test/behavior/translate_c_macros.zig
+++ b/test/behavior/translate_c_macros.zig
@@ -2,6 +2,7 @@ const builtin = @import("builtin");
const std = @import("std");
const expect = std.testing.expect;
const expectEqual = std.testing.expectEqual;
+const expectEqualStrings = std.testing.expectEqualStrings;
const h = @cImport(@cInclude("behavior/translate_c_macros.h"));
@@ -123,3 +124,13 @@ test "large integer macro" {
try expectEqual(@as(c_ulonglong, 18446744073709550592), h.LARGE_INT);
}
+
+test "string literal macro with embedded tab character" {
+ if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+
+ try expectEqualStrings("hello\t", h.EMBEDDED_TAB);
+}