MCPcopy Create free account
hub / github.com/z7zmey/php-parser / TestStringTokensAfterVariable

Function TestStringTokensAfterVariable

scanner/scanner_test.go:1080–1116  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1078}
1079
1080func TestStringTokensAfterVariable(t *testing.T) {
1081 src := `<?php "test \"$var\""`
1082
1083 expected := []string{
1084 TokenID(int('"')).String(),
1085 T_ENCAPSED_AND_WHITESPACE.String(),
1086 T_VARIABLE.String(),
1087 T_ENCAPSED_AND_WHITESPACE.String(),
1088 TokenID(int('"')).String(),
1089 }
1090
1091 expectedTokens := []string{
1092 "\"",
1093 "test \\\"",
1094 "$var",
1095 "\\\"",
1096 "\"",
1097 }
1098
1099 lexer := NewLexer([]byte(src))
1100 lv := &lval{}
1101 actual := []string{}
1102 actualTokens := []string{}
1103
1104 for {
1105 token := lexer.Lex(lv)
1106 if token == 0 {
1107 break
1108 }
1109
1110 actualTokens = append(actualTokens, lv.Tkn.Value)
1111 actual = append(actual, TokenID(token).String())
1112 }
1113
1114 assert.DeepEqual(t, expected, actual)
1115 assert.DeepEqual(t, expectedTokens, actualTokens)
1116}
1117
1118func TestSlashAfterVariable(t *testing.T) {
1119 src := `<?php $foo/3`

Callers

nothing calls this directly

Calls 4

LexMethod · 0.95
TokenIDTypeAlias · 0.85
NewLexerFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…