| 1627 | } |
| 1628 | |
| 1629 | func TestIgnoreControllCharactersAtStringVarOffset(t *testing.T) { |
| 1630 | src := "<?php \"$a[test\004]\";" |
| 1631 | |
| 1632 | lexer := NewLexer([]byte(src)) |
| 1633 | lv := &lval{} |
| 1634 | |
| 1635 | expected := "\"" |
| 1636 | lexer.Lex(lv) |
| 1637 | actual := lv.Tkn.Value |
| 1638 | assert.DeepEqual(t, expected, actual) |
| 1639 | |
| 1640 | expected = "$a" |
| 1641 | lexer.Lex(lv) |
| 1642 | actual = lv.Tkn.Value |
| 1643 | assert.DeepEqual(t, expected, actual) |
| 1644 | |
| 1645 | expected = "[" |
| 1646 | lexer.Lex(lv) |
| 1647 | actual = lv.Tkn.Value |
| 1648 | assert.DeepEqual(t, expected, actual) |
| 1649 | |
| 1650 | expected = "test" |
| 1651 | lexer.Lex(lv) |
| 1652 | actual = lv.Tkn.Value |
| 1653 | assert.DeepEqual(t, expected, actual) |
| 1654 | |
| 1655 | expected = "]" |
| 1656 | lexer.Lex(lv) |
| 1657 | actual = lv.Tkn.Value |
| 1658 | assert.DeepEqual(t, expected, actual) |
| 1659 | } |