From b1f8dddc0b72923f05ec07dc9856f7fc143f6b97 Mon Sep 17 00:00:00 2001 From: Jean Abou-Samra Date: Thu, 23 Feb 2023 16:41:01 +0100 Subject: More tests moved to snippets/ (#2351) --- .../crystal/test_empty_percent_strings.txt | 27 ++ tests/snippets/crystal/test_numbers.txt | 84 ++++++ tests/snippets/crystal/test_string_escapes.txt | 58 +++++ tests/snippets/crystal/test_symbols.txt | 20 ++ tests/snippets/html/css.txt | 29 +++ tests/snippets/html/css_backtracking.txt | 93 +++++++ tests/snippets/html/javascript.txt | 28 ++ tests/snippets/html/javascript_backtracking.txt | 285 +++++++++++++++++++++ tests/snippets/html/javascript_unclosed.txt | 40 +++ tests/snippets/java/test_backtracking.txt | 66 +++++ tests/snippets/java/test_string_literals.txt | 44 ++++ tests/snippets/json/test_arrays.txt | 15 ++ tests/snippets/json/test_backtracking.txt | 6 + tests/snippets/json/test_comments.txt | 65 +++++ tests/snippets/json/test_constants.txt | 14 + tests/snippets/json/test_escape_sequences.txt | 79 ++++++ tests/snippets/json/test_floats.txt | 42 +++ tests/snippets/json/test_integers.txt | 18 ++ tests/snippets/json/test_objects.txt | 15 ++ tests/snippets/json/test_round_trip.txt | 29 +++ tests/snippets/json/test_strings.txt | 42 +++ tests/snippets/json/test_whitespace.txt | 17 ++ tests/snippets/jsonld/test_json_ld.txt | 251 ++++++++++++++++++ tests/snippets/thingsdb/basic.txt | 10 + tests/snippets/usd/basic.txt | 52 ++++ tests/test_crystal.py | 80 ------ tests/test_data.py | 285 --------------------- tests/test_html_lexer.py | 131 ---------- tests/test_java.py | 40 --- tests/test_thingsdb.py | 36 --- tests/test_usd.py | 63 ----- 31 files changed, 1429 insertions(+), 635 deletions(-) create mode 100644 tests/snippets/crystal/test_empty_percent_strings.txt create mode 100644 tests/snippets/crystal/test_numbers.txt create mode 100644 tests/snippets/crystal/test_string_escapes.txt create mode 100644 tests/snippets/crystal/test_symbols.txt create mode 100644 tests/snippets/html/css.txt create mode 100644 tests/snippets/html/css_backtracking.txt create mode 100644 tests/snippets/html/javascript.txt create mode 100644 tests/snippets/html/javascript_backtracking.txt create mode 100644 tests/snippets/html/javascript_unclosed.txt create mode 100644 tests/snippets/java/test_backtracking.txt create mode 100644 tests/snippets/java/test_string_literals.txt create mode 100644 tests/snippets/json/test_arrays.txt create mode 100644 tests/snippets/json/test_backtracking.txt create mode 100644 tests/snippets/json/test_comments.txt create mode 100644 tests/snippets/json/test_constants.txt create mode 100644 tests/snippets/json/test_escape_sequences.txt create mode 100644 tests/snippets/json/test_floats.txt create mode 100644 tests/snippets/json/test_integers.txt create mode 100644 tests/snippets/json/test_objects.txt create mode 100644 tests/snippets/json/test_round_trip.txt create mode 100644 tests/snippets/json/test_strings.txt create mode 100644 tests/snippets/json/test_whitespace.txt create mode 100644 tests/snippets/jsonld/test_json_ld.txt create mode 100644 tests/snippets/thingsdb/basic.txt create mode 100644 tests/snippets/usd/basic.txt delete mode 100644 tests/test_crystal.py delete mode 100644 tests/test_data.py delete mode 100644 tests/test_html_lexer.py delete mode 100644 tests/test_java.py delete mode 100644 tests/test_thingsdb.py delete mode 100755 tests/test_usd.py (limited to 'tests') diff --git a/tests/snippets/crystal/test_empty_percent_strings.txt b/tests/snippets/crystal/test_empty_percent_strings.txt new file mode 100644 index 00000000..3cc0844e --- /dev/null +++ b/tests/snippets/crystal/test_empty_percent_strings.txt @@ -0,0 +1,27 @@ +---input--- +%() +%[] +%{} +%<> +%|| + +---tokens--- +'%(' Literal.String.Other +')' Literal.String.Other +'\n' Text.Whitespace + +'%[' Literal.String.Other +']' Literal.String.Other +'\n' Text.Whitespace + +'%{' Literal.String.Other +'}' Literal.String.Other +'\n' Text.Whitespace + +'%<' Literal.String.Other +'>' Literal.String.Other +'\n' Text.Whitespace + +'%|' Literal.String.Other +'|' Literal.String.Other +'\n' Text.Whitespace diff --git a/tests/snippets/crystal/test_numbers.txt b/tests/snippets/crystal/test_numbers.txt new file mode 100644 index 00000000..0ddfec2a --- /dev/null +++ b/tests/snippets/crystal/test_numbers.txt @@ -0,0 +1,84 @@ +---input--- +# Integers +0 +1 +1_000_000 +1u8 +11231231231121312i64 + +# Floats +0.0 +1.0_f32 +1_f32 +0f64 +1e+4 +1e111 +1_234.567_890 + +# Error +01 +0b2 +0x129g2 +0o12358 + +---tokens--- +'# Integers' Comment.Single +'\n' Text.Whitespace + +'0' Literal.Number.Integer +'\n' Text.Whitespace + +'1' Literal.Number.Integer +'\n' Text.Whitespace + +'1_000_000' Literal.Number.Integer +'\n' Text.Whitespace + +'1u8' Literal.Number.Integer +'\n' Text.Whitespace + +'11231231231121312i64' Literal.Number.Integer +'\n\n' Text.Whitespace + +'# Floats' Comment.Single +'\n' Text.Whitespace + +'0.0' Literal.Number.Float +'\n' Text.Whitespace + +'1.0_f32' Literal.Number.Float +'\n' Text.Whitespace + +'1_f32' Literal.Number.Float +'\n' Text.Whitespace + +'0f64' Literal.Number.Float +'\n' Text.Whitespace + +'1e+4' Literal.Number.Float +'\n' Text.Whitespace + +'1e111' Literal.Number.Float +'\n' Text.Whitespace + +'1_234.567_890' Literal.Number.Float +'\n\n' Text.Whitespace + +'# Error' Comment.Single +'\n' Text.Whitespace + +'0' Error +'1' Literal.Number.Integer +'\n' Text.Whitespace + +'0' Error +'b2' Name +'\n' Text.Whitespace + +'0' Error +'x129g2' Name +'\n' Text.Whitespace + +'0' Error +'o12358' Name +'\n' Text.Whitespace diff --git a/tests/snippets/crystal/test_string_escapes.txt b/tests/snippets/crystal/test_string_escapes.txt new file mode 100644 index 00000000..3ea12f4d --- /dev/null +++ b/tests/snippets/crystal/test_string_escapes.txt @@ -0,0 +1,58 @@ +---input--- +"a\nz" +"a\az" +"a\xffz" +"a\u1234z" +"a\000z" +"a\u{0}z" +"a\u{10AfF9}z" + +---tokens--- +'"' Literal.String.Double +'a' Literal.String.Double +'\\n' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'"' Literal.String.Double +'a' Literal.String.Double +'\\a' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'"' Literal.String.Double +'a' Literal.String.Double +'\\xff' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'"' Literal.String.Double +'a' Literal.String.Double +'\\u1234' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'"' Literal.String.Double +'a' Literal.String.Double +'\\000' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'"' Literal.String.Double +'a' Literal.String.Double +'\\u{0}' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'"' Literal.String.Double +'a' Literal.String.Double +'\\u{10AfF9}' Literal.String.Escape +'z' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace diff --git a/tests/snippets/crystal/test_symbols.txt b/tests/snippets/crystal/test_symbols.txt new file mode 100644 index 00000000..3d2cb0aa --- /dev/null +++ b/tests/snippets/crystal/test_symbols.txt @@ -0,0 +1,20 @@ +---input--- +:sym_bol +:あ +:question? +:"symbol" + +---tokens--- +':sym_bol' Literal.String.Symbol +'\n' Text.Whitespace + +':あ' Literal.String.Symbol +'\n' Text.Whitespace + +':question?' Literal.String.Symbol +'\n' Text.Whitespace + +':"' Literal.String.Symbol +'symbol' Literal.String.Symbol +'"' Literal.String.Symbol +'\n' Text.Whitespace diff --git a/tests/snippets/html/css.txt b/tests/snippets/html/css.txt new file mode 100644 index 00000000..08b7e726 --- /dev/null +++ b/tests/snippets/html/css.txt @@ -0,0 +1,29 @@ +---input--- + + +---tokens--- +'<' Punctuation +'style' Name.Tag +'>' Punctuation +'\n' Text.Whitespace + +'.' Punctuation +'ui-helper-hidden' Name.Class +' ' Text.Whitespace +'{' Punctuation +' ' Text.Whitespace +'display' Keyword +':' Punctuation +' ' Text.Whitespace +'none' Keyword.Constant +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'<' Punctuation +'/' Punctuation +'style' Name.Tag +'>' Punctuation +'\n' Text diff --git a/tests/snippets/html/css_backtracking.txt b/tests/snippets/html/css_backtracking.txt new file mode 100644 index 00000000..7efb4c17 --- /dev/null +++ b/tests/snippets/html/css_backtracking.txt @@ -0,0 +1,93 @@ +---input--- +" - start_time = time.time() - tokens = list(lexer_html.get_tokens(fragment)) - assert all(x[1] != Token.Error for x in tokens) - assert time.time() - start_time < MAX_HL_TIME, \ - 'The HTML lexer might have an expensive happy-path style case' - - -def test_long_unclosed_javascript_fragment(lexer_html): - """unclosed, long Javascript fragments should parse quickly""" - - reps = 2000 - fragment = "