From fd478c29c7c2620f39451b947267325dee3b9ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kat=20March=C3=A1n?= Date: Tue, 31 Aug 2021 22:25:11 -0700 Subject: [PATCH] bring over test suite from kdl4j (#119) --- README.md | 8 +++++ tests/README.md | 36 +++++++++++++++++++ tests/test_cases/expected_kdl/all_escapes.kdl | 1 + .../expected_kdl/all_node_fields.kdl | 3 ++ .../expected_kdl/arg_and_prop_same_name.kdl | 1 + .../asterisk_in_block_comment.kdl | 1 + tests/test_cases/expected_kdl/bare_emoji.kdl | 1 + tests/test_cases/expected_kdl/binary.kdl | 1 + .../binary_trailing_underscore.kdl | 1 + .../expected_kdl/binary_underscore.kdl | 1 + .../test_cases/expected_kdl/block_comment.kdl | 1 + .../expected_kdl/block_comment_after_node.kdl | 1 + .../block_comment_before_node.kdl | 1 + .../block_comment_before_node_no_space.kdl | 1 + .../expected_kdl/block_comment_newline.kdl | 1 + tests/test_cases/expected_kdl/boolean_arg.kdl | 1 + .../test_cases/expected_kdl/boolean_prop.kdl | 1 + .../test_cases/expected_kdl/commented_arg.kdl | 1 + .../expected_kdl/commented_child.kdl | 1 + .../expected_kdl/commented_line.kdl | 1 + .../expected_kdl/commented_node.kdl | 1 + .../expected_kdl/commented_prop.kdl | 1 + .../expected_kdl/crlf_between_nodes.kdl | 2 ++ tests/test_cases/expected_kdl/emoji.kdl | 1 + tests/test_cases/expected_kdl/empty.kdl | 1 + tests/test_cases/expected_kdl/empty_child.kdl | 2 ++ .../empty_child_different_lines.kdl | 2 ++ .../expected_kdl/empty_child_same_line.kdl | 2 ++ .../expected_kdl/empty_child_whitespace.kdl | 2 ++ .../expected_kdl/empty_quoted_node_id.kdl | 1 + .../expected_kdl/empty_quoted_prop_key.kdl | 1 + .../expected_kdl/empty_string_arg.kdl | 1 + .../expected_kdl/esc_newline_in_string.kdl | 1 + .../expected_kdl/esc_unicode_in_string.kdl | 1 + tests/test_cases/expected_kdl/escline.kdl | 1 + .../expected_kdl/escline_comment_node.kdl | 2 ++ .../expected_kdl/escline_line_comment.kdl | 1 + .../test_cases/expected_kdl/escline_node.kdl | 2 ++ tests/test_cases/expected_kdl/hex.kdl | 1 + tests/test_cases/expected_kdl/hex_int.kdl | 1 + .../expected_kdl/hex_int_underscores.kdl | 1 + .../expected_kdl/hex_leading_zero.kdl | 1 + .../expected_kdl/int_multiple_underscore.kdl | 1 + .../expected_kdl/just_block_comment.kdl | 1 + tests/test_cases/expected_kdl/just_child.kdl | 3 ++ .../test_cases/expected_kdl/just_newline.kdl | 1 + .../test_cases/expected_kdl/just_node_id.kdl | 1 + tests/test_cases/expected_kdl/just_space.kdl | 1 + .../expected_kdl/leading_newline.kdl | 1 + .../expected_kdl/leading_zero_binary.kdl | 1 + .../expected_kdl/leading_zero_int.kdl | 1 + .../expected_kdl/leading_zero_oct.kdl | 1 + .../expected_kdl/multiline_comment.kdl | 1 + .../expected_kdl/multiline_nodes.kdl | 1 + .../expected_kdl/multiline_string.kdl | 1 + .../expected_kdl/negative_exponent.kdl | 1 + .../expected_kdl/negative_float.kdl | 1 + .../test_cases/expected_kdl/negative_int.kdl | 1 + .../expected_kdl/nested_block_comment.kdl | 1 + .../expected_kdl/nested_children.kdl | 5 +++ .../expected_kdl/nested_comments.kdl | 1 + .../nested_multiline_block_comment.kdl | 1 + .../expected_kdl/newline_between_nodes.kdl | 2 ++ .../newlines_in_block_comment.kdl | 1 + .../expected_kdl/no_decimal_exponent.kdl | 1 + tests/test_cases/expected_kdl/node_false.kdl | 1 + tests/test_cases/expected_kdl/node_true.kdl | 1 + tests/test_cases/expected_kdl/null_arg.kdl | 1 + tests/test_cases/expected_kdl/null_prop.kdl | 1 + tests/test_cases/expected_kdl/numeric_arg.kdl | 1 + .../test_cases/expected_kdl/numeric_prop.kdl | 1 + tests/test_cases/expected_kdl/octal.kdl | 1 + tests/test_cases/expected_kdl/only_cr.kdl | 1 + .../expected_kdl/only_line_comment.kdl | 1 + .../expected_kdl/only_line_comment_crlf.kdl | 1 + .../only_line_comment_newline.kdl | 1 + .../expected_kdl/parse_all_arg_types.kdl | 1 + .../expected_kdl/positive_exponent.kdl | 1 + .../test_cases/expected_kdl/positive_int.kdl | 1 + .../expected_kdl/quoted_node_name.kdl | 1 + .../expected_kdl/quoted_numeric.kdl | 1 + .../expected_kdl/quoted_prop_name.kdl | 1 + tests/test_cases/expected_kdl/r_node.kdl | 1 + .../test_cases/expected_kdl/raw_node_name.kdl | 1 + .../expected_kdl/raw_string_arg.kdl | 3 ++ .../expected_kdl/raw_string_backslash.kdl | 1 + .../expected_kdl/raw_string_hash_no_esc.kdl | 1 + .../raw_string_just_backslash.kdl | 1 + .../expected_kdl/raw_string_just_quote.kdl | 1 + .../expected_kdl/raw_string_multiple_hash.kdl | 1 + .../expected_kdl/raw_string_newline.kdl | 1 + .../expected_kdl/raw_string_prop.kdl | 3 ++ .../expected_kdl/raw_string_quote.kdl | 1 + .../test_cases/expected_kdl/repeated_arg.kdl | 1 + .../test_cases/expected_kdl/repeated_prop.kdl | 1 + tests/test_cases/expected_kdl/same_args.kdl | 1 + .../expected_kdl/same_name_nodes.kdl | 2 ++ .../expected_kdl/sci_notation_large.kdl | 1 + .../expected_kdl/sci_notation_small.kdl | 1 + .../expected_kdl/semicolon_after_child.kdl | 3 ++ .../expected_kdl/semicolon_in_child.kdl | 3 ++ .../expected_kdl/semicolon_separated.kdl | 2 ++ .../semicolon_separated_nodes.kdl | 2 ++ .../expected_kdl/semicolon_terminated.kdl | 1 + tests/test_cases/expected_kdl/single_arg.kdl | 1 + tests/test_cases/expected_kdl/single_prop.kdl | 1 + .../slashdash_arg_after_newline_esc.kdl | 1 + .../slashdash_arg_before_newline_esc.kdl | 1 + .../expected_kdl/slashdash_child.kdl | 1 + .../expected_kdl/slashdash_empty_child.kdl | 1 + .../expected_kdl/slashdash_full_node.kdl | 1 + .../expected_kdl/slashdash_in_slashdash.kdl | 1 + .../slashdash_negative_number.kdl | 1 + .../expected_kdl/slashdash_node_in_child.kdl | 2 ++ .../slashdash_node_with_child.kdl | 1 + .../expected_kdl/slashdash_only_node.kdl | 1 + .../slashdash_only_node_with_space.kdl | 1 + .../expected_kdl/slashdash_prop.kdl | 1 + .../expected_kdl/slashdash_raw_prop_key.kdl | 1 + tests/test_cases/expected_kdl/string_arg.kdl | 1 + tests/test_cases/expected_kdl/string_prop.kdl | 1 + tests/test_cases/expected_kdl/tab_space.kdl | 1 + .../test_cases/expected_kdl/trailing_crlf.kdl | 1 + .../expected_kdl/trailing_underscore_hex.kdl | 1 + .../trailing_underscore_octal.kdl | 1 + tests/test_cases/expected_kdl/two_nodes.kdl | 2 ++ .../expected_kdl/underscore_in_exponent.kdl | 1 + .../expected_kdl/underscore_in_float.kdl | 1 + .../expected_kdl/underscore_in_int.kdl | 1 + .../expected_kdl/underscore_in_octal.kdl | 1 + .../unusual_bare_id_chars_in_quoted_id.kdl | 1 + .../expected_kdl/unusual_chars_in_bare_id.kdl | 1 + tests/test_cases/expected_kdl/zero_arg.kdl | 1 + tests/test_cases/expected_kdl/zero_float.kdl | 1 + tests/test_cases/expected_kdl/zero_int.kdl | 1 + tests/test_cases/input/all_escapes.kdl | 1 + tests/test_cases/input/all_node_fields.kdl | 3 ++ .../input/arg_and_prop_same_name.kdl | 1 + .../input/asterisk_in_block_comment.kdl | 1 + tests/test_cases/input/bare_arg.kdl | 1 + tests/test_cases/input/bare_emoji.kdl | 1 + tests/test_cases/input/binary.kdl | 1 + .../input/binary_trailing_underscore.kdl | 1 + tests/test_cases/input/binary_underscore.kdl | 1 + tests/test_cases/input/block_comment.kdl | 1 + .../input/block_comment_after_node.kdl | 1 + .../input/block_comment_before_node.kdl | 1 + .../block_comment_before_node_no_space.kdl | 1 + .../input/block_comment_newline.kdl | 1 + tests/test_cases/input/boolean_arg.kdl | 1 + tests/test_cases/input/boolean_prop.kdl | 1 + tests/test_cases/input/commented_arg.kdl | 1 + tests/test_cases/input/commented_child.kdl | 3 ++ tests/test_cases/input/commented_line.kdl | 2 ++ tests/test_cases/input/commented_node.kdl | 2 ++ tests/test_cases/input/commented_prop.kdl | 1 + tests/test_cases/input/crlf_between_nodes.kdl | 2 ++ tests/test_cases/input/dash_dash.kdl | 1 + .../test_cases/input/dot_but_no_fraction.kdl | 1 + .../dot_but_no_fraction_before_exponent.kdl | 1 + tests/test_cases/input/dot_in_exponent.kdl | 1 + tests/test_cases/input/dot_zero.kdl | 1 + tests/test_cases/input/emoji.kdl | 1 + tests/test_cases/input/empty.kdl | 0 tests/test_cases/input/empty_child.kdl | 2 ++ .../input/empty_child_different_lines.kdl | 2 ++ .../input/empty_child_same_line.kdl | 1 + .../input/empty_child_whitespace.kdl | 3 ++ .../test_cases/input/empty_quoted_node_id.kdl | 1 + .../input/empty_quoted_prop_key.kdl | 1 + tests/test_cases/input/empty_string_arg.kdl | 1 + .../input/esc_newline_in_string.kdl | 1 + .../input/esc_unicode_in_string.kdl | 1 + tests/test_cases/input/escline.kdl | 2 ++ .../test_cases/input/escline_comment_node.kdl | 3 ++ .../test_cases/input/escline_line_comment.kdl | 4 +++ tests/test_cases/input/escline_node.kdl | 2 ++ tests/test_cases/input/hex.kdl | 1 + tests/test_cases/input/hex_int.kdl | 1 + .../test_cases/input/hex_int_underscores.kdl | 1 + tests/test_cases/input/hex_leading_zero.kdl | 1 + .../input/illegal_char_in_binary.kdl | 1 + .../test_cases/input/illegal_char_in_hex.kdl | 1 + .../input/illegal_char_in_octal.kdl | 1 + .../input/int_multiple_underscore.kdl | 1 + tests/test_cases/input/just_block_comment.kdl | 1 + tests/test_cases/input/just_child.kdl | 3 ++ tests/test_cases/input/just_newline.kdl | 1 + tests/test_cases/input/just_node_id.kdl | 1 + tests/test_cases/input/just_space.kdl | 1 + tests/test_cases/input/leading_newline.kdl | 2 ++ .../test_cases/input/leading_zero_binary.kdl | 1 + tests/test_cases/input/leading_zero_int.kdl | 1 + tests/test_cases/input/leading_zero_oct.kdl | 1 + tests/test_cases/input/multiline_comment.kdl | 4 +++ tests/test_cases/input/multiline_nodes.kdl | 3 ++ tests/test_cases/input/multiline_string.kdl | 4 +++ .../input/multiple_dots_in_float.kdl | 1 + ...multiple_dots_in_float_before_exponent.kdl | 1 + .../test_cases/input/multiple_es_in_float.kdl | 1 + tests/test_cases/input/multiple_x_in_hex.kdl | 1 + tests/test_cases/input/negative_exponent.kdl | 1 + tests/test_cases/input/negative_float.kdl | 1 + tests/test_cases/input/negative_int.kdl | 1 + .../test_cases/input/nested_block_comment.kdl | 1 + tests/test_cases/input/nested_children.kdl | 5 +++ tests/test_cases/input/nested_comments.kdl | 1 + .../input/nested_multiline_block_comment.kdl | 7 ++++ .../input/newline_between_nodes.kdl | 2 ++ .../input/newlines_in_block_comment.kdl | 3 ++ .../test_cases/input/no_decimal_exponent.kdl | 1 + tests/test_cases/input/no_digits_in_hex.kdl | 1 + tests/test_cases/input/node_false.kdl | 1 + tests/test_cases/input/node_true.kdl | 1 + tests/test_cases/input/null_arg.kdl | 1 + tests/test_cases/input/null_prop.kdl | 1 + tests/test_cases/input/numeric_arg.kdl | 1 + tests/test_cases/input/numeric_prop.kdl | 1 + tests/test_cases/input/octal.kdl | 1 + tests/test_cases/input/only_cr.kdl | 1 + tests/test_cases/input/only_line_comment.kdl | 1 + .../input/only_line_comment_crlf.kdl | 1 + .../input/only_line_comment_newline.kdl | 1 + .../test_cases/input/parse_all_arg_types.kdl | 1 + tests/test_cases/input/positive_exponent.kdl | 1 + tests/test_cases/input/positive_int.kdl | 1 + .../input/question_mark_at_start_of_int.kdl | 1 + .../input/question_mark_before_number.kdl | 1 + tests/test_cases/input/quoted_node_name.kdl | 1 + tests/test_cases/input/quoted_numeric.kdl | 1 + tests/test_cases/input/quoted_prop_name.kdl | 1 + tests/test_cases/input/r_node.kdl | 1 + tests/test_cases/input/raw_node_name.kdl | 1 + tests/test_cases/input/raw_string_arg.kdl | 3 ++ .../test_cases/input/raw_string_backslash.kdl | 1 + .../input/raw_string_hash_no_esc.kdl | 1 + .../input/raw_string_just_backslash.kdl | 1 + .../input/raw_string_just_quote.kdl | 1 + .../input/raw_string_multiple_hash.kdl | 1 + tests/test_cases/input/raw_string_newline.kdl | 4 +++ tests/test_cases/input/raw_string_prop.kdl | 3 ++ tests/test_cases/input/raw_string_quote.kdl | 1 + tests/test_cases/input/repeated_arg.kdl | 1 + tests/test_cases/input/repeated_prop.kdl | 1 + tests/test_cases/input/same_args.kdl | 1 + tests/test_cases/input/same_name_nodes.kdl | 2 ++ tests/test_cases/input/sci_notation_large.kdl | 1 + tests/test_cases/input/sci_notation_small.kdl | 1 + .../input/semicolon_after_child.kdl | 3 ++ tests/test_cases/input/semicolon_in_child.kdl | 3 ++ .../test_cases/input/semicolon_separated.kdl | 1 + .../input/semicolon_separated_nodes.kdl | 1 + .../test_cases/input/semicolon_terminated.kdl | 1 + tests/test_cases/input/single_arg.kdl | 1 + tests/test_cases/input/single_prop.kdl | 1 + .../input/slashdash_arg_after_newline_esc.kdl | 2 ++ .../slashdash_arg_before_newline_esc.kdl | 2 ++ tests/test_cases/input/slashdash_child.kdl | 3 ++ .../input/slashdash_empty_child.kdl | 2 ++ .../test_cases/input/slashdash_full_node.kdl | 2 ++ .../input/slashdash_in_slashdash.kdl | 2 ++ .../input/slashdash_negative_number.kdl | 1 + .../input/slashdash_node_in_child.kdl | 3 ++ .../input/slashdash_node_with_child.kdl | 3 ++ .../test_cases/input/slashdash_only_node.kdl | 1 + .../input/slashdash_only_node_with_space.kdl | 1 + tests/test_cases/input/slashdash_prop.kdl | 1 + .../input/slashdash_raw_prop_key.kdl | 1 + tests/test_cases/input/string_arg.kdl | 1 + tests/test_cases/input/string_prop.kdl | 1 + tests/test_cases/input/tab_space.kdl | 1 + tests/test_cases/input/trailing_crlf.kdl | 1 + .../input/trailing_underscore_hex.kdl | 1 + .../input/trailing_underscore_octal.kdl | 1 + tests/test_cases/input/two_nodes.kdl | 2 ++ .../input/unbalanced_raw_hashes.kdl | 1 + .../input/underscore_at_start_of_fraction.kdl | 1 + .../input/underscore_at_start_of_hex.kdl | 1 + .../input/underscore_at_start_of_int.kdl | 1 + .../input/underscore_before_number.kdl | 1 + .../input/underscore_in_exponent.kdl | 1 + .../test_cases/input/underscore_in_float.kdl | 1 + .../input/underscore_in_fraction.kdl | 1 + tests/test_cases/input/underscore_in_int.kdl | 1 + .../test_cases/input/underscore_in_octal.kdl | 1 + .../unusual_bare_id_chars_in_quoted_id.kdl | 1 + .../input/unusual_chars_in_bare_id.kdl | 1 + tests/test_cases/input/zero_arg.kdl | 1 + tests/test_cases/input/zero_float.kdl | 1 + tests/test_cases/input/zero_int.kdl | 1 + 290 files changed, 426 insertions(+) create mode 100644 tests/README.md create mode 100644 tests/test_cases/expected_kdl/all_escapes.kdl create mode 100644 tests/test_cases/expected_kdl/all_node_fields.kdl create mode 100644 tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl create mode 100644 tests/test_cases/expected_kdl/asterisk_in_block_comment.kdl create mode 100644 tests/test_cases/expected_kdl/bare_emoji.kdl create mode 100644 tests/test_cases/expected_kdl/binary.kdl create mode 100644 tests/test_cases/expected_kdl/binary_trailing_underscore.kdl create mode 100644 tests/test_cases/expected_kdl/binary_underscore.kdl create mode 100644 tests/test_cases/expected_kdl/block_comment.kdl create mode 100644 tests/test_cases/expected_kdl/block_comment_after_node.kdl create mode 100644 tests/test_cases/expected_kdl/block_comment_before_node.kdl create mode 100644 tests/test_cases/expected_kdl/block_comment_before_node_no_space.kdl create mode 100644 tests/test_cases/expected_kdl/block_comment_newline.kdl create mode 100644 tests/test_cases/expected_kdl/boolean_arg.kdl create mode 100644 tests/test_cases/expected_kdl/boolean_prop.kdl create mode 100644 tests/test_cases/expected_kdl/commented_arg.kdl create mode 100644 tests/test_cases/expected_kdl/commented_child.kdl create mode 100644 tests/test_cases/expected_kdl/commented_line.kdl create mode 100644 tests/test_cases/expected_kdl/commented_node.kdl create mode 100644 tests/test_cases/expected_kdl/commented_prop.kdl create mode 100644 tests/test_cases/expected_kdl/crlf_between_nodes.kdl create mode 100644 tests/test_cases/expected_kdl/emoji.kdl create mode 100644 tests/test_cases/expected_kdl/empty.kdl create mode 100644 tests/test_cases/expected_kdl/empty_child.kdl create mode 100644 tests/test_cases/expected_kdl/empty_child_different_lines.kdl create mode 100644 tests/test_cases/expected_kdl/empty_child_same_line.kdl create mode 100644 tests/test_cases/expected_kdl/empty_child_whitespace.kdl create mode 100644 tests/test_cases/expected_kdl/empty_quoted_node_id.kdl create mode 100644 tests/test_cases/expected_kdl/empty_quoted_prop_key.kdl create mode 100644 tests/test_cases/expected_kdl/empty_string_arg.kdl create mode 100644 tests/test_cases/expected_kdl/esc_newline_in_string.kdl create mode 100644 tests/test_cases/expected_kdl/esc_unicode_in_string.kdl create mode 100644 tests/test_cases/expected_kdl/escline.kdl create mode 100644 tests/test_cases/expected_kdl/escline_comment_node.kdl create mode 100644 tests/test_cases/expected_kdl/escline_line_comment.kdl create mode 100644 tests/test_cases/expected_kdl/escline_node.kdl create mode 100644 tests/test_cases/expected_kdl/hex.kdl create mode 100644 tests/test_cases/expected_kdl/hex_int.kdl create mode 100644 tests/test_cases/expected_kdl/hex_int_underscores.kdl create mode 100644 tests/test_cases/expected_kdl/hex_leading_zero.kdl create mode 100644 tests/test_cases/expected_kdl/int_multiple_underscore.kdl create mode 100644 tests/test_cases/expected_kdl/just_block_comment.kdl create mode 100644 tests/test_cases/expected_kdl/just_child.kdl create mode 100644 tests/test_cases/expected_kdl/just_newline.kdl create mode 100644 tests/test_cases/expected_kdl/just_node_id.kdl create mode 100644 tests/test_cases/expected_kdl/just_space.kdl create mode 100644 tests/test_cases/expected_kdl/leading_newline.kdl create mode 100644 tests/test_cases/expected_kdl/leading_zero_binary.kdl create mode 100644 tests/test_cases/expected_kdl/leading_zero_int.kdl create mode 100644 tests/test_cases/expected_kdl/leading_zero_oct.kdl create mode 100644 tests/test_cases/expected_kdl/multiline_comment.kdl create mode 100644 tests/test_cases/expected_kdl/multiline_nodes.kdl create mode 100644 tests/test_cases/expected_kdl/multiline_string.kdl create mode 100644 tests/test_cases/expected_kdl/negative_exponent.kdl create mode 100644 tests/test_cases/expected_kdl/negative_float.kdl create mode 100644 tests/test_cases/expected_kdl/negative_int.kdl create mode 100644 tests/test_cases/expected_kdl/nested_block_comment.kdl create mode 100644 tests/test_cases/expected_kdl/nested_children.kdl create mode 100644 tests/test_cases/expected_kdl/nested_comments.kdl create mode 100644 tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl create mode 100644 tests/test_cases/expected_kdl/newline_between_nodes.kdl create mode 100644 tests/test_cases/expected_kdl/newlines_in_block_comment.kdl create mode 100644 tests/test_cases/expected_kdl/no_decimal_exponent.kdl create mode 100644 tests/test_cases/expected_kdl/node_false.kdl create mode 100644 tests/test_cases/expected_kdl/node_true.kdl create mode 100644 tests/test_cases/expected_kdl/null_arg.kdl create mode 100644 tests/test_cases/expected_kdl/null_prop.kdl create mode 100644 tests/test_cases/expected_kdl/numeric_arg.kdl create mode 100644 tests/test_cases/expected_kdl/numeric_prop.kdl create mode 100644 tests/test_cases/expected_kdl/octal.kdl create mode 100644 tests/test_cases/expected_kdl/only_cr.kdl create mode 100644 tests/test_cases/expected_kdl/only_line_comment.kdl create mode 100644 tests/test_cases/expected_kdl/only_line_comment_crlf.kdl create mode 100644 tests/test_cases/expected_kdl/only_line_comment_newline.kdl create mode 100644 tests/test_cases/expected_kdl/parse_all_arg_types.kdl create mode 100644 tests/test_cases/expected_kdl/positive_exponent.kdl create mode 100644 tests/test_cases/expected_kdl/positive_int.kdl create mode 100644 tests/test_cases/expected_kdl/quoted_node_name.kdl create mode 100644 tests/test_cases/expected_kdl/quoted_numeric.kdl create mode 100644 tests/test_cases/expected_kdl/quoted_prop_name.kdl create mode 100644 tests/test_cases/expected_kdl/r_node.kdl create mode 100644 tests/test_cases/expected_kdl/raw_node_name.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_arg.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_backslash.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_hash_no_esc.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_just_backslash.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_just_quote.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_multiple_hash.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_newline.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_prop.kdl create mode 100644 tests/test_cases/expected_kdl/raw_string_quote.kdl create mode 100644 tests/test_cases/expected_kdl/repeated_arg.kdl create mode 100644 tests/test_cases/expected_kdl/repeated_prop.kdl create mode 100644 tests/test_cases/expected_kdl/same_args.kdl create mode 100644 tests/test_cases/expected_kdl/same_name_nodes.kdl create mode 100644 tests/test_cases/expected_kdl/sci_notation_large.kdl create mode 100644 tests/test_cases/expected_kdl/sci_notation_small.kdl create mode 100644 tests/test_cases/expected_kdl/semicolon_after_child.kdl create mode 100644 tests/test_cases/expected_kdl/semicolon_in_child.kdl create mode 100644 tests/test_cases/expected_kdl/semicolon_separated.kdl create mode 100644 tests/test_cases/expected_kdl/semicolon_separated_nodes.kdl create mode 100644 tests/test_cases/expected_kdl/semicolon_terminated.kdl create mode 100644 tests/test_cases/expected_kdl/single_arg.kdl create mode 100644 tests/test_cases/expected_kdl/single_prop.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_arg_before_newline_esc.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_child.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_empty_child.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_full_node.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_in_slashdash.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_negative_number.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_node_in_child.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_node_with_child.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_only_node.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_only_node_with_space.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_prop.kdl create mode 100644 tests/test_cases/expected_kdl/slashdash_raw_prop_key.kdl create mode 100644 tests/test_cases/expected_kdl/string_arg.kdl create mode 100644 tests/test_cases/expected_kdl/string_prop.kdl create mode 100644 tests/test_cases/expected_kdl/tab_space.kdl create mode 100644 tests/test_cases/expected_kdl/trailing_crlf.kdl create mode 100644 tests/test_cases/expected_kdl/trailing_underscore_hex.kdl create mode 100644 tests/test_cases/expected_kdl/trailing_underscore_octal.kdl create mode 100644 tests/test_cases/expected_kdl/two_nodes.kdl create mode 100644 tests/test_cases/expected_kdl/underscore_in_exponent.kdl create mode 100644 tests/test_cases/expected_kdl/underscore_in_float.kdl create mode 100644 tests/test_cases/expected_kdl/underscore_in_int.kdl create mode 100644 tests/test_cases/expected_kdl/underscore_in_octal.kdl create mode 100644 tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl create mode 100644 tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl create mode 100644 tests/test_cases/expected_kdl/zero_arg.kdl create mode 100644 tests/test_cases/expected_kdl/zero_float.kdl create mode 100644 tests/test_cases/expected_kdl/zero_int.kdl create mode 100644 tests/test_cases/input/all_escapes.kdl create mode 100644 tests/test_cases/input/all_node_fields.kdl create mode 100644 tests/test_cases/input/arg_and_prop_same_name.kdl create mode 100644 tests/test_cases/input/asterisk_in_block_comment.kdl create mode 100644 tests/test_cases/input/bare_arg.kdl create mode 100644 tests/test_cases/input/bare_emoji.kdl create mode 100644 tests/test_cases/input/binary.kdl create mode 100644 tests/test_cases/input/binary_trailing_underscore.kdl create mode 100644 tests/test_cases/input/binary_underscore.kdl create mode 100644 tests/test_cases/input/block_comment.kdl create mode 100644 tests/test_cases/input/block_comment_after_node.kdl create mode 100644 tests/test_cases/input/block_comment_before_node.kdl create mode 100644 tests/test_cases/input/block_comment_before_node_no_space.kdl create mode 100644 tests/test_cases/input/block_comment_newline.kdl create mode 100644 tests/test_cases/input/boolean_arg.kdl create mode 100644 tests/test_cases/input/boolean_prop.kdl create mode 100644 tests/test_cases/input/commented_arg.kdl create mode 100644 tests/test_cases/input/commented_child.kdl create mode 100644 tests/test_cases/input/commented_line.kdl create mode 100644 tests/test_cases/input/commented_node.kdl create mode 100644 tests/test_cases/input/commented_prop.kdl create mode 100644 tests/test_cases/input/crlf_between_nodes.kdl create mode 100644 tests/test_cases/input/dash_dash.kdl create mode 100644 tests/test_cases/input/dot_but_no_fraction.kdl create mode 100644 tests/test_cases/input/dot_but_no_fraction_before_exponent.kdl create mode 100644 tests/test_cases/input/dot_in_exponent.kdl create mode 100644 tests/test_cases/input/dot_zero.kdl create mode 100644 tests/test_cases/input/emoji.kdl create mode 100644 tests/test_cases/input/empty.kdl create mode 100644 tests/test_cases/input/empty_child.kdl create mode 100644 tests/test_cases/input/empty_child_different_lines.kdl create mode 100644 tests/test_cases/input/empty_child_same_line.kdl create mode 100644 tests/test_cases/input/empty_child_whitespace.kdl create mode 100644 tests/test_cases/input/empty_quoted_node_id.kdl create mode 100644 tests/test_cases/input/empty_quoted_prop_key.kdl create mode 100644 tests/test_cases/input/empty_string_arg.kdl create mode 100644 tests/test_cases/input/esc_newline_in_string.kdl create mode 100644 tests/test_cases/input/esc_unicode_in_string.kdl create mode 100644 tests/test_cases/input/escline.kdl create mode 100644 tests/test_cases/input/escline_comment_node.kdl create mode 100644 tests/test_cases/input/escline_line_comment.kdl create mode 100644 tests/test_cases/input/escline_node.kdl create mode 100644 tests/test_cases/input/hex.kdl create mode 100644 tests/test_cases/input/hex_int.kdl create mode 100644 tests/test_cases/input/hex_int_underscores.kdl create mode 100644 tests/test_cases/input/hex_leading_zero.kdl create mode 100644 tests/test_cases/input/illegal_char_in_binary.kdl create mode 100644 tests/test_cases/input/illegal_char_in_hex.kdl create mode 100644 tests/test_cases/input/illegal_char_in_octal.kdl create mode 100644 tests/test_cases/input/int_multiple_underscore.kdl create mode 100644 tests/test_cases/input/just_block_comment.kdl create mode 100644 tests/test_cases/input/just_child.kdl create mode 100644 tests/test_cases/input/just_newline.kdl create mode 100644 tests/test_cases/input/just_node_id.kdl create mode 100644 tests/test_cases/input/just_space.kdl create mode 100644 tests/test_cases/input/leading_newline.kdl create mode 100644 tests/test_cases/input/leading_zero_binary.kdl create mode 100644 tests/test_cases/input/leading_zero_int.kdl create mode 100644 tests/test_cases/input/leading_zero_oct.kdl create mode 100644 tests/test_cases/input/multiline_comment.kdl create mode 100644 tests/test_cases/input/multiline_nodes.kdl create mode 100644 tests/test_cases/input/multiline_string.kdl create mode 100644 tests/test_cases/input/multiple_dots_in_float.kdl create mode 100644 tests/test_cases/input/multiple_dots_in_float_before_exponent.kdl create mode 100644 tests/test_cases/input/multiple_es_in_float.kdl create mode 100644 tests/test_cases/input/multiple_x_in_hex.kdl create mode 100644 tests/test_cases/input/negative_exponent.kdl create mode 100644 tests/test_cases/input/negative_float.kdl create mode 100644 tests/test_cases/input/negative_int.kdl create mode 100644 tests/test_cases/input/nested_block_comment.kdl create mode 100644 tests/test_cases/input/nested_children.kdl create mode 100644 tests/test_cases/input/nested_comments.kdl create mode 100644 tests/test_cases/input/nested_multiline_block_comment.kdl create mode 100644 tests/test_cases/input/newline_between_nodes.kdl create mode 100644 tests/test_cases/input/newlines_in_block_comment.kdl create mode 100644 tests/test_cases/input/no_decimal_exponent.kdl create mode 100644 tests/test_cases/input/no_digits_in_hex.kdl create mode 100644 tests/test_cases/input/node_false.kdl create mode 100644 tests/test_cases/input/node_true.kdl create mode 100644 tests/test_cases/input/null_arg.kdl create mode 100644 tests/test_cases/input/null_prop.kdl create mode 100644 tests/test_cases/input/numeric_arg.kdl create mode 100644 tests/test_cases/input/numeric_prop.kdl create mode 100644 tests/test_cases/input/octal.kdl create mode 100644 tests/test_cases/input/only_cr.kdl create mode 100644 tests/test_cases/input/only_line_comment.kdl create mode 100644 tests/test_cases/input/only_line_comment_crlf.kdl create mode 100644 tests/test_cases/input/only_line_comment_newline.kdl create mode 100644 tests/test_cases/input/parse_all_arg_types.kdl create mode 100644 tests/test_cases/input/positive_exponent.kdl create mode 100644 tests/test_cases/input/positive_int.kdl create mode 100644 tests/test_cases/input/question_mark_at_start_of_int.kdl create mode 100644 tests/test_cases/input/question_mark_before_number.kdl create mode 100644 tests/test_cases/input/quoted_node_name.kdl create mode 100644 tests/test_cases/input/quoted_numeric.kdl create mode 100644 tests/test_cases/input/quoted_prop_name.kdl create mode 100644 tests/test_cases/input/r_node.kdl create mode 100644 tests/test_cases/input/raw_node_name.kdl create mode 100644 tests/test_cases/input/raw_string_arg.kdl create mode 100644 tests/test_cases/input/raw_string_backslash.kdl create mode 100644 tests/test_cases/input/raw_string_hash_no_esc.kdl create mode 100644 tests/test_cases/input/raw_string_just_backslash.kdl create mode 100644 tests/test_cases/input/raw_string_just_quote.kdl create mode 100644 tests/test_cases/input/raw_string_multiple_hash.kdl create mode 100644 tests/test_cases/input/raw_string_newline.kdl create mode 100644 tests/test_cases/input/raw_string_prop.kdl create mode 100644 tests/test_cases/input/raw_string_quote.kdl create mode 100644 tests/test_cases/input/repeated_arg.kdl create mode 100644 tests/test_cases/input/repeated_prop.kdl create mode 100644 tests/test_cases/input/same_args.kdl create mode 100644 tests/test_cases/input/same_name_nodes.kdl create mode 100644 tests/test_cases/input/sci_notation_large.kdl create mode 100644 tests/test_cases/input/sci_notation_small.kdl create mode 100644 tests/test_cases/input/semicolon_after_child.kdl create mode 100644 tests/test_cases/input/semicolon_in_child.kdl create mode 100644 tests/test_cases/input/semicolon_separated.kdl create mode 100644 tests/test_cases/input/semicolon_separated_nodes.kdl create mode 100644 tests/test_cases/input/semicolon_terminated.kdl create mode 100644 tests/test_cases/input/single_arg.kdl create mode 100644 tests/test_cases/input/single_prop.kdl create mode 100644 tests/test_cases/input/slashdash_arg_after_newline_esc.kdl create mode 100644 tests/test_cases/input/slashdash_arg_before_newline_esc.kdl create mode 100644 tests/test_cases/input/slashdash_child.kdl create mode 100644 tests/test_cases/input/slashdash_empty_child.kdl create mode 100644 tests/test_cases/input/slashdash_full_node.kdl create mode 100644 tests/test_cases/input/slashdash_in_slashdash.kdl create mode 100644 tests/test_cases/input/slashdash_negative_number.kdl create mode 100644 tests/test_cases/input/slashdash_node_in_child.kdl create mode 100644 tests/test_cases/input/slashdash_node_with_child.kdl create mode 100644 tests/test_cases/input/slashdash_only_node.kdl create mode 100644 tests/test_cases/input/slashdash_only_node_with_space.kdl create mode 100644 tests/test_cases/input/slashdash_prop.kdl create mode 100644 tests/test_cases/input/slashdash_raw_prop_key.kdl create mode 100644 tests/test_cases/input/string_arg.kdl create mode 100644 tests/test_cases/input/string_prop.kdl create mode 100644 tests/test_cases/input/tab_space.kdl create mode 100644 tests/test_cases/input/trailing_crlf.kdl create mode 100644 tests/test_cases/input/trailing_underscore_hex.kdl create mode 100644 tests/test_cases/input/trailing_underscore_octal.kdl create mode 100644 tests/test_cases/input/two_nodes.kdl create mode 100644 tests/test_cases/input/unbalanced_raw_hashes.kdl create mode 100644 tests/test_cases/input/underscore_at_start_of_fraction.kdl create mode 100644 tests/test_cases/input/underscore_at_start_of_hex.kdl create mode 100644 tests/test_cases/input/underscore_at_start_of_int.kdl create mode 100644 tests/test_cases/input/underscore_before_number.kdl create mode 100644 tests/test_cases/input/underscore_in_exponent.kdl create mode 100644 tests/test_cases/input/underscore_in_float.kdl create mode 100644 tests/test_cases/input/underscore_in_fraction.kdl create mode 100644 tests/test_cases/input/underscore_in_int.kdl create mode 100644 tests/test_cases/input/underscore_in_octal.kdl create mode 100644 tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl create mode 100644 tests/test_cases/input/unusual_chars_in_bare_id.kdl create mode 100644 tests/test_cases/input/zero_arg.kdl create mode 100644 tests/test_cases/input/zero_float.kdl create mode 100644 tests/test_cases/input/zero_int.kdl diff --git a/README.md b/README.md index 71ababc..0612426 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,14 @@ free to jump in and give us your 2 cents! * PHP: [kdl-php](https://github.com/kdl-org/kdl-php) * Python: [kdl-py](https://github.com/daeken/kdl-py) +## Compatibility Test Suite + +There is a [compatibility test suite](tests/README.md) available for KDL +implementors to check that their implementations are actually spec-compatible. + +The implementations above are not guaranteed to pass this test suite in its +entirety, but in the future, may be required to in order to be included here. + ## Editor Support * [VS Code](https://marketplace.visualstudio.com/items?itemName=kdl-org.kdl&ssr=false#review-details) diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..0484ac4 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,36 @@ +# Full Document Test Cases + +The `input` folder contains test cases for KDL parsers. The `expected_kdl` +folder contains files with the same name as those in `input` with the expected +output after being run through the parser and printed out again. If there's no +file in `expected_kdl` with a name corresponding to one in `input` it +indicates that parsing for that case should fail. + +By necessity, the files in `expected_kdl` are not identical to their +corresponding inputs. They are instead pretty-printed according to the +following rules: + +* All comments removed +* Extra empty lines removed except for a newline after the last node +* All nodes should be reformatted without escaped newlines +* Node fields should be `identifier ` +* All strings must be represented as regular strings, with appropriate escapes + for invalid bare characters. That means that raw strings must be converted + to plain strings, and escaped. +* Any literal newlines or other ascii escape characters in escaped strings + replaced with their escape sequences. +* All identifiers must be unquoted unless they _must_ be quoted. That means + `"foo"` becomes `foo`, and `"foo bar"` stays that way. +* Any duplicate properties must be removed, with only the rightmost one + remaining. This also means duplicate properties must be allowed. +* 4 space indents +* All numbers must be converted to their simplest decimal representation. That + means that hex, octal, and binary must all be converted to decimals. All + floats must be represented using `E` notation, with a single digit left of + the decimal point if the float is less than 1. While parsers are required to + _consume_ different number syntaxes, they are under no obligation to + represent numbers in any particular way. + +Data may be manipulated as you wish in order to output the expected KDL. This +test suite verifies the ability to **parse**, not specific quirks about +internal representations. diff --git a/tests/test_cases/expected_kdl/all_escapes.kdl b/tests/test_cases/expected_kdl/all_escapes.kdl new file mode 100644 index 0000000..5bb1dc3 --- /dev/null +++ b/tests/test_cases/expected_kdl/all_escapes.kdl @@ -0,0 +1 @@ +node "\"\\\/\b\f\n\r\t" diff --git a/tests/test_cases/expected_kdl/all_node_fields.kdl b/tests/test_cases/expected_kdl/all_node_fields.kdl new file mode 100644 index 0000000..fc8a9e4 --- /dev/null +++ b/tests/test_cases/expected_kdl/all_node_fields.kdl @@ -0,0 +1,3 @@ +node "arg" prop="val" { + inner_node +} diff --git a/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl b/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl new file mode 100644 index 0000000..27d9739 --- /dev/null +++ b/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl @@ -0,0 +1 @@ +node "arg" arg="val" diff --git a/tests/test_cases/expected_kdl/asterisk_in_block_comment.kdl b/tests/test_cases/expected_kdl/asterisk_in_block_comment.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/asterisk_in_block_comment.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/bare_emoji.kdl b/tests/test_cases/expected_kdl/bare_emoji.kdl new file mode 100644 index 0000000..60707c8 --- /dev/null +++ b/tests/test_cases/expected_kdl/bare_emoji.kdl @@ -0,0 +1 @@ +😁 "happy!" diff --git a/tests/test_cases/expected_kdl/binary.kdl b/tests/test_cases/expected_kdl/binary.kdl new file mode 100644 index 0000000..5d111b9 --- /dev/null +++ b/tests/test_cases/expected_kdl/binary.kdl @@ -0,0 +1 @@ +node 0b10 diff --git a/tests/test_cases/expected_kdl/binary_trailing_underscore.kdl b/tests/test_cases/expected_kdl/binary_trailing_underscore.kdl new file mode 100644 index 0000000..5d111b9 --- /dev/null +++ b/tests/test_cases/expected_kdl/binary_trailing_underscore.kdl @@ -0,0 +1 @@ +node 0b10 diff --git a/tests/test_cases/expected_kdl/binary_underscore.kdl b/tests/test_cases/expected_kdl/binary_underscore.kdl new file mode 100644 index 0000000..5d111b9 --- /dev/null +++ b/tests/test_cases/expected_kdl/binary_underscore.kdl @@ -0,0 +1 @@ +node 0b10 diff --git a/tests/test_cases/expected_kdl/block_comment.kdl b/tests/test_cases/expected_kdl/block_comment.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/block_comment.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/block_comment_after_node.kdl b/tests/test_cases/expected_kdl/block_comment_after_node.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/block_comment_after_node.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/block_comment_before_node.kdl b/tests/test_cases/expected_kdl/block_comment_before_node.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/block_comment_before_node.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/block_comment_before_node_no_space.kdl b/tests/test_cases/expected_kdl/block_comment_before_node_no_space.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/block_comment_before_node_no_space.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/block_comment_newline.kdl b/tests/test_cases/expected_kdl/block_comment_newline.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/block_comment_newline.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/boolean_arg.kdl b/tests/test_cases/expected_kdl/boolean_arg.kdl new file mode 100644 index 0000000..9c7928e --- /dev/null +++ b/tests/test_cases/expected_kdl/boolean_arg.kdl @@ -0,0 +1 @@ +node false true diff --git a/tests/test_cases/expected_kdl/boolean_prop.kdl b/tests/test_cases/expected_kdl/boolean_prop.kdl new file mode 100644 index 0000000..712b60b --- /dev/null +++ b/tests/test_cases/expected_kdl/boolean_prop.kdl @@ -0,0 +1 @@ +node prop1=true prop2=false diff --git a/tests/test_cases/expected_kdl/commented_arg.kdl b/tests/test_cases/expected_kdl/commented_arg.kdl new file mode 100644 index 0000000..226fd56 --- /dev/null +++ b/tests/test_cases/expected_kdl/commented_arg.kdl @@ -0,0 +1 @@ +node "arg2" diff --git a/tests/test_cases/expected_kdl/commented_child.kdl b/tests/test_cases/expected_kdl/commented_child.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/commented_child.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/commented_line.kdl b/tests/test_cases/expected_kdl/commented_line.kdl new file mode 100644 index 0000000..2fa08cd --- /dev/null +++ b/tests/test_cases/expected_kdl/commented_line.kdl @@ -0,0 +1 @@ +node_2 diff --git a/tests/test_cases/expected_kdl/commented_node.kdl b/tests/test_cases/expected_kdl/commented_node.kdl new file mode 100644 index 0000000..2fa08cd --- /dev/null +++ b/tests/test_cases/expected_kdl/commented_node.kdl @@ -0,0 +1 @@ +node_2 diff --git a/tests/test_cases/expected_kdl/commented_prop.kdl b/tests/test_cases/expected_kdl/commented_prop.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/commented_prop.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/crlf_between_nodes.kdl b/tests/test_cases/expected_kdl/crlf_between_nodes.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/crlf_between_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/emoji.kdl b/tests/test_cases/expected_kdl/emoji.kdl new file mode 100644 index 0000000..3ed56e2 --- /dev/null +++ b/tests/test_cases/expected_kdl/emoji.kdl @@ -0,0 +1 @@ +node "😀" diff --git a/tests/test_cases/expected_kdl/empty.kdl b/tests/test_cases/expected_kdl/empty.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/empty_child.kdl b/tests/test_cases/expected_kdl/empty_child.kdl new file mode 100644 index 0000000..a166b33 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_child.kdl @@ -0,0 +1,2 @@ +node { +} diff --git a/tests/test_cases/expected_kdl/empty_child_different_lines.kdl b/tests/test_cases/expected_kdl/empty_child_different_lines.kdl new file mode 100644 index 0000000..a166b33 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_child_different_lines.kdl @@ -0,0 +1,2 @@ +node { +} diff --git a/tests/test_cases/expected_kdl/empty_child_same_line.kdl b/tests/test_cases/expected_kdl/empty_child_same_line.kdl new file mode 100644 index 0000000..a166b33 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_child_same_line.kdl @@ -0,0 +1,2 @@ +node { +} diff --git a/tests/test_cases/expected_kdl/empty_child_whitespace.kdl b/tests/test_cases/expected_kdl/empty_child_whitespace.kdl new file mode 100644 index 0000000..a166b33 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_child_whitespace.kdl @@ -0,0 +1,2 @@ +node { +} diff --git a/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl b/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl new file mode 100644 index 0000000..ebfa893 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl @@ -0,0 +1 @@ +"" "arg" diff --git a/tests/test_cases/expected_kdl/empty_quoted_prop_key.kdl b/tests/test_cases/expected_kdl/empty_quoted_prop_key.kdl new file mode 100644 index 0000000..e6e1310 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_quoted_prop_key.kdl @@ -0,0 +1 @@ +node ""="empty" diff --git a/tests/test_cases/expected_kdl/empty_string_arg.kdl b/tests/test_cases/expected_kdl/empty_string_arg.kdl new file mode 100644 index 0000000..8ade134 --- /dev/null +++ b/tests/test_cases/expected_kdl/empty_string_arg.kdl @@ -0,0 +1 @@ +node "" diff --git a/tests/test_cases/expected_kdl/esc_newline_in_string.kdl b/tests/test_cases/expected_kdl/esc_newline_in_string.kdl new file mode 100644 index 0000000..fd38cb0 --- /dev/null +++ b/tests/test_cases/expected_kdl/esc_newline_in_string.kdl @@ -0,0 +1 @@ +node "hello\nworld" diff --git a/tests/test_cases/expected_kdl/esc_unicode_in_string.kdl b/tests/test_cases/expected_kdl/esc_unicode_in_string.kdl new file mode 100644 index 0000000..fd38cb0 --- /dev/null +++ b/tests/test_cases/expected_kdl/esc_unicode_in_string.kdl @@ -0,0 +1 @@ +node "hello\nworld" diff --git a/tests/test_cases/expected_kdl/escline.kdl b/tests/test_cases/expected_kdl/escline.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/escline.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/escline_comment_node.kdl b/tests/test_cases/expected_kdl/escline_comment_node.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/escline_comment_node.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/escline_line_comment.kdl b/tests/test_cases/expected_kdl/escline_line_comment.kdl new file mode 100644 index 0000000..8a5dc33 --- /dev/null +++ b/tests/test_cases/expected_kdl/escline_line_comment.kdl @@ -0,0 +1 @@ +node "arg" "arg2\n" diff --git a/tests/test_cases/expected_kdl/escline_node.kdl b/tests/test_cases/expected_kdl/escline_node.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/escline_node.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/hex.kdl b/tests/test_cases/expected_kdl/hex.kdl new file mode 100644 index 0000000..6d1eba2 --- /dev/null +++ b/tests/test_cases/expected_kdl/hex.kdl @@ -0,0 +1 @@ +node 0xabcdef1234567890 diff --git a/tests/test_cases/expected_kdl/hex_int.kdl b/tests/test_cases/expected_kdl/hex_int.kdl new file mode 100644 index 0000000..b552b7b --- /dev/null +++ b/tests/test_cases/expected_kdl/hex_int.kdl @@ -0,0 +1 @@ +node 0xabcdef0123456789abcdef diff --git a/tests/test_cases/expected_kdl/hex_int_underscores.kdl b/tests/test_cases/expected_kdl/hex_int_underscores.kdl new file mode 100644 index 0000000..b18a9c3 --- /dev/null +++ b/tests/test_cases/expected_kdl/hex_int_underscores.kdl @@ -0,0 +1 @@ +node 0xabcdef0123 diff --git a/tests/test_cases/expected_kdl/hex_leading_zero.kdl b/tests/test_cases/expected_kdl/hex_leading_zero.kdl new file mode 100644 index 0000000..c05ae7c --- /dev/null +++ b/tests/test_cases/expected_kdl/hex_leading_zero.kdl @@ -0,0 +1 @@ +node 0x1 diff --git a/tests/test_cases/expected_kdl/int_multiple_underscore.kdl b/tests/test_cases/expected_kdl/int_multiple_underscore.kdl new file mode 100644 index 0000000..37cf4bf --- /dev/null +++ b/tests/test_cases/expected_kdl/int_multiple_underscore.kdl @@ -0,0 +1 @@ +node 1234 diff --git a/tests/test_cases/expected_kdl/just_block_comment.kdl b/tests/test_cases/expected_kdl/just_block_comment.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/just_block_comment.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/just_child.kdl b/tests/test_cases/expected_kdl/just_child.kdl new file mode 100644 index 0000000..ee79536 --- /dev/null +++ b/tests/test_cases/expected_kdl/just_child.kdl @@ -0,0 +1,3 @@ +node { + inner_node +} diff --git a/tests/test_cases/expected_kdl/just_newline.kdl b/tests/test_cases/expected_kdl/just_newline.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/just_newline.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/just_node_id.kdl b/tests/test_cases/expected_kdl/just_node_id.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/just_node_id.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/just_space.kdl b/tests/test_cases/expected_kdl/just_space.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/just_space.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/leading_newline.kdl b/tests/test_cases/expected_kdl/leading_newline.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/leading_newline.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/leading_zero_binary.kdl b/tests/test_cases/expected_kdl/leading_zero_binary.kdl new file mode 100644 index 0000000..2a38fed --- /dev/null +++ b/tests/test_cases/expected_kdl/leading_zero_binary.kdl @@ -0,0 +1 @@ +node 0b1 diff --git a/tests/test_cases/expected_kdl/leading_zero_int.kdl b/tests/test_cases/expected_kdl/leading_zero_int.kdl new file mode 100644 index 0000000..0526c15 --- /dev/null +++ b/tests/test_cases/expected_kdl/leading_zero_int.kdl @@ -0,0 +1 @@ +node 11 diff --git a/tests/test_cases/expected_kdl/leading_zero_oct.kdl b/tests/test_cases/expected_kdl/leading_zero_oct.kdl new file mode 100644 index 0000000..9585c83 --- /dev/null +++ b/tests/test_cases/expected_kdl/leading_zero_oct.kdl @@ -0,0 +1 @@ +node 0o1 diff --git a/tests/test_cases/expected_kdl/multiline_comment.kdl b/tests/test_cases/expected_kdl/multiline_comment.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/multiline_comment.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/multiline_nodes.kdl b/tests/test_cases/expected_kdl/multiline_nodes.kdl new file mode 100644 index 0000000..bec6d05 --- /dev/null +++ b/tests/test_cases/expected_kdl/multiline_nodes.kdl @@ -0,0 +1 @@ +node "arg1" "arg2" diff --git a/tests/test_cases/expected_kdl/multiline_string.kdl b/tests/test_cases/expected_kdl/multiline_string.kdl new file mode 100644 index 0000000..021493e --- /dev/null +++ b/tests/test_cases/expected_kdl/multiline_string.kdl @@ -0,0 +1 @@ +node " hey\neveryone\nhow goes?\n" diff --git a/tests/test_cases/expected_kdl/negative_exponent.kdl b/tests/test_cases/expected_kdl/negative_exponent.kdl new file mode 100644 index 0000000..aae8926 --- /dev/null +++ b/tests/test_cases/expected_kdl/negative_exponent.kdl @@ -0,0 +1 @@ +node 1.0E-10 diff --git a/tests/test_cases/expected_kdl/negative_float.kdl b/tests/test_cases/expected_kdl/negative_float.kdl new file mode 100644 index 0000000..c6a4cc5 --- /dev/null +++ b/tests/test_cases/expected_kdl/negative_float.kdl @@ -0,0 +1 @@ +node -1.0 key=-10.0 diff --git a/tests/test_cases/expected_kdl/negative_int.kdl b/tests/test_cases/expected_kdl/negative_int.kdl new file mode 100644 index 0000000..269da03 --- /dev/null +++ b/tests/test_cases/expected_kdl/negative_int.kdl @@ -0,0 +1 @@ +node -10 prop=-15 diff --git a/tests/test_cases/expected_kdl/nested_block_comment.kdl b/tests/test_cases/expected_kdl/nested_block_comment.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/nested_block_comment.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/nested_children.kdl b/tests/test_cases/expected_kdl/nested_children.kdl new file mode 100644 index 0000000..e44720d --- /dev/null +++ b/tests/test_cases/expected_kdl/nested_children.kdl @@ -0,0 +1,5 @@ +node1 { + node2 { + node + } +} diff --git a/tests/test_cases/expected_kdl/nested_comments.kdl b/tests/test_cases/expected_kdl/nested_comments.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/nested_comments.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl b/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/newline_between_nodes.kdl b/tests/test_cases/expected_kdl/newline_between_nodes.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/newline_between_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl b/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/no_decimal_exponent.kdl b/tests/test_cases/expected_kdl/no_decimal_exponent.kdl new file mode 100644 index 0000000..ddf1aa6 --- /dev/null +++ b/tests/test_cases/expected_kdl/no_decimal_exponent.kdl @@ -0,0 +1 @@ +node 1E+10 diff --git a/tests/test_cases/expected_kdl/node_false.kdl b/tests/test_cases/expected_kdl/node_false.kdl new file mode 100644 index 0000000..ef60c44 --- /dev/null +++ b/tests/test_cases/expected_kdl/node_false.kdl @@ -0,0 +1 @@ +node false diff --git a/tests/test_cases/expected_kdl/node_true.kdl b/tests/test_cases/expected_kdl/node_true.kdl new file mode 100644 index 0000000..4b02a06 --- /dev/null +++ b/tests/test_cases/expected_kdl/node_true.kdl @@ -0,0 +1 @@ +node true diff --git a/tests/test_cases/expected_kdl/null_arg.kdl b/tests/test_cases/expected_kdl/null_arg.kdl new file mode 100644 index 0000000..c0e6cb5 --- /dev/null +++ b/tests/test_cases/expected_kdl/null_arg.kdl @@ -0,0 +1 @@ +node null diff --git a/tests/test_cases/expected_kdl/null_prop.kdl b/tests/test_cases/expected_kdl/null_prop.kdl new file mode 100644 index 0000000..85ef005 --- /dev/null +++ b/tests/test_cases/expected_kdl/null_prop.kdl @@ -0,0 +1 @@ +node prop=null diff --git a/tests/test_cases/expected_kdl/numeric_arg.kdl b/tests/test_cases/expected_kdl/numeric_arg.kdl new file mode 100644 index 0000000..33bfe55 --- /dev/null +++ b/tests/test_cases/expected_kdl/numeric_arg.kdl @@ -0,0 +1 @@ +node 15.7 diff --git a/tests/test_cases/expected_kdl/numeric_prop.kdl b/tests/test_cases/expected_kdl/numeric_prop.kdl new file mode 100644 index 0000000..934ae83 --- /dev/null +++ b/tests/test_cases/expected_kdl/numeric_prop.kdl @@ -0,0 +1 @@ +node prop=10.0 diff --git a/tests/test_cases/expected_kdl/octal.kdl b/tests/test_cases/expected_kdl/octal.kdl new file mode 100644 index 0000000..68bc955 --- /dev/null +++ b/tests/test_cases/expected_kdl/octal.kdl @@ -0,0 +1 @@ +node 0o76543210 diff --git a/tests/test_cases/expected_kdl/only_cr.kdl b/tests/test_cases/expected_kdl/only_cr.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/only_cr.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/only_line_comment.kdl b/tests/test_cases/expected_kdl/only_line_comment.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/only_line_comment.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/only_line_comment_crlf.kdl b/tests/test_cases/expected_kdl/only_line_comment_crlf.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/only_line_comment_crlf.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/only_line_comment_newline.kdl b/tests/test_cases/expected_kdl/only_line_comment_newline.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/only_line_comment_newline.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/parse_all_arg_types.kdl b/tests/test_cases/expected_kdl/parse_all_arg_types.kdl new file mode 100644 index 0000000..3d1f3f7 --- /dev/null +++ b/tests/test_cases/expected_kdl/parse_all_arg_types.kdl @@ -0,0 +1 @@ +node 1 1.0 1.0E+10 1.0E-10 0x1 0o7 0b10 "arg" "arg\\\\" true false null diff --git a/tests/test_cases/expected_kdl/positive_exponent.kdl b/tests/test_cases/expected_kdl/positive_exponent.kdl new file mode 100644 index 0000000..46dc2b9 --- /dev/null +++ b/tests/test_cases/expected_kdl/positive_exponent.kdl @@ -0,0 +1 @@ +node 1.0E+10 diff --git a/tests/test_cases/expected_kdl/positive_int.kdl b/tests/test_cases/expected_kdl/positive_int.kdl new file mode 100644 index 0000000..5b622c0 --- /dev/null +++ b/tests/test_cases/expected_kdl/positive_int.kdl @@ -0,0 +1 @@ +node 10 diff --git a/tests/test_cases/expected_kdl/quoted_node_name.kdl b/tests/test_cases/expected_kdl/quoted_node_name.kdl new file mode 100644 index 0000000..672e7ff --- /dev/null +++ b/tests/test_cases/expected_kdl/quoted_node_name.kdl @@ -0,0 +1 @@ +"0node" diff --git a/tests/test_cases/expected_kdl/quoted_numeric.kdl b/tests/test_cases/expected_kdl/quoted_numeric.kdl new file mode 100644 index 0000000..fa0ed33 --- /dev/null +++ b/tests/test_cases/expected_kdl/quoted_numeric.kdl @@ -0,0 +1 @@ +node prop="10.0" diff --git a/tests/test_cases/expected_kdl/quoted_prop_name.kdl b/tests/test_cases/expected_kdl/quoted_prop_name.kdl new file mode 100644 index 0000000..170a05a --- /dev/null +++ b/tests/test_cases/expected_kdl/quoted_prop_name.kdl @@ -0,0 +1 @@ +node "0prop"="val" diff --git a/tests/test_cases/expected_kdl/r_node.kdl b/tests/test_cases/expected_kdl/r_node.kdl new file mode 100644 index 0000000..4a98807 --- /dev/null +++ b/tests/test_cases/expected_kdl/r_node.kdl @@ -0,0 +1 @@ +r "arg" diff --git a/tests/test_cases/expected_kdl/raw_node_name.kdl b/tests/test_cases/expected_kdl/raw_node_name.kdl new file mode 100644 index 0000000..984061e --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_node_name.kdl @@ -0,0 +1 @@ +"\\node" diff --git a/tests/test_cases/expected_kdl/raw_string_arg.kdl b/tests/test_cases/expected_kdl/raw_string_arg.kdl new file mode 100644 index 0000000..a909993 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_arg.kdl @@ -0,0 +1,3 @@ +node_1 "arg\\n" +node_2 "\"arg\\n\"and stuff" +node_3 "#\"arg\\n\"#and stuff" diff --git a/tests/test_cases/expected_kdl/raw_string_backslash.kdl b/tests/test_cases/expected_kdl/raw_string_backslash.kdl new file mode 100644 index 0000000..551cf10 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_backslash.kdl @@ -0,0 +1 @@ +node "\\n" diff --git a/tests/test_cases/expected_kdl/raw_string_hash_no_esc.kdl b/tests/test_cases/expected_kdl/raw_string_hash_no_esc.kdl new file mode 100644 index 0000000..9964729 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_hash_no_esc.kdl @@ -0,0 +1 @@ +node "#" diff --git a/tests/test_cases/expected_kdl/raw_string_just_backslash.kdl b/tests/test_cases/expected_kdl/raw_string_just_backslash.kdl new file mode 100644 index 0000000..5702080 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_just_backslash.kdl @@ -0,0 +1 @@ +node "\\" diff --git a/tests/test_cases/expected_kdl/raw_string_just_quote.kdl b/tests/test_cases/expected_kdl/raw_string_just_quote.kdl new file mode 100644 index 0000000..0a76315 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_just_quote.kdl @@ -0,0 +1 @@ +node "\"" diff --git a/tests/test_cases/expected_kdl/raw_string_multiple_hash.kdl b/tests/test_cases/expected_kdl/raw_string_multiple_hash.kdl new file mode 100644 index 0000000..1ba63d1 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_multiple_hash.kdl @@ -0,0 +1 @@ +node "\"#\"##" diff --git a/tests/test_cases/expected_kdl/raw_string_newline.kdl b/tests/test_cases/expected_kdl/raw_string_newline.kdl new file mode 100644 index 0000000..d738029 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_newline.kdl @@ -0,0 +1 @@ +node "\nhello\nworld\n" diff --git a/tests/test_cases/expected_kdl/raw_string_prop.kdl b/tests/test_cases/expected_kdl/raw_string_prop.kdl new file mode 100644 index 0000000..0762d88 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_prop.kdl @@ -0,0 +1,3 @@ +node_1 prop="arg\\n" +node_2 prop="\"arg\"\\n" +node_3 prop="#\"arg\"#\\n" diff --git a/tests/test_cases/expected_kdl/raw_string_quote.kdl b/tests/test_cases/expected_kdl/raw_string_quote.kdl new file mode 100644 index 0000000..d59edb6 --- /dev/null +++ b/tests/test_cases/expected_kdl/raw_string_quote.kdl @@ -0,0 +1 @@ +node "a\"b" diff --git a/tests/test_cases/expected_kdl/repeated_arg.kdl b/tests/test_cases/expected_kdl/repeated_arg.kdl new file mode 100644 index 0000000..849fee0 --- /dev/null +++ b/tests/test_cases/expected_kdl/repeated_arg.kdl @@ -0,0 +1 @@ +node "arg" "arg" diff --git a/tests/test_cases/expected_kdl/repeated_prop.kdl b/tests/test_cases/expected_kdl/repeated_prop.kdl new file mode 100644 index 0000000..46c9236 --- /dev/null +++ b/tests/test_cases/expected_kdl/repeated_prop.kdl @@ -0,0 +1 @@ +node prop=11 diff --git a/tests/test_cases/expected_kdl/same_args.kdl b/tests/test_cases/expected_kdl/same_args.kdl new file mode 100644 index 0000000..6b8ae13 --- /dev/null +++ b/tests/test_cases/expected_kdl/same_args.kdl @@ -0,0 +1 @@ +node "whee" "whee" diff --git a/tests/test_cases/expected_kdl/same_name_nodes.kdl b/tests/test_cases/expected_kdl/same_name_nodes.kdl new file mode 100644 index 0000000..3e545b1 --- /dev/null +++ b/tests/test_cases/expected_kdl/same_name_nodes.kdl @@ -0,0 +1,2 @@ +node +node diff --git a/tests/test_cases/expected_kdl/sci_notation_large.kdl b/tests/test_cases/expected_kdl/sci_notation_large.kdl new file mode 100644 index 0000000..7fbb60d --- /dev/null +++ b/tests/test_cases/expected_kdl/sci_notation_large.kdl @@ -0,0 +1 @@ +node prop=1.23E+1000 diff --git a/tests/test_cases/expected_kdl/sci_notation_small.kdl b/tests/test_cases/expected_kdl/sci_notation_small.kdl new file mode 100644 index 0000000..5bd062c --- /dev/null +++ b/tests/test_cases/expected_kdl/sci_notation_small.kdl @@ -0,0 +1 @@ +node prop=1.23E-1000 diff --git a/tests/test_cases/expected_kdl/semicolon_after_child.kdl b/tests/test_cases/expected_kdl/semicolon_after_child.kdl new file mode 100644 index 0000000..e3346f1 --- /dev/null +++ b/tests/test_cases/expected_kdl/semicolon_after_child.kdl @@ -0,0 +1,3 @@ +node { + childnode +} diff --git a/tests/test_cases/expected_kdl/semicolon_in_child.kdl b/tests/test_cases/expected_kdl/semicolon_in_child.kdl new file mode 100644 index 0000000..9d8395e --- /dev/null +++ b/tests/test_cases/expected_kdl/semicolon_in_child.kdl @@ -0,0 +1,3 @@ +node1 { + node2 +} diff --git a/tests/test_cases/expected_kdl/semicolon_separated.kdl b/tests/test_cases/expected_kdl/semicolon_separated.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/semicolon_separated.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/semicolon_separated_nodes.kdl b/tests/test_cases/expected_kdl/semicolon_separated_nodes.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/semicolon_separated_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/semicolon_terminated.kdl b/tests/test_cases/expected_kdl/semicolon_terminated.kdl new file mode 100644 index 0000000..f50c4f2 --- /dev/null +++ b/tests/test_cases/expected_kdl/semicolon_terminated.kdl @@ -0,0 +1 @@ +node1 diff --git a/tests/test_cases/expected_kdl/single_arg.kdl b/tests/test_cases/expected_kdl/single_arg.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/single_arg.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/single_prop.kdl b/tests/test_cases/expected_kdl/single_prop.kdl new file mode 100644 index 0000000..a0d0062 --- /dev/null +++ b/tests/test_cases/expected_kdl/single_prop.kdl @@ -0,0 +1 @@ +node prop="val" diff --git a/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl b/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl new file mode 100644 index 0000000..226fd56 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl @@ -0,0 +1 @@ +node "arg2" diff --git a/tests/test_cases/expected_kdl/slashdash_arg_before_newline_esc.kdl b/tests/test_cases/expected_kdl/slashdash_arg_before_newline_esc.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_arg_before_newline_esc.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/slashdash_child.kdl b/tests/test_cases/expected_kdl/slashdash_child.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_child.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/slashdash_empty_child.kdl b/tests/test_cases/expected_kdl/slashdash_empty_child.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_empty_child.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/slashdash_full_node.kdl b/tests/test_cases/expected_kdl/slashdash_full_node.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_full_node.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/slashdash_in_slashdash.kdl b/tests/test_cases/expected_kdl/slashdash_in_slashdash.kdl new file mode 100644 index 0000000..6810417 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_in_slashdash.kdl @@ -0,0 +1 @@ +node2 diff --git a/tests/test_cases/expected_kdl/slashdash_negative_number.kdl b/tests/test_cases/expected_kdl/slashdash_negative_number.kdl new file mode 100644 index 0000000..b76b862 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_negative_number.kdl @@ -0,0 +1 @@ +node 2.0 diff --git a/tests/test_cases/expected_kdl/slashdash_node_in_child.kdl b/tests/test_cases/expected_kdl/slashdash_node_in_child.kdl new file mode 100644 index 0000000..56e0831 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_node_in_child.kdl @@ -0,0 +1,2 @@ +node1 { +} diff --git a/tests/test_cases/expected_kdl/slashdash_node_with_child.kdl b/tests/test_cases/expected_kdl/slashdash_node_with_child.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_node_with_child.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/slashdash_only_node.kdl b/tests/test_cases/expected_kdl/slashdash_only_node.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_only_node.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/slashdash_only_node_with_space.kdl b/tests/test_cases/expected_kdl/slashdash_only_node_with_space.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_only_node_with_space.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/expected_kdl/slashdash_prop.kdl b/tests/test_cases/expected_kdl/slashdash_prop.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_prop.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/slashdash_raw_prop_key.kdl b/tests/test_cases/expected_kdl/slashdash_raw_prop_key.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_raw_prop_key.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/string_arg.kdl b/tests/test_cases/expected_kdl/string_arg.kdl new file mode 100644 index 0000000..b3a0426 --- /dev/null +++ b/tests/test_cases/expected_kdl/string_arg.kdl @@ -0,0 +1 @@ +node "arg" diff --git a/tests/test_cases/expected_kdl/string_prop.kdl b/tests/test_cases/expected_kdl/string_prop.kdl new file mode 100644 index 0000000..a0d0062 --- /dev/null +++ b/tests/test_cases/expected_kdl/string_prop.kdl @@ -0,0 +1 @@ +node prop="val" diff --git a/tests/test_cases/expected_kdl/tab_space.kdl b/tests/test_cases/expected_kdl/tab_space.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/tab_space.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/trailing_crlf.kdl b/tests/test_cases/expected_kdl/trailing_crlf.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/expected_kdl/trailing_crlf.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/expected_kdl/trailing_underscore_hex.kdl b/tests/test_cases/expected_kdl/trailing_underscore_hex.kdl new file mode 100644 index 0000000..5d6cf28 --- /dev/null +++ b/tests/test_cases/expected_kdl/trailing_underscore_hex.kdl @@ -0,0 +1 @@ +node 0x123abc diff --git a/tests/test_cases/expected_kdl/trailing_underscore_octal.kdl b/tests/test_cases/expected_kdl/trailing_underscore_octal.kdl new file mode 100644 index 0000000..0e653f9 --- /dev/null +++ b/tests/test_cases/expected_kdl/trailing_underscore_octal.kdl @@ -0,0 +1 @@ +node 0o123 diff --git a/tests/test_cases/expected_kdl/two_nodes.kdl b/tests/test_cases/expected_kdl/two_nodes.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/two_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/underscore_in_exponent.kdl b/tests/test_cases/expected_kdl/underscore_in_exponent.kdl new file mode 100644 index 0000000..a5b975d --- /dev/null +++ b/tests/test_cases/expected_kdl/underscore_in_exponent.kdl @@ -0,0 +1 @@ +node 1.0E-100 diff --git a/tests/test_cases/expected_kdl/underscore_in_float.kdl b/tests/test_cases/expected_kdl/underscore_in_float.kdl new file mode 100644 index 0000000..6aafd1c --- /dev/null +++ b/tests/test_cases/expected_kdl/underscore_in_float.kdl @@ -0,0 +1 @@ +node 11.0 diff --git a/tests/test_cases/expected_kdl/underscore_in_int.kdl b/tests/test_cases/expected_kdl/underscore_in_int.kdl new file mode 100644 index 0000000..5b622c0 --- /dev/null +++ b/tests/test_cases/expected_kdl/underscore_in_int.kdl @@ -0,0 +1 @@ +node 10 diff --git a/tests/test_cases/expected_kdl/underscore_in_octal.kdl b/tests/test_cases/expected_kdl/underscore_in_octal.kdl new file mode 100644 index 0000000..94f0c85 --- /dev/null +++ b/tests/test_cases/expected_kdl/underscore_in_octal.kdl @@ -0,0 +1 @@ +node 0o1234567 diff --git a/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl b/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl new file mode 100644 index 0000000..7429425 --- /dev/null +++ b/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl @@ -0,0 +1 @@ +foo123~!@#$%^&*.:'|/?+ "weeee" diff --git a/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl b/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl new file mode 100644 index 0000000..7429425 --- /dev/null +++ b/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl @@ -0,0 +1 @@ +foo123~!@#$%^&*.:'|/?+ "weeee" diff --git a/tests/test_cases/expected_kdl/zero_arg.kdl b/tests/test_cases/expected_kdl/zero_arg.kdl new file mode 100644 index 0000000..74405b6 --- /dev/null +++ b/tests/test_cases/expected_kdl/zero_arg.kdl @@ -0,0 +1 @@ +node 0 diff --git a/tests/test_cases/expected_kdl/zero_float.kdl b/tests/test_cases/expected_kdl/zero_float.kdl new file mode 100644 index 0000000..fd5b1f1 --- /dev/null +++ b/tests/test_cases/expected_kdl/zero_float.kdl @@ -0,0 +1 @@ +node 0.0 diff --git a/tests/test_cases/expected_kdl/zero_int.kdl b/tests/test_cases/expected_kdl/zero_int.kdl new file mode 100644 index 0000000..74405b6 --- /dev/null +++ b/tests/test_cases/expected_kdl/zero_int.kdl @@ -0,0 +1 @@ +node 0 diff --git a/tests/test_cases/input/all_escapes.kdl b/tests/test_cases/input/all_escapes.kdl new file mode 100644 index 0000000..5bb1dc3 --- /dev/null +++ b/tests/test_cases/input/all_escapes.kdl @@ -0,0 +1 @@ +node "\"\\\/\b\f\n\r\t" diff --git a/tests/test_cases/input/all_node_fields.kdl b/tests/test_cases/input/all_node_fields.kdl new file mode 100644 index 0000000..719a8d1 --- /dev/null +++ b/tests/test_cases/input/all_node_fields.kdl @@ -0,0 +1,3 @@ +node "arg" prop="val" { + inner_node +} \ No newline at end of file diff --git a/tests/test_cases/input/arg_and_prop_same_name.kdl b/tests/test_cases/input/arg_and_prop_same_name.kdl new file mode 100644 index 0000000..b830f56 --- /dev/null +++ b/tests/test_cases/input/arg_and_prop_same_name.kdl @@ -0,0 +1 @@ +node "arg" arg="val" \ No newline at end of file diff --git a/tests/test_cases/input/asterisk_in_block_comment.kdl b/tests/test_cases/input/asterisk_in_block_comment.kdl new file mode 100644 index 0000000..46ec76f --- /dev/null +++ b/tests/test_cases/input/asterisk_in_block_comment.kdl @@ -0,0 +1 @@ +node /* * */ \ No newline at end of file diff --git a/tests/test_cases/input/bare_arg.kdl b/tests/test_cases/input/bare_arg.kdl new file mode 100644 index 0000000..ec2a21f --- /dev/null +++ b/tests/test_cases/input/bare_arg.kdl @@ -0,0 +1 @@ +node a \ No newline at end of file diff --git a/tests/test_cases/input/bare_emoji.kdl b/tests/test_cases/input/bare_emoji.kdl new file mode 100644 index 0000000..60707c8 --- /dev/null +++ b/tests/test_cases/input/bare_emoji.kdl @@ -0,0 +1 @@ +😁 "happy!" diff --git a/tests/test_cases/input/binary.kdl b/tests/test_cases/input/binary.kdl new file mode 100644 index 0000000..bf12920 --- /dev/null +++ b/tests/test_cases/input/binary.kdl @@ -0,0 +1 @@ +node 0b10 \ No newline at end of file diff --git a/tests/test_cases/input/binary_trailing_underscore.kdl b/tests/test_cases/input/binary_trailing_underscore.kdl new file mode 100644 index 0000000..6da7588 --- /dev/null +++ b/tests/test_cases/input/binary_trailing_underscore.kdl @@ -0,0 +1 @@ +node 0b10_ \ No newline at end of file diff --git a/tests/test_cases/input/binary_underscore.kdl b/tests/test_cases/input/binary_underscore.kdl new file mode 100644 index 0000000..c914517 --- /dev/null +++ b/tests/test_cases/input/binary_underscore.kdl @@ -0,0 +1 @@ +node 0b1_0 diff --git a/tests/test_cases/input/block_comment.kdl b/tests/test_cases/input/block_comment.kdl new file mode 100644 index 0000000..e6eddb9 --- /dev/null +++ b/tests/test_cases/input/block_comment.kdl @@ -0,0 +1 @@ +node /* comment */ "arg" \ No newline at end of file diff --git a/tests/test_cases/input/block_comment_after_node.kdl b/tests/test_cases/input/block_comment_after_node.kdl new file mode 100644 index 0000000..e7777ed --- /dev/null +++ b/tests/test_cases/input/block_comment_after_node.kdl @@ -0,0 +1 @@ +node /* hey */ "arg" diff --git a/tests/test_cases/input/block_comment_before_node.kdl b/tests/test_cases/input/block_comment_before_node.kdl new file mode 100644 index 0000000..5ad653e --- /dev/null +++ b/tests/test_cases/input/block_comment_before_node.kdl @@ -0,0 +1 @@ +/* hey */ node \ No newline at end of file diff --git a/tests/test_cases/input/block_comment_before_node_no_space.kdl b/tests/test_cases/input/block_comment_before_node_no_space.kdl new file mode 100644 index 0000000..1221234 --- /dev/null +++ b/tests/test_cases/input/block_comment_before_node_no_space.kdl @@ -0,0 +1 @@ +/* hey*/node diff --git a/tests/test_cases/input/block_comment_newline.kdl b/tests/test_cases/input/block_comment_newline.kdl new file mode 100644 index 0000000..14ac75d --- /dev/null +++ b/tests/test_cases/input/block_comment_newline.kdl @@ -0,0 +1 @@ +/* hey */ diff --git a/tests/test_cases/input/boolean_arg.kdl b/tests/test_cases/input/boolean_arg.kdl new file mode 100644 index 0000000..f099893 --- /dev/null +++ b/tests/test_cases/input/boolean_arg.kdl @@ -0,0 +1 @@ +node false true \ No newline at end of file diff --git a/tests/test_cases/input/boolean_prop.kdl b/tests/test_cases/input/boolean_prop.kdl new file mode 100644 index 0000000..61e3111 --- /dev/null +++ b/tests/test_cases/input/boolean_prop.kdl @@ -0,0 +1 @@ +node prop1=true prop2=false \ No newline at end of file diff --git a/tests/test_cases/input/commented_arg.kdl b/tests/test_cases/input/commented_arg.kdl new file mode 100644 index 0000000..e389cd2 --- /dev/null +++ b/tests/test_cases/input/commented_arg.kdl @@ -0,0 +1 @@ +node /- "arg1" "arg2" \ No newline at end of file diff --git a/tests/test_cases/input/commented_child.kdl b/tests/test_cases/input/commented_child.kdl new file mode 100644 index 0000000..e13c479 --- /dev/null +++ b/tests/test_cases/input/commented_child.kdl @@ -0,0 +1,3 @@ +node "arg" /- { + inner_node +} \ No newline at end of file diff --git a/tests/test_cases/input/commented_line.kdl b/tests/test_cases/input/commented_line.kdl new file mode 100644 index 0000000..bc8582c --- /dev/null +++ b/tests/test_cases/input/commented_line.kdl @@ -0,0 +1,2 @@ +// node_1 +node_2 \ No newline at end of file diff --git a/tests/test_cases/input/commented_node.kdl b/tests/test_cases/input/commented_node.kdl new file mode 100644 index 0000000..c9e5d12 --- /dev/null +++ b/tests/test_cases/input/commented_node.kdl @@ -0,0 +1,2 @@ +/- node_1 +node_2 diff --git a/tests/test_cases/input/commented_prop.kdl b/tests/test_cases/input/commented_prop.kdl new file mode 100644 index 0000000..acedc83 --- /dev/null +++ b/tests/test_cases/input/commented_prop.kdl @@ -0,0 +1 @@ +node /- prop="val" "arg" \ No newline at end of file diff --git a/tests/test_cases/input/crlf_between_nodes.kdl b/tests/test_cases/input/crlf_between_nodes.kdl new file mode 100644 index 0000000..4d9cb21 --- /dev/null +++ b/tests/test_cases/input/crlf_between_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 \ No newline at end of file diff --git a/tests/test_cases/input/dash_dash.kdl b/tests/test_cases/input/dash_dash.kdl new file mode 100644 index 0000000..759ddc5 --- /dev/null +++ b/tests/test_cases/input/dash_dash.kdl @@ -0,0 +1 @@ +node -- \ No newline at end of file diff --git a/tests/test_cases/input/dot_but_no_fraction.kdl b/tests/test_cases/input/dot_but_no_fraction.kdl new file mode 100644 index 0000000..48553fc --- /dev/null +++ b/tests/test_cases/input/dot_but_no_fraction.kdl @@ -0,0 +1 @@ +node 1. \ No newline at end of file diff --git a/tests/test_cases/input/dot_but_no_fraction_before_exponent.kdl b/tests/test_cases/input/dot_but_no_fraction_before_exponent.kdl new file mode 100644 index 0000000..8fb8fb8 --- /dev/null +++ b/tests/test_cases/input/dot_but_no_fraction_before_exponent.kdl @@ -0,0 +1 @@ +node 1.e7 \ No newline at end of file diff --git a/tests/test_cases/input/dot_in_exponent.kdl b/tests/test_cases/input/dot_in_exponent.kdl new file mode 100644 index 0000000..fab0d78 --- /dev/null +++ b/tests/test_cases/input/dot_in_exponent.kdl @@ -0,0 +1 @@ +node 1.0.0 \ No newline at end of file diff --git a/tests/test_cases/input/dot_zero.kdl b/tests/test_cases/input/dot_zero.kdl new file mode 100644 index 0000000..e8c0592 --- /dev/null +++ b/tests/test_cases/input/dot_zero.kdl @@ -0,0 +1 @@ +node .0 \ No newline at end of file diff --git a/tests/test_cases/input/emoji.kdl b/tests/test_cases/input/emoji.kdl new file mode 100644 index 0000000..3ed56e2 --- /dev/null +++ b/tests/test_cases/input/emoji.kdl @@ -0,0 +1 @@ +node "😀" diff --git a/tests/test_cases/input/empty.kdl b/tests/test_cases/input/empty.kdl new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_cases/input/empty_child.kdl b/tests/test_cases/input/empty_child.kdl new file mode 100644 index 0000000..be1cc03 --- /dev/null +++ b/tests/test_cases/input/empty_child.kdl @@ -0,0 +1,2 @@ +node { +} \ No newline at end of file diff --git a/tests/test_cases/input/empty_child_different_lines.kdl b/tests/test_cases/input/empty_child_different_lines.kdl new file mode 100644 index 0000000..be1cc03 --- /dev/null +++ b/tests/test_cases/input/empty_child_different_lines.kdl @@ -0,0 +1,2 @@ +node { +} \ No newline at end of file diff --git a/tests/test_cases/input/empty_child_same_line.kdl b/tests/test_cases/input/empty_child_same_line.kdl new file mode 100644 index 0000000..efba1b1 --- /dev/null +++ b/tests/test_cases/input/empty_child_same_line.kdl @@ -0,0 +1 @@ +node {} \ No newline at end of file diff --git a/tests/test_cases/input/empty_child_whitespace.kdl b/tests/test_cases/input/empty_child_whitespace.kdl new file mode 100644 index 0000000..405df30 --- /dev/null +++ b/tests/test_cases/input/empty_child_whitespace.kdl @@ -0,0 +1,3 @@ +node { + + } \ No newline at end of file diff --git a/tests/test_cases/input/empty_quoted_node_id.kdl b/tests/test_cases/input/empty_quoted_node_id.kdl new file mode 100644 index 0000000..2aeb594 --- /dev/null +++ b/tests/test_cases/input/empty_quoted_node_id.kdl @@ -0,0 +1 @@ +"" "arg" \ No newline at end of file diff --git a/tests/test_cases/input/empty_quoted_prop_key.kdl b/tests/test_cases/input/empty_quoted_prop_key.kdl new file mode 100644 index 0000000..e6e1310 --- /dev/null +++ b/tests/test_cases/input/empty_quoted_prop_key.kdl @@ -0,0 +1 @@ +node ""="empty" diff --git a/tests/test_cases/input/empty_string_arg.kdl b/tests/test_cases/input/empty_string_arg.kdl new file mode 100644 index 0000000..8ade134 --- /dev/null +++ b/tests/test_cases/input/empty_string_arg.kdl @@ -0,0 +1 @@ +node "" diff --git a/tests/test_cases/input/esc_newline_in_string.kdl b/tests/test_cases/input/esc_newline_in_string.kdl new file mode 100644 index 0000000..393ee37 --- /dev/null +++ b/tests/test_cases/input/esc_newline_in_string.kdl @@ -0,0 +1 @@ +node "hello\nworld" \ No newline at end of file diff --git a/tests/test_cases/input/esc_unicode_in_string.kdl b/tests/test_cases/input/esc_unicode_in_string.kdl new file mode 100644 index 0000000..285ed9c --- /dev/null +++ b/tests/test_cases/input/esc_unicode_in_string.kdl @@ -0,0 +1 @@ +node "hello\u{0a}world" diff --git a/tests/test_cases/input/escline.kdl b/tests/test_cases/input/escline.kdl new file mode 100644 index 0000000..9010e07 --- /dev/null +++ b/tests/test_cases/input/escline.kdl @@ -0,0 +1,2 @@ +node \ + "arg" \ No newline at end of file diff --git a/tests/test_cases/input/escline_comment_node.kdl b/tests/test_cases/input/escline_comment_node.kdl new file mode 100644 index 0000000..030c245 --- /dev/null +++ b/tests/test_cases/input/escline_comment_node.kdl @@ -0,0 +1,3 @@ +node1 + \// hey + node2 \ No newline at end of file diff --git a/tests/test_cases/input/escline_line_comment.kdl b/tests/test_cases/input/escline_line_comment.kdl new file mode 100644 index 0000000..31f19fd --- /dev/null +++ b/tests/test_cases/input/escline_line_comment.kdl @@ -0,0 +1,4 @@ +node \ // comment + "arg" \// comment + "arg2 +" \ No newline at end of file diff --git a/tests/test_cases/input/escline_node.kdl b/tests/test_cases/input/escline_node.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/input/escline_node.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/input/hex.kdl b/tests/test_cases/input/hex.kdl new file mode 100644 index 0000000..ec764dd --- /dev/null +++ b/tests/test_cases/input/hex.kdl @@ -0,0 +1 @@ +node 0xabcdef1234567890 \ No newline at end of file diff --git a/tests/test_cases/input/hex_int.kdl b/tests/test_cases/input/hex_int.kdl new file mode 100644 index 0000000..c2f421a --- /dev/null +++ b/tests/test_cases/input/hex_int.kdl @@ -0,0 +1 @@ +node 0xABCDEF0123456789abcdef diff --git a/tests/test_cases/input/hex_int_underscores.kdl b/tests/test_cases/input/hex_int_underscores.kdl new file mode 100644 index 0000000..8b7bd68 --- /dev/null +++ b/tests/test_cases/input/hex_int_underscores.kdl @@ -0,0 +1 @@ +node 0xABC_def_0123 \ No newline at end of file diff --git a/tests/test_cases/input/hex_leading_zero.kdl b/tests/test_cases/input/hex_leading_zero.kdl new file mode 100644 index 0000000..b2c98d0 --- /dev/null +++ b/tests/test_cases/input/hex_leading_zero.kdl @@ -0,0 +1 @@ +node 0x01 \ No newline at end of file diff --git a/tests/test_cases/input/illegal_char_in_binary.kdl b/tests/test_cases/input/illegal_char_in_binary.kdl new file mode 100644 index 0000000..1f4bd50 --- /dev/null +++ b/tests/test_cases/input/illegal_char_in_binary.kdl @@ -0,0 +1 @@ +node 0bx01 diff --git a/tests/test_cases/input/illegal_char_in_hex.kdl b/tests/test_cases/input/illegal_char_in_hex.kdl new file mode 100644 index 0000000..b55e1a6 --- /dev/null +++ b/tests/test_cases/input/illegal_char_in_hex.kdl @@ -0,0 +1 @@ +node 0x10g10 \ No newline at end of file diff --git a/tests/test_cases/input/illegal_char_in_octal.kdl b/tests/test_cases/input/illegal_char_in_octal.kdl new file mode 100644 index 0000000..4e36196 --- /dev/null +++ b/tests/test_cases/input/illegal_char_in_octal.kdl @@ -0,0 +1 @@ +node 0o45678 \ No newline at end of file diff --git a/tests/test_cases/input/int_multiple_underscore.kdl b/tests/test_cases/input/int_multiple_underscore.kdl new file mode 100644 index 0000000..04ded62 --- /dev/null +++ b/tests/test_cases/input/int_multiple_underscore.kdl @@ -0,0 +1 @@ +node 1_2_3_4 \ No newline at end of file diff --git a/tests/test_cases/input/just_block_comment.kdl b/tests/test_cases/input/just_block_comment.kdl new file mode 100644 index 0000000..4015df6 --- /dev/null +++ b/tests/test_cases/input/just_block_comment.kdl @@ -0,0 +1 @@ +/* hey */ \ No newline at end of file diff --git a/tests/test_cases/input/just_child.kdl b/tests/test_cases/input/just_child.kdl new file mode 100644 index 0000000..444022e --- /dev/null +++ b/tests/test_cases/input/just_child.kdl @@ -0,0 +1,3 @@ +node { + inner_node +} \ No newline at end of file diff --git a/tests/test_cases/input/just_newline.kdl b/tests/test_cases/input/just_newline.kdl new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/test_cases/input/just_newline.kdl @@ -0,0 +1 @@ + diff --git a/tests/test_cases/input/just_node_id.kdl b/tests/test_cases/input/just_node_id.kdl new file mode 100644 index 0000000..32b6e49 --- /dev/null +++ b/tests/test_cases/input/just_node_id.kdl @@ -0,0 +1 @@ +node \ No newline at end of file diff --git a/tests/test_cases/input/just_space.kdl b/tests/test_cases/input/just_space.kdl new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/tests/test_cases/input/just_space.kdl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/test_cases/input/leading_newline.kdl b/tests/test_cases/input/leading_newline.kdl new file mode 100644 index 0000000..fce4a83 --- /dev/null +++ b/tests/test_cases/input/leading_newline.kdl @@ -0,0 +1,2 @@ + +node \ No newline at end of file diff --git a/tests/test_cases/input/leading_zero_binary.kdl b/tests/test_cases/input/leading_zero_binary.kdl new file mode 100644 index 0000000..fa8209d --- /dev/null +++ b/tests/test_cases/input/leading_zero_binary.kdl @@ -0,0 +1 @@ +node 0b01 diff --git a/tests/test_cases/input/leading_zero_int.kdl b/tests/test_cases/input/leading_zero_int.kdl new file mode 100644 index 0000000..b4e520a --- /dev/null +++ b/tests/test_cases/input/leading_zero_int.kdl @@ -0,0 +1 @@ +node 011 diff --git a/tests/test_cases/input/leading_zero_oct.kdl b/tests/test_cases/input/leading_zero_oct.kdl new file mode 100644 index 0000000..d0eb382 --- /dev/null +++ b/tests/test_cases/input/leading_zero_oct.kdl @@ -0,0 +1 @@ +node 0o01 diff --git a/tests/test_cases/input/multiline_comment.kdl b/tests/test_cases/input/multiline_comment.kdl new file mode 100644 index 0000000..26485bc --- /dev/null +++ b/tests/test_cases/input/multiline_comment.kdl @@ -0,0 +1,4 @@ +node /* +some +comments +*/ "arg" \ No newline at end of file diff --git a/tests/test_cases/input/multiline_nodes.kdl b/tests/test_cases/input/multiline_nodes.kdl new file mode 100644 index 0000000..3dc907e --- /dev/null +++ b/tests/test_cases/input/multiline_nodes.kdl @@ -0,0 +1,3 @@ +node \ + "arg1" \// comment + "arg2" \ No newline at end of file diff --git a/tests/test_cases/input/multiline_string.kdl b/tests/test_cases/input/multiline_string.kdl new file mode 100644 index 0000000..603cddd --- /dev/null +++ b/tests/test_cases/input/multiline_string.kdl @@ -0,0 +1,4 @@ +node " hey +everyone +how goes? +" \ No newline at end of file diff --git a/tests/test_cases/input/multiple_dots_in_float.kdl b/tests/test_cases/input/multiple_dots_in_float.kdl new file mode 100644 index 0000000..fab0d78 --- /dev/null +++ b/tests/test_cases/input/multiple_dots_in_float.kdl @@ -0,0 +1 @@ +node 1.0.0 \ No newline at end of file diff --git a/tests/test_cases/input/multiple_dots_in_float_before_exponent.kdl b/tests/test_cases/input/multiple_dots_in_float_before_exponent.kdl new file mode 100644 index 0000000..434af05 --- /dev/null +++ b/tests/test_cases/input/multiple_dots_in_float_before_exponent.kdl @@ -0,0 +1 @@ +node 1.0.0e7 \ No newline at end of file diff --git a/tests/test_cases/input/multiple_es_in_float.kdl b/tests/test_cases/input/multiple_es_in_float.kdl new file mode 100644 index 0000000..6506c5c --- /dev/null +++ b/tests/test_cases/input/multiple_es_in_float.kdl @@ -0,0 +1 @@ +node 1.0E10e10 diff --git a/tests/test_cases/input/multiple_x_in_hex.kdl b/tests/test_cases/input/multiple_x_in_hex.kdl new file mode 100644 index 0000000..013d805 --- /dev/null +++ b/tests/test_cases/input/multiple_x_in_hex.kdl @@ -0,0 +1 @@ +node 0xx10 \ No newline at end of file diff --git a/tests/test_cases/input/negative_exponent.kdl b/tests/test_cases/input/negative_exponent.kdl new file mode 100644 index 0000000..6790669 --- /dev/null +++ b/tests/test_cases/input/negative_exponent.kdl @@ -0,0 +1 @@ +node 1.0e-10 \ No newline at end of file diff --git a/tests/test_cases/input/negative_float.kdl b/tests/test_cases/input/negative_float.kdl new file mode 100644 index 0000000..5536e1f --- /dev/null +++ b/tests/test_cases/input/negative_float.kdl @@ -0,0 +1 @@ +node -1.0 key=-10.0 \ No newline at end of file diff --git a/tests/test_cases/input/negative_int.kdl b/tests/test_cases/input/negative_int.kdl new file mode 100644 index 0000000..c71a208 --- /dev/null +++ b/tests/test_cases/input/negative_int.kdl @@ -0,0 +1 @@ +node -10 prop=-15 \ No newline at end of file diff --git a/tests/test_cases/input/nested_block_comment.kdl b/tests/test_cases/input/nested_block_comment.kdl new file mode 100644 index 0000000..d7f765c --- /dev/null +++ b/tests/test_cases/input/nested_block_comment.kdl @@ -0,0 +1 @@ +node /* hi /* there */ everyone */ "arg" \ No newline at end of file diff --git a/tests/test_cases/input/nested_children.kdl b/tests/test_cases/input/nested_children.kdl new file mode 100644 index 0000000..40d2742 --- /dev/null +++ b/tests/test_cases/input/nested_children.kdl @@ -0,0 +1,5 @@ +node1 { + node2 { + node + } +} \ No newline at end of file diff --git a/tests/test_cases/input/nested_comments.kdl b/tests/test_cases/input/nested_comments.kdl new file mode 100644 index 0000000..8b3aad6 --- /dev/null +++ b/tests/test_cases/input/nested_comments.kdl @@ -0,0 +1 @@ +node /*/* nested */*/ "arg" \ No newline at end of file diff --git a/tests/test_cases/input/nested_multiline_block_comment.kdl b/tests/test_cases/input/nested_multiline_block_comment.kdl new file mode 100644 index 0000000..9d8e0ca --- /dev/null +++ b/tests/test_cases/input/nested_multiline_block_comment.kdl @@ -0,0 +1,7 @@ +node /* +hey /* +how's +*/ + it going + */ "arg" + \ No newline at end of file diff --git a/tests/test_cases/input/newline_between_nodes.kdl b/tests/test_cases/input/newline_between_nodes.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/input/newline_between_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/input/newlines_in_block_comment.kdl b/tests/test_cases/input/newlines_in_block_comment.kdl new file mode 100644 index 0000000..a5cd2b1 --- /dev/null +++ b/tests/test_cases/input/newlines_in_block_comment.kdl @@ -0,0 +1,3 @@ +node /* hey so +I was thinking +about newts */ "arg" \ No newline at end of file diff --git a/tests/test_cases/input/no_decimal_exponent.kdl b/tests/test_cases/input/no_decimal_exponent.kdl new file mode 100644 index 0000000..6dc6c6a --- /dev/null +++ b/tests/test_cases/input/no_decimal_exponent.kdl @@ -0,0 +1 @@ +node 1e10 \ No newline at end of file diff --git a/tests/test_cases/input/no_digits_in_hex.kdl b/tests/test_cases/input/no_digits_in_hex.kdl new file mode 100644 index 0000000..700e453 --- /dev/null +++ b/tests/test_cases/input/no_digits_in_hex.kdl @@ -0,0 +1 @@ +node 0x \ No newline at end of file diff --git a/tests/test_cases/input/node_false.kdl b/tests/test_cases/input/node_false.kdl new file mode 100644 index 0000000..ef60c44 --- /dev/null +++ b/tests/test_cases/input/node_false.kdl @@ -0,0 +1 @@ +node false diff --git a/tests/test_cases/input/node_true.kdl b/tests/test_cases/input/node_true.kdl new file mode 100644 index 0000000..4b02a06 --- /dev/null +++ b/tests/test_cases/input/node_true.kdl @@ -0,0 +1 @@ +node true diff --git a/tests/test_cases/input/null_arg.kdl b/tests/test_cases/input/null_arg.kdl new file mode 100644 index 0000000..a5ce001 --- /dev/null +++ b/tests/test_cases/input/null_arg.kdl @@ -0,0 +1 @@ +node null \ No newline at end of file diff --git a/tests/test_cases/input/null_prop.kdl b/tests/test_cases/input/null_prop.kdl new file mode 100644 index 0000000..847256f --- /dev/null +++ b/tests/test_cases/input/null_prop.kdl @@ -0,0 +1 @@ +node prop=null \ No newline at end of file diff --git a/tests/test_cases/input/numeric_arg.kdl b/tests/test_cases/input/numeric_arg.kdl new file mode 100644 index 0000000..23a6fbe --- /dev/null +++ b/tests/test_cases/input/numeric_arg.kdl @@ -0,0 +1 @@ +node 15.7 \ No newline at end of file diff --git a/tests/test_cases/input/numeric_prop.kdl b/tests/test_cases/input/numeric_prop.kdl new file mode 100644 index 0000000..0cf22bf --- /dev/null +++ b/tests/test_cases/input/numeric_prop.kdl @@ -0,0 +1 @@ +node prop=10.0 \ No newline at end of file diff --git a/tests/test_cases/input/octal.kdl b/tests/test_cases/input/octal.kdl new file mode 100644 index 0000000..9674d51 --- /dev/null +++ b/tests/test_cases/input/octal.kdl @@ -0,0 +1 @@ +node 0o76543210 \ No newline at end of file diff --git a/tests/test_cases/input/only_cr.kdl b/tests/test_cases/input/only_cr.kdl new file mode 100644 index 0000000..67c3297 --- /dev/null +++ b/tests/test_cases/input/only_cr.kdl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/test_cases/input/only_line_comment.kdl b/tests/test_cases/input/only_line_comment.kdl new file mode 100644 index 0000000..edc7a22 --- /dev/null +++ b/tests/test_cases/input/only_line_comment.kdl @@ -0,0 +1 @@ +// hi \ No newline at end of file diff --git a/tests/test_cases/input/only_line_comment_crlf.kdl b/tests/test_cases/input/only_line_comment_crlf.kdl new file mode 100644 index 0000000..fef83a9 --- /dev/null +++ b/tests/test_cases/input/only_line_comment_crlf.kdl @@ -0,0 +1 @@ +// comment diff --git a/tests/test_cases/input/only_line_comment_newline.kdl b/tests/test_cases/input/only_line_comment_newline.kdl new file mode 100644 index 0000000..faba1e1 --- /dev/null +++ b/tests/test_cases/input/only_line_comment_newline.kdl @@ -0,0 +1 @@ +// hiiii diff --git a/tests/test_cases/input/parse_all_arg_types.kdl b/tests/test_cases/input/parse_all_arg_types.kdl new file mode 100644 index 0000000..30b9072 --- /dev/null +++ b/tests/test_cases/input/parse_all_arg_types.kdl @@ -0,0 +1 @@ +node 1 1.0 1.0e10 1.0e-10 0x01 0o07 0b10 "arg" r"arg\\" true false null \ No newline at end of file diff --git a/tests/test_cases/input/positive_exponent.kdl b/tests/test_cases/input/positive_exponent.kdl new file mode 100644 index 0000000..1eaa4b8 --- /dev/null +++ b/tests/test_cases/input/positive_exponent.kdl @@ -0,0 +1 @@ +node 1.0e+10 \ No newline at end of file diff --git a/tests/test_cases/input/positive_int.kdl b/tests/test_cases/input/positive_int.kdl new file mode 100644 index 0000000..d57df8a --- /dev/null +++ b/tests/test_cases/input/positive_int.kdl @@ -0,0 +1 @@ +node +10 \ No newline at end of file diff --git a/tests/test_cases/input/question_mark_at_start_of_int.kdl b/tests/test_cases/input/question_mark_at_start_of_int.kdl new file mode 100644 index 0000000..ba82916 --- /dev/null +++ b/tests/test_cases/input/question_mark_at_start_of_int.kdl @@ -0,0 +1 @@ +node ?10 \ No newline at end of file diff --git a/tests/test_cases/input/question_mark_before_number.kdl b/tests/test_cases/input/question_mark_before_number.kdl new file mode 100644 index 0000000..532ef22 --- /dev/null +++ b/tests/test_cases/input/question_mark_before_number.kdl @@ -0,0 +1 @@ +node ?15 \ No newline at end of file diff --git a/tests/test_cases/input/quoted_node_name.kdl b/tests/test_cases/input/quoted_node_name.kdl new file mode 100644 index 0000000..e76d593 --- /dev/null +++ b/tests/test_cases/input/quoted_node_name.kdl @@ -0,0 +1 @@ +"0node" \ No newline at end of file diff --git a/tests/test_cases/input/quoted_numeric.kdl b/tests/test_cases/input/quoted_numeric.kdl new file mode 100644 index 0000000..5939268 --- /dev/null +++ b/tests/test_cases/input/quoted_numeric.kdl @@ -0,0 +1 @@ +node prop="10.0" \ No newline at end of file diff --git a/tests/test_cases/input/quoted_prop_name.kdl b/tests/test_cases/input/quoted_prop_name.kdl new file mode 100644 index 0000000..73ec6dd --- /dev/null +++ b/tests/test_cases/input/quoted_prop_name.kdl @@ -0,0 +1 @@ +node "0prop"="val" \ No newline at end of file diff --git a/tests/test_cases/input/r_node.kdl b/tests/test_cases/input/r_node.kdl new file mode 100644 index 0000000..4a98807 --- /dev/null +++ b/tests/test_cases/input/r_node.kdl @@ -0,0 +1 @@ +r "arg" diff --git a/tests/test_cases/input/raw_node_name.kdl b/tests/test_cases/input/raw_node_name.kdl new file mode 100644 index 0000000..0d38371 --- /dev/null +++ b/tests/test_cases/input/raw_node_name.kdl @@ -0,0 +1 @@ +r"\node" \ No newline at end of file diff --git a/tests/test_cases/input/raw_string_arg.kdl b/tests/test_cases/input/raw_string_arg.kdl new file mode 100644 index 0000000..6b7581f --- /dev/null +++ b/tests/test_cases/input/raw_string_arg.kdl @@ -0,0 +1,3 @@ +node_1 r"arg\n" +node_2 r#""arg\n"and stuff"# +node_3 r##"#"arg\n"#and stuff"## \ No newline at end of file diff --git a/tests/test_cases/input/raw_string_backslash.kdl b/tests/test_cases/input/raw_string_backslash.kdl new file mode 100644 index 0000000..0f7ca45 --- /dev/null +++ b/tests/test_cases/input/raw_string_backslash.kdl @@ -0,0 +1 @@ +node r"\n" diff --git a/tests/test_cases/input/raw_string_hash_no_esc.kdl b/tests/test_cases/input/raw_string_hash_no_esc.kdl new file mode 100644 index 0000000..c8fa3c4 --- /dev/null +++ b/tests/test_cases/input/raw_string_hash_no_esc.kdl @@ -0,0 +1 @@ +node r"#" diff --git a/tests/test_cases/input/raw_string_just_backslash.kdl b/tests/test_cases/input/raw_string_just_backslash.kdl new file mode 100644 index 0000000..9aefa73 --- /dev/null +++ b/tests/test_cases/input/raw_string_just_backslash.kdl @@ -0,0 +1 @@ +node r"\" diff --git a/tests/test_cases/input/raw_string_just_quote.kdl b/tests/test_cases/input/raw_string_just_quote.kdl new file mode 100644 index 0000000..b8333ca --- /dev/null +++ b/tests/test_cases/input/raw_string_just_quote.kdl @@ -0,0 +1 @@ +node r#"""# diff --git a/tests/test_cases/input/raw_string_multiple_hash.kdl b/tests/test_cases/input/raw_string_multiple_hash.kdl new file mode 100644 index 0000000..e6d054c --- /dev/null +++ b/tests/test_cases/input/raw_string_multiple_hash.kdl @@ -0,0 +1 @@ +node r###""#"##"### diff --git a/tests/test_cases/input/raw_string_newline.kdl b/tests/test_cases/input/raw_string_newline.kdl new file mode 100644 index 0000000..ef39d3c --- /dev/null +++ b/tests/test_cases/input/raw_string_newline.kdl @@ -0,0 +1,4 @@ +node r" +hello +world +" diff --git a/tests/test_cases/input/raw_string_prop.kdl b/tests/test_cases/input/raw_string_prop.kdl new file mode 100644 index 0000000..a6c352a --- /dev/null +++ b/tests/test_cases/input/raw_string_prop.kdl @@ -0,0 +1,3 @@ +node_1 prop=r"arg\n" +node_2 prop=r#""arg"\n"# +node_3 prop=r##"#"arg"#\n"## \ No newline at end of file diff --git a/tests/test_cases/input/raw_string_quote.kdl b/tests/test_cases/input/raw_string_quote.kdl new file mode 100644 index 0000000..cd7419c --- /dev/null +++ b/tests/test_cases/input/raw_string_quote.kdl @@ -0,0 +1 @@ +node r#"a"b"# \ No newline at end of file diff --git a/tests/test_cases/input/repeated_arg.kdl b/tests/test_cases/input/repeated_arg.kdl new file mode 100644 index 0000000..beab120 --- /dev/null +++ b/tests/test_cases/input/repeated_arg.kdl @@ -0,0 +1 @@ +node "arg" "arg" \ No newline at end of file diff --git a/tests/test_cases/input/repeated_prop.kdl b/tests/test_cases/input/repeated_prop.kdl new file mode 100644 index 0000000..ac42834 --- /dev/null +++ b/tests/test_cases/input/repeated_prop.kdl @@ -0,0 +1 @@ +node prop=10 prop=11 \ No newline at end of file diff --git a/tests/test_cases/input/same_args.kdl b/tests/test_cases/input/same_args.kdl new file mode 100644 index 0000000..c412de8 --- /dev/null +++ b/tests/test_cases/input/same_args.kdl @@ -0,0 +1 @@ +node "whee" "whee" \ No newline at end of file diff --git a/tests/test_cases/input/same_name_nodes.kdl b/tests/test_cases/input/same_name_nodes.kdl new file mode 100644 index 0000000..3e545b1 --- /dev/null +++ b/tests/test_cases/input/same_name_nodes.kdl @@ -0,0 +1,2 @@ +node +node diff --git a/tests/test_cases/input/sci_notation_large.kdl b/tests/test_cases/input/sci_notation_large.kdl new file mode 100644 index 0000000..e8385f6 --- /dev/null +++ b/tests/test_cases/input/sci_notation_large.kdl @@ -0,0 +1 @@ +node prop=1.23E+1000 \ No newline at end of file diff --git a/tests/test_cases/input/sci_notation_small.kdl b/tests/test_cases/input/sci_notation_small.kdl new file mode 100644 index 0000000..300c7d8 --- /dev/null +++ b/tests/test_cases/input/sci_notation_small.kdl @@ -0,0 +1 @@ +node prop=1.23E-1000 \ No newline at end of file diff --git a/tests/test_cases/input/semicolon_after_child.kdl b/tests/test_cases/input/semicolon_after_child.kdl new file mode 100644 index 0000000..81f2634 --- /dev/null +++ b/tests/test_cases/input/semicolon_after_child.kdl @@ -0,0 +1,3 @@ +node { + childnode +}; diff --git a/tests/test_cases/input/semicolon_in_child.kdl b/tests/test_cases/input/semicolon_in_child.kdl new file mode 100644 index 0000000..ec6fff1 --- /dev/null +++ b/tests/test_cases/input/semicolon_in_child.kdl @@ -0,0 +1,3 @@ +node1 { + node2; +} \ No newline at end of file diff --git a/tests/test_cases/input/semicolon_separated.kdl b/tests/test_cases/input/semicolon_separated.kdl new file mode 100644 index 0000000..3324f79 --- /dev/null +++ b/tests/test_cases/input/semicolon_separated.kdl @@ -0,0 +1 @@ +node1;node2 \ No newline at end of file diff --git a/tests/test_cases/input/semicolon_separated_nodes.kdl b/tests/test_cases/input/semicolon_separated_nodes.kdl new file mode 100644 index 0000000..3450f49 --- /dev/null +++ b/tests/test_cases/input/semicolon_separated_nodes.kdl @@ -0,0 +1 @@ +node1; node2; \ No newline at end of file diff --git a/tests/test_cases/input/semicolon_terminated.kdl b/tests/test_cases/input/semicolon_terminated.kdl new file mode 100644 index 0000000..c8b9d2d --- /dev/null +++ b/tests/test_cases/input/semicolon_terminated.kdl @@ -0,0 +1 @@ +node1; \ No newline at end of file diff --git a/tests/test_cases/input/single_arg.kdl b/tests/test_cases/input/single_arg.kdl new file mode 100644 index 0000000..e5161d1 --- /dev/null +++ b/tests/test_cases/input/single_arg.kdl @@ -0,0 +1 @@ +node "arg" \ No newline at end of file diff --git a/tests/test_cases/input/single_prop.kdl b/tests/test_cases/input/single_prop.kdl new file mode 100644 index 0000000..4c29c14 --- /dev/null +++ b/tests/test_cases/input/single_prop.kdl @@ -0,0 +1 @@ +node prop="val" \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl b/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl new file mode 100644 index 0000000..059b3e1 --- /dev/null +++ b/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl @@ -0,0 +1,2 @@ +node \ + /- "arg" "arg2" diff --git a/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl b/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl new file mode 100644 index 0000000..f58e4a7 --- /dev/null +++ b/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl @@ -0,0 +1,2 @@ +node /- \ + "arg" diff --git a/tests/test_cases/input/slashdash_child.kdl b/tests/test_cases/input/slashdash_child.kdl new file mode 100644 index 0000000..70fb1e9 --- /dev/null +++ b/tests/test_cases/input/slashdash_child.kdl @@ -0,0 +1,3 @@ +node /- { + node2 +} diff --git a/tests/test_cases/input/slashdash_empty_child.kdl b/tests/test_cases/input/slashdash_empty_child.kdl new file mode 100644 index 0000000..644c21b --- /dev/null +++ b/tests/test_cases/input/slashdash_empty_child.kdl @@ -0,0 +1,2 @@ +node /- { +} diff --git a/tests/test_cases/input/slashdash_full_node.kdl b/tests/test_cases/input/slashdash_full_node.kdl new file mode 100644 index 0000000..de2eb2a --- /dev/null +++ b/tests/test_cases/input/slashdash_full_node.kdl @@ -0,0 +1,2 @@ +/- node 1.0 "a" b="b +" \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_in_slashdash.kdl b/tests/test_cases/input/slashdash_in_slashdash.kdl new file mode 100644 index 0000000..cb43150 --- /dev/null +++ b/tests/test_cases/input/slashdash_in_slashdash.kdl @@ -0,0 +1,2 @@ +/- node1 /- 1.0 +node2 \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_negative_number.kdl b/tests/test_cases/input/slashdash_negative_number.kdl new file mode 100644 index 0000000..241de28 --- /dev/null +++ b/tests/test_cases/input/slashdash_negative_number.kdl @@ -0,0 +1 @@ +node /--1.0 2.0 \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_node_in_child.kdl b/tests/test_cases/input/slashdash_node_in_child.kdl new file mode 100644 index 0000000..77fd44a --- /dev/null +++ b/tests/test_cases/input/slashdash_node_in_child.kdl @@ -0,0 +1,3 @@ +node1 { + /- node2 +} \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_node_with_child.kdl b/tests/test_cases/input/slashdash_node_with_child.kdl new file mode 100644 index 0000000..d3063dd --- /dev/null +++ b/tests/test_cases/input/slashdash_node_with_child.kdl @@ -0,0 +1,3 @@ +/- node { + node2 +} \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_only_node.kdl b/tests/test_cases/input/slashdash_only_node.kdl new file mode 100644 index 0000000..d404630 --- /dev/null +++ b/tests/test_cases/input/slashdash_only_node.kdl @@ -0,0 +1 @@ +/-node diff --git a/tests/test_cases/input/slashdash_only_node_with_space.kdl b/tests/test_cases/input/slashdash_only_node_with_space.kdl new file mode 100644 index 0000000..ab2af84 --- /dev/null +++ b/tests/test_cases/input/slashdash_only_node_with_space.kdl @@ -0,0 +1 @@ +/- node \ No newline at end of file diff --git a/tests/test_cases/input/slashdash_prop.kdl b/tests/test_cases/input/slashdash_prop.kdl new file mode 100644 index 0000000..3d7b806 --- /dev/null +++ b/tests/test_cases/input/slashdash_prop.kdl @@ -0,0 +1 @@ +node /- key="value" "arg" diff --git a/tests/test_cases/input/slashdash_raw_prop_key.kdl b/tests/test_cases/input/slashdash_raw_prop_key.kdl new file mode 100644 index 0000000..c9ad5ad --- /dev/null +++ b/tests/test_cases/input/slashdash_raw_prop_key.kdl @@ -0,0 +1 @@ +node /- key="value" diff --git a/tests/test_cases/input/string_arg.kdl b/tests/test_cases/input/string_arg.kdl new file mode 100644 index 0000000..e5161d1 --- /dev/null +++ b/tests/test_cases/input/string_arg.kdl @@ -0,0 +1 @@ +node "arg" \ No newline at end of file diff --git a/tests/test_cases/input/string_prop.kdl b/tests/test_cases/input/string_prop.kdl new file mode 100644 index 0000000..4c29c14 --- /dev/null +++ b/tests/test_cases/input/string_prop.kdl @@ -0,0 +1 @@ +node prop="val" \ No newline at end of file diff --git a/tests/test_cases/input/tab_space.kdl b/tests/test_cases/input/tab_space.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/input/tab_space.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/input/trailing_crlf.kdl b/tests/test_cases/input/trailing_crlf.kdl new file mode 100644 index 0000000..64f5a0a --- /dev/null +++ b/tests/test_cases/input/trailing_crlf.kdl @@ -0,0 +1 @@ +node diff --git a/tests/test_cases/input/trailing_underscore_hex.kdl b/tests/test_cases/input/trailing_underscore_hex.kdl new file mode 100644 index 0000000..bdf65bc --- /dev/null +++ b/tests/test_cases/input/trailing_underscore_hex.kdl @@ -0,0 +1 @@ +node 0x123abc_ \ No newline at end of file diff --git a/tests/test_cases/input/trailing_underscore_octal.kdl b/tests/test_cases/input/trailing_underscore_octal.kdl new file mode 100644 index 0000000..1d27c18 --- /dev/null +++ b/tests/test_cases/input/trailing_underscore_octal.kdl @@ -0,0 +1 @@ +node 0o123_ diff --git a/tests/test_cases/input/two_nodes.kdl b/tests/test_cases/input/two_nodes.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/input/two_nodes.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/input/unbalanced_raw_hashes.kdl b/tests/test_cases/input/unbalanced_raw_hashes.kdl new file mode 100644 index 0000000..7deb72f --- /dev/null +++ b/tests/test_cases/input/unbalanced_raw_hashes.kdl @@ -0,0 +1 @@ +node r##"foo"# diff --git a/tests/test_cases/input/underscore_at_start_of_fraction.kdl b/tests/test_cases/input/underscore_at_start_of_fraction.kdl new file mode 100644 index 0000000..30fb7cc --- /dev/null +++ b/tests/test_cases/input/underscore_at_start_of_fraction.kdl @@ -0,0 +1 @@ +node 1._7 \ No newline at end of file diff --git a/tests/test_cases/input/underscore_at_start_of_hex.kdl b/tests/test_cases/input/underscore_at_start_of_hex.kdl new file mode 100644 index 0000000..2de0c48 --- /dev/null +++ b/tests/test_cases/input/underscore_at_start_of_hex.kdl @@ -0,0 +1 @@ +node 0x_10 \ No newline at end of file diff --git a/tests/test_cases/input/underscore_at_start_of_int.kdl b/tests/test_cases/input/underscore_at_start_of_int.kdl new file mode 100644 index 0000000..b854b60 --- /dev/null +++ b/tests/test_cases/input/underscore_at_start_of_int.kdl @@ -0,0 +1 @@ +node _15 \ No newline at end of file diff --git a/tests/test_cases/input/underscore_before_number.kdl b/tests/test_cases/input/underscore_before_number.kdl new file mode 100644 index 0000000..788656b --- /dev/null +++ b/tests/test_cases/input/underscore_before_number.kdl @@ -0,0 +1 @@ +node _15 diff --git a/tests/test_cases/input/underscore_in_exponent.kdl b/tests/test_cases/input/underscore_in_exponent.kdl new file mode 100644 index 0000000..329c736 --- /dev/null +++ b/tests/test_cases/input/underscore_in_exponent.kdl @@ -0,0 +1 @@ +node 1.0e-10_0 diff --git a/tests/test_cases/input/underscore_in_float.kdl b/tests/test_cases/input/underscore_in_float.kdl new file mode 100644 index 0000000..f039b6a --- /dev/null +++ b/tests/test_cases/input/underscore_in_float.kdl @@ -0,0 +1 @@ +node 1_1.0 diff --git a/tests/test_cases/input/underscore_in_fraction.kdl b/tests/test_cases/input/underscore_in_fraction.kdl new file mode 100644 index 0000000..b1a091a --- /dev/null +++ b/tests/test_cases/input/underscore_in_fraction.kdl @@ -0,0 +1 @@ +node 1.0_2 \ No newline at end of file diff --git a/tests/test_cases/input/underscore_in_int.kdl b/tests/test_cases/input/underscore_in_int.kdl new file mode 100644 index 0000000..19250d3 --- /dev/null +++ b/tests/test_cases/input/underscore_in_int.kdl @@ -0,0 +1 @@ +node 1_0 diff --git a/tests/test_cases/input/underscore_in_octal.kdl b/tests/test_cases/input/underscore_in_octal.kdl new file mode 100644 index 0000000..8a57ec1 --- /dev/null +++ b/tests/test_cases/input/underscore_in_octal.kdl @@ -0,0 +1 @@ +node 0o012_3456_7 \ No newline at end of file diff --git a/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl b/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl new file mode 100644 index 0000000..074f76b --- /dev/null +++ b/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl @@ -0,0 +1 @@ +"foo123~!@#$%^&*.:'|/?+" "weeee" \ No newline at end of file diff --git a/tests/test_cases/input/unusual_chars_in_bare_id.kdl b/tests/test_cases/input/unusual_chars_in_bare_id.kdl new file mode 100644 index 0000000..7429425 --- /dev/null +++ b/tests/test_cases/input/unusual_chars_in_bare_id.kdl @@ -0,0 +1 @@ +foo123~!@#$%^&*.:'|/?+ "weeee" diff --git a/tests/test_cases/input/zero_arg.kdl b/tests/test_cases/input/zero_arg.kdl new file mode 100644 index 0000000..74405b6 --- /dev/null +++ b/tests/test_cases/input/zero_arg.kdl @@ -0,0 +1 @@ +node 0 diff --git a/tests/test_cases/input/zero_float.kdl b/tests/test_cases/input/zero_float.kdl new file mode 100644 index 0000000..fd5b1f1 --- /dev/null +++ b/tests/test_cases/input/zero_float.kdl @@ -0,0 +1 @@ +node 0.0 diff --git a/tests/test_cases/input/zero_int.kdl b/tests/test_cases/input/zero_int.kdl new file mode 100644 index 0000000..74405b6 --- /dev/null +++ b/tests/test_cases/input/zero_int.kdl @@ -0,0 +1 @@ +node 0