Skip to content

Commit f74c40a

Browse files
committed
improve strings coverage on lexer
1 parent d75ddd7 commit f74c40a

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

test/stringTests.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
var should = require("should");
2+
var parser = require('../src/index');
3+
4+
describe('Test strings', function() {
5+
6+
it('...', function() {
7+
var ast = parser.parseEval('$a = b\'a\';');
8+
});
9+
it('...', function() {
10+
var ast = parser.parseEval('echo b"\\colors contains >$colors<\\n";');
11+
});
12+
it('...', function() {
13+
var ast = parser.parseEval('echo B"\\colors[1] contains >$colors[1]<\\n";');
14+
});
15+
it('...', function() {
16+
var ast = parser.parseEval('echo "\\colors[1] contains >$colors [1]<\\n";');
17+
});
18+
it('...', function() {
19+
var ast = parser.parseEval('var_dump("$colors[1]");');
20+
});
21+
it('...', function() {
22+
var ast = parser.parseEval('var_dump("$colors[01]");');
23+
});
24+
it('...', function() {
25+
var ast = parser.parseEval('var_dump("$colors[0x1]");');
26+
});
27+
it('...', function() {
28+
var ast = parser.parseEval('var_dump("$colors[0X1]");');
29+
});
30+
it('...', function() {
31+
var ast = parser.parseEval('echo "~\'.{{$expectedLength}}\'\\$~s";');
32+
});
33+
it('...', function() {
34+
var ast = parser.parseEval('echo "Hello \\"$obj->name\\" !";');
35+
});
36+
it('...', function() {
37+
var ast = parser.parseEval('echo "Hello {".$obj->name."} !";');
38+
});
39+
it('...', function() {
40+
var ast = parser.parseEval('echo "Hello {$obj->name} !";');
41+
});
42+
it('...', function() {
43+
var ast = parser.parseEval('echo "Hello ${obj}->name !";');
44+
});
45+
it('...', function() {
46+
var ast = parser.parseEval('echo "\\"$parts[0]\\"\\n";');
47+
});
48+
it('...', function() {
49+
var ast = parser.parseEval('echo "${$parts[$i]}\\n";');
50+
});
51+
it('...', function() {
52+
var ast = parser.parseEval('echo "yo : {$feeds[0][\'title[0][value]\']}";');
53+
});
54+
it('...', function() {
55+
var ast = parser.parseEval('return "\\x1B[{$color}m{$str}\\x1B[0m";');
56+
});
57+
it('...', function() {
58+
var ast = parser.parseEval('$tiny = "$";');
59+
});
60+
it('...', function() {
61+
var ast = parser.parseEval('$foo = array("v1.09azAZ-._~!$", true);');
62+
});
63+
it('...', function() {
64+
var ast = parser.parseEval('$v = strtolower("$i.$j.$k-$rel");');
65+
});
66+
it('...', function() {
67+
var ast = parser.parseEval('$text = "$text at line $line";');
68+
});
69+
it('...', function() {
70+
var ast = parser.parseEval('return "Class.create(\'$package$className\',{";');
71+
});
72+
});

0 commit comments

Comments
 (0)