roc/test/snapshots/string.md
2025-11-28 13:12:48 +11:00

3.6 KiB

META

description=two strings
type=snippet

SOURCE

x = (
	"one",
	"two",
	"\u",
	"\u)",
	"\u(",
	"\u()",
	"\u(K)",
	"\u(1F680)",
)

# Test backslash before EOF
"\

EXPECTED

INVALID UNICODE ESCAPE SEQUENCE - string.md:4:3:4:5 INVALID UNICODE ESCAPE SEQUENCE - string.md:5:3:5:5 INVALID UNICODE ESCAPE SEQUENCE - string.md:6:3:6:6 INVALID UNICODE ESCAPE SEQUENCE - string.md:7:3:7:7 INVALID UNICODE ESCAPE SEQUENCE - string.md:8:3:8:8 INVALID ESCAPE SEQUENCE - string.md:13:2:14:1 UNCLOSED STRING - string.md:13:1:13:3 PARSE ERROR - string.md:13:1:13:2 PARSE ERROR - string.md:13:2:13:3 PARSE ERROR - string.md:13:3:13:3

PROBLEMS

INVALID UNICODE ESCAPE SEQUENCE This Unicode escape sequence is not valid.

string.md:4:3:4:5:

	"\u",
 ^^

INVALID UNICODE ESCAPE SEQUENCE This Unicode escape sequence is not valid.

string.md:5:3:5:5:

	"\u)",
 ^^

INVALID UNICODE ESCAPE SEQUENCE This Unicode escape sequence is not valid.

string.md:6:3:6:6:

	"\u(",
 ^^^

INVALID UNICODE ESCAPE SEQUENCE This Unicode escape sequence is not valid.

string.md:7:3:7:7:

	"\u()",
 ^^^^

INVALID UNICODE ESCAPE SEQUENCE This Unicode escape sequence is not valid.

string.md:8:3:8:8:

	"\u(K)",
 ^^^^^

INVALID ESCAPE SEQUENCE This escape sequence is not recognized.

string.md:13:2:14:1:

"\

UNCLOSED STRING This string is missing a closing quote.

string.md:13:1:13:3:

"\

^^

PARSE ERROR A parsing error occurred: statement_unexpected_token This is an unexpected parsing error. Please check your syntax.

string.md:13:1:13:2:

"\

^

PARSE ERROR A parsing error occurred: statement_unexpected_token This is an unexpected parsing error. Please check your syntax.

string.md:13:2:13:3:

"\

^

PARSE ERROR A parsing error occurred: statement_unexpected_token This is an unexpected parsing error. Please check your syntax.

string.md:13:3:13:3:

"\

^

TOKENS

LowerIdent,OpAssign,OpenRound,
StringStart,StringPart,StringEnd,Comma,
StringStart,StringPart,StringEnd,Comma,
StringStart,MalformedStringPart,StringEnd,Comma,
StringStart,MalformedStringPart,StringEnd,Comma,
StringStart,MalformedStringPart,StringEnd,Comma,
StringStart,MalformedStringPart,StringEnd,Comma,
StringStart,MalformedStringPart,StringEnd,Comma,
StringStart,StringPart,StringEnd,Comma,
CloseRound,
StringStart,MalformedStringPart,StringEnd,
EndOfFile,

PARSE

(file
	(type-module)
	(statements
		(s-decl
			(p-ident (raw "x"))
			(e-tuple
				(e-string
					(e-string-part (raw "one")))
				(e-string
					(e-string-part (raw "two")))
				(e-string)
				(e-string)
				(e-string)
				(e-string)
				(e-string)
				(e-string
					(e-string-part (raw "\u(1F680)")))))
		(s-malformed (tag "statement_unexpected_token"))
		(s-malformed (tag "statement_unexpected_token"))
		(s-malformed (tag "statement_unexpected_token"))))

FORMATTED

x = (
	"one",
	"two",
	"",
	"",
	"",
	"",
	"",
	"\u(1F680)",
)

# Test backslash before EOF

CANONICALIZE

(can-ir
	(d-let
		(p-assign (ident "x"))
		(e-tuple
			(elems
				(e-string
					(e-literal (string "one")))
				(e-string
					(e-literal (string "two")))
				(e-string)
				(e-string)
				(e-string)
				(e-string)
				(e-string)
				(e-string
					(e-literal (string "🚀")))))))

TYPES

(inferred-types
	(defs
		(patt (type "(Str, Str, Str, Str, Str, Str, Str, Str)")))
	(expressions
		(expr (type "(Str, Str, Str, Str, Str, Str, Str, Str)"))))