Commit 7302b096bd
Changed files (1)
lib
std
json
lib/std/json/test.zig
@@ -12,7 +12,7 @@ const std = @import("../std.zig");
const json = std.json;
const testing = std.testing;
-fn testNonStreaming(comptime s: []const u8) !void {
+fn testNonStreaming(s: []const u8) !void {
var p = json.Parser.init(testing.allocator, false);
defer p.deinit();
@@ -20,32 +20,32 @@ fn testNonStreaming(comptime s: []const u8) !void {
defer tree.deinit();
}
-fn ok(comptime s: []const u8) void {
+fn ok(s: []const u8) !void {
testing.expect(json.validate(s));
- testNonStreaming(s) catch testing.expect(false);
+ try testNonStreaming(s);
}
-fn err(comptime s: []const u8) void {
+fn err(s: []const u8) void {
testing.expect(!json.validate(s));
testNonStreaming(s) catch return;
testing.expect(false);
}
-fn utf8Error(comptime s: []const u8) void {
+fn utf8Error(s: []const u8) void {
testing.expect(!json.validate(s));
testing.expectError(error.InvalidUtf8Byte, testNonStreaming(s));
}
-fn any(comptime s: []const u8) void {
+fn any(s: []const u8) void {
_ = json.validate(s);
testNonStreaming(s) catch {};
}
-fn anyStreamingErrNonStreaming(comptime s: []const u8) void {
+fn anyStreamingErrNonStreaming(s: []const u8) void {
_ = json.validate(s);
testNonStreaming(s) catch return;
@@ -81,7 +81,7 @@ test "y_trailing_comma_after_empty" {
////////////////////////////////////////////////////////////////////////////////////////////////////
test "y_array_arraysWithSpaces" {
- ok(
+ try ok(
\\[[] ]
);
}
@@ -111,7 +111,7 @@ test "y_array_false" {
}
test "y_array_heterogeneous" {
- ok(
+ try ok(
\\[null, 1, "1", {}]
);
}
@@ -123,14 +123,14 @@ test "y_array_null" {
}
test "y_array_with_1_and_newline" {
- ok(
+ try ok(
\\[1
\\]
);
}
test "y_array_with_leading_space" {
- ok(
+ try ok(
\\ [1]
);
}
@@ -142,47 +142,47 @@ test "y_array_with_several_null" {
}
test "y_array_with_trailing_space" {
- ok("[2] ");
+ try ok("[2] ");
}
test "y_number_0e+1" {
- ok(
+ try ok(
\\[0e+1]
);
}
test "y_number_0e1" {
- ok(
+ try ok(
\\[0e1]
);
}
test "y_number_after_space" {
- ok(
+ try ok(
\\[ 4]
);
}
test "y_number_double_close_to_zero" {
- ok(
+ try ok(
\\[-0.000000000000000000000000000000000000000000000000000000000000000000000000000001]
);
}
test "y_number_int_with_exp" {
- ok(
+ try ok(
\\[20e1]
);
}
test "y_number" {
- ok(
+ try ok(
\\[123e65]
);
}
test "y_number_minus_zero" {
- ok(
+ try ok(
\\[-0]
);
}
@@ -200,49 +200,49 @@ test "y_number_negative_one" {
}
test "y_number_negative_zero" {
- ok(
+ try ok(
\\[-0]
);
}
test "y_number_real_capital_e" {
- ok(
+ try ok(
\\[1E22]
);
}
test "y_number_real_capital_e_neg_exp" {
- ok(
+ try ok(
\\[1E-2]
);
}
test "y_number_real_capital_e_pos_exp" {
- ok(
+ try ok(
\\[1E+2]
);
}
test "y_number_real_exponent" {
- ok(
+ try ok(
\\[123e45]
);
}
test "y_number_real_fraction_exponent" {
- ok(
+ try ok(
\\[123.456e78]
);
}
test "y_number_real_neg_exp" {
- ok(
+ try ok(
\\[1e-2]
);
}
test "y_number_real_pos_exponent" {
- ok(
+ try ok(
\\[1e+2]
);
}
@@ -254,7 +254,7 @@ test "y_number_simple_int" {
}
test "y_number_simple_real" {
- ok(
+ try ok(
\\[123.456789]
);
}
@@ -266,13 +266,13 @@ test "y_object_basic" {
}
test "y_object_duplicated_key_and_value" {
- ok(
+ try ok(
\\{"a":"b","a":"b"}
);
}
test "y_object_duplicated_key" {
- ok(
+ try ok(
\\{"a":"b","a":"c"}
);
}
@@ -290,25 +290,25 @@ test "y_object_empty_key" {
}
test "y_object_escaped_null_in_key" {
- ok(
+ try ok(
\\{"foo\u0000bar": 42}
);
}
test "y_object_extreme_numbers" {
- ok(
+ try ok(
\\{ "min": -1.0e+28, "max": 1.0e+28 }
);
}
test "y_object" {
- ok(
+ try ok(
\\{"asd":"sdf", "dfg":"fgh"}
);
}
test "y_object_long_strings" {
- ok(
+ try ok(
\\{"x":[{"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}], "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
);
}
@@ -320,13 +320,13 @@ test "y_object_simple" {
}
test "y_object_string_unicode" {
- ok(
+ try ok(
\\{"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\u0435\u043a\u043e\u043f\u0430" }
);
}
test "y_object_with_newlines" {
- ok(
+ try ok(
\\{
\\"a": "b"
\\}
@@ -334,31 +334,31 @@ test "y_object_with_newlines" {
}
test "y_string_1_2_3_bytes_UTF-8_sequences" {
- ok(
+ try ok(
\\["\u0060\u012a\u12AB"]
);
}
test "y_string_accepted_surrogate_pair" {
- ok(
+ try ok(
\\["\uD801\udc37"]
);
}
test "y_string_accepted_surrogate_pairs" {
- ok(
+ try ok(
\\["\ud83d\ude39\ud83d\udc8d"]
);
}
test "y_string_allowed_escapes" {
- ok(
+ try ok(
\\["\"\\\/\b\f\n\r\t"]
);
}
test "y_string_backslash_and_u_escaped_zero" {
- ok(
+ try ok(
\\["\\u0000"]
);
}
@@ -370,13 +370,13 @@ test "y_string_backslash_doublequotes" {
}
test "y_string_comments" {
- ok(
+ try ok(
\\["a/*b*/c/*d//e"]
);
}
test "y_string_double_escape_a" {
- ok(
+ try ok(
\\["\\a"]
);
}
@@ -388,79 +388,79 @@ test "y_string_double_escape_n" {
}
test "y_string_escaped_control_character" {
- ok(
+ try ok(
\\["\u0012"]
);
}
test "y_string_escaped_noncharacter" {
- ok(
+ try ok(
\\["\uFFFF"]
);
}
test "y_string_in_array" {
- ok(
+ try ok(
\\["asd"]
);
}
test "y_string_in_array_with_leading_space" {
- ok(
+ try ok(
\\[ "asd"]
);
}
test "y_string_last_surrogates_1_and_2" {
- ok(
+ try ok(
\\["\uDBFF\uDFFF"]
);
}
test "y_string_nbsp_uescaped" {
- ok(
+ try ok(
\\["new\u00A0line"]
);
}
test "y_string_nonCharacterInUTF-8_U+10FFFF" {
- ok(
+ try ok(
\\[""]
);
}
test "y_string_nonCharacterInUTF-8_U+FFFF" {
- ok(
+ try ok(
\\[""]
);
}
test "y_string_null_escape" {
- ok(
+ try ok(
\\["\u0000"]
);
}
test "y_string_one-byte-utf-8" {
- ok(
+ try ok(
\\["\u002c"]
);
}
test "y_string_pi" {
- ok(
+ try ok(
\\["π"]
);
}
test "y_string_reservedCharacterInUTF-8_U+1BFFF" {
- ok(
+ try ok(
\\[""]
);
}
test "y_string_simple_ascii" {
- ok(
+ try ok(
\\["asd "]
);
}
@@ -472,115 +472,115 @@ test "y_string_space" {
}
test "y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF" {
- ok(
+ try ok(
\\["\uD834\uDd1e"]
);
}
test "y_string_three-byte-utf-8" {
- ok(
+ try ok(
\\["\u0821"]
);
}
test "y_string_two-byte-utf-8" {
- ok(
+ try ok(
\\["\u0123"]
);
}
test "y_string_u+2028_line_sep" {
- ok("[\"\xe2\x80\xa8\"]");
+ try ok("[\"\xe2\x80\xa8\"]");
}
test "y_string_u+2029_par_sep" {
- ok("[\"\xe2\x80\xa9\"]");
+ try ok("[\"\xe2\x80\xa9\"]");
}
test "y_string_uescaped_newline" {
- ok(
+ try ok(
\\["new\u000Aline"]
);
}
test "y_string_uEscape" {
- ok(
+ try ok(
\\["\u0061\u30af\u30EA\u30b9"]
);
}
test "y_string_unescaped_char_delete" {
- ok("[\"\x7f\"]");
+ try ok("[\"\x7f\"]");
}
test "y_string_unicode_2" {
- ok(
+ try ok(
\\["⍂㈴⍂"]
);
}
test "y_string_unicodeEscapedBackslash" {
- ok(
+ try ok(
\\["\u005C"]
);
}
test "y_string_unicode_escaped_double_quote" {
- ok(
+ try ok(
\\["\u0022"]
);
}
test "y_string_unicode" {
- ok(
+ try ok(
\\["\uA66D"]
);
}
test "y_string_unicode_U+10FFFE_nonchar" {
- ok(
+ try ok(
\\["\uDBFF\uDFFE"]
);
}
test "y_string_unicode_U+1FFFE_nonchar" {
- ok(
+ try ok(
\\["\uD83F\uDFFE"]
);
}
test "y_string_unicode_U+200B_ZERO_WIDTH_SPACE" {
- ok(
+ try ok(
\\["\u200B"]
);
}
test "y_string_unicode_U+2064_invisible_plus" {
- ok(
+ try ok(
\\["\u2064"]
);
}
test "y_string_unicode_U+FDD0_nonchar" {
- ok(
+ try ok(
\\["\uFDD0"]
);
}
test "y_string_unicode_U+FFFE_nonchar" {
- ok(
+ try ok(
\\["\uFFFE"]
);
}
test "y_string_utf8" {
- ok(
+ try ok(
\\["€𝄞"]
);
}
test "y_string_with_del_character" {
- ok("[\"a\x7fa\"]");
+ try ok("[\"a\x7fa\"]");
}
test "y_structure_lonely_false" {
@@ -596,7 +596,7 @@ test "y_structure_lonely_int" {
}
test "y_structure_lonely_negative_real" {
- ok(
+ try ok(
\\-0.1
);
}
@@ -638,7 +638,7 @@ test "y_structure_true_in_array" {
}
test "y_structure_whitespace_array" {
- ok(" [] ");
+ try ok(" [] ");
}
////////////////////////////////////////////////////////////////////////////////////////////////////