Skip to content

Commit b5e89b2

Browse files
rpedelabrianc
rpedela
authored andcommitted
Add native and JS tests for escapeLiteral and escapeIdentifier.
1 parent 876018e commit b5e89b2

File tree

2 files changed

+233
-0
lines changed

2 files changed

+233
-0
lines changed

test/native/escape-tests.js

+120
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
var helper = require(__dirname + "/../test-helper");
2+
var Client = require(__dirname + "/../../lib/native");
3+
4+
function createClient() {
5+
var client = new Client(helper.config);
6+
client.connect();
7+
return client;
8+
}
9+
10+
test('escapeLiteral: no special characters', function() {
11+
var client = createClient();
12+
var expected = "'hello world'";
13+
var actual = client.escapeLiteral('hello world');
14+
assert.equal(expected, actual);
15+
});
16+
17+
test('escapeLiteral: contains double quotes only', function() {
18+
var client = createClient();
19+
var expected = "'hello \" world'";
20+
var actual = client.escapeLiteral('hello " world');
21+
assert.equal(expected, actual);
22+
});
23+
24+
test('escapeLiteral: contains single quotes only', function() {
25+
var client = createClient();
26+
var expected = "'hello \'\' world'";
27+
var actual = client.escapeLiteral('hello \' world');
28+
assert.equal(expected, actual);
29+
});
30+
31+
test('escapeLiteral: contains backslashes only', function() {
32+
var client = createClient();
33+
var expected = " E'hello \\\\ world'";
34+
var actual = client.escapeLiteral('hello \\ world');
35+
assert.equal(expected, actual);
36+
});
37+
38+
test('escapeLiteral: contains single quotes and double quotes', function() {
39+
var client = createClient();
40+
var expected = "'hello '' \" world'";
41+
var actual = client.escapeLiteral('hello \' " world');
42+
assert.equal(expected, actual);
43+
});
44+
45+
test('escapeLiteral: contains double quotes and backslashes', function() {
46+
var client = createClient();
47+
var expected = " E'hello \\\\ \" world'";
48+
var actual = client.escapeLiteral('hello \\ " world');
49+
assert.equal(expected, actual);
50+
});
51+
52+
test('escapeLiteral: contains single quotes and backslashes', function() {
53+
var client = createClient();
54+
var expected = " E'hello \\\\ '' world'";
55+
var actual = client.escapeLiteral('hello \\ \' world');
56+
assert.equal(expected, actual);
57+
});
58+
59+
test('escapeLiteral: contains single quotes, double quotes, and backslashes', function() {
60+
var client = createClient();
61+
var expected = " E'hello \\\\ '' \" world'";
62+
var actual = client.escapeLiteral('hello \\ \' " world');
63+
assert.equal(expected, actual);
64+
});
65+
66+
test('escapeIdentifier: no special characters', function() {
67+
var client = createClient();
68+
var expected = '"hello world"';
69+
var actual = client.escapeIdentifier('hello world');
70+
assert.equal(expected, actual);
71+
});
72+
73+
test('escapeIdentifier: contains double quotes only', function() {
74+
var client = createClient();
75+
var expected = '"hello "" world"';
76+
var actual = client.escapeIdentifier('hello " world');
77+
assert.equal(expected, actual);
78+
});
79+
80+
test('escapeIdentifier: contains single quotes only', function() {
81+
var client = createClient();
82+
var expected = '"hello \' world"';
83+
var actual = client.escapeIdentifier('hello \' world');
84+
assert.equal(expected, actual);
85+
});
86+
87+
test('escapeIdentifier: contains backslashes only', function() {
88+
var client = createClient();
89+
var expected = '"hello \\ world"';
90+
var actual = client.escapeIdentifier('hello \\ world');
91+
assert.equal(expected, actual);
92+
});
93+
94+
test('escapeIdentifier: contains single quotes and double quotes', function() {
95+
var client = createClient();
96+
var expected = '"hello \' "" world"';
97+
var actual = client.escapeIdentifier('hello \' " world');
98+
assert.equal(expected, actual);
99+
});
100+
101+
test('escapeIdentifier: contains double quotes and backslashes', function() {
102+
var client = createClient();
103+
var expected = '"hello \\ "" world"';
104+
var actual = client.escapeIdentifier('hello \\ " world');
105+
assert.equal(expected, actual);
106+
});
107+
108+
test('escapeIdentifier: contains single quotes and backslashes', function() {
109+
var client = createClient();
110+
var expected = '"hello \\ \' world"';
111+
var actual = client.escapeIdentifier('hello \\ \' world');
112+
assert.equal(expected, actual);
113+
});
114+
115+
test('escapeIdentifier: contains single quotes, double quotes, and backslashes', function() {
116+
var client = createClient();
117+
var expected = '"hello \\ \' "" world"';
118+
var actual = client.escapeIdentifier('hello \\ \' " world');
119+
assert.equal(expected, actual);
120+
});

test/unit/connection/escape-tests.js

+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
require(__dirname + "/test-helper");
2+
3+
test('escapeLiteral: no special characters', function() {
4+
var client = createClient();
5+
var expected = "'hello world'";
6+
var actual = client.escapeLiteral('hello world');
7+
assert.equal(expected, actual);
8+
});
9+
10+
test('escapeLiteral: contains double quotes only', function() {
11+
var client = createClient();
12+
var expected = "'hello \" world'";
13+
var actual = client.escapeLiteral('hello " world');
14+
assert.equal(expected, actual);
15+
});
16+
17+
test('escapeLiteral: contains single quotes only', function() {
18+
var client = createClient();
19+
var expected = "'hello \'\' world'";
20+
var actual = client.escapeLiteral('hello \' world');
21+
assert.equal(expected, actual);
22+
});
23+
24+
test('escapeLiteral: contains backslashes only', function() {
25+
var client = createClient();
26+
var expected = " E'hello \\\\ world'";
27+
var actual = client.escapeLiteral('hello \\ world');
28+
assert.equal(expected, actual);
29+
});
30+
31+
test('escapeLiteral: contains single quotes and double quotes', function() {
32+
var client = createClient();
33+
var expected = "'hello '' \" world'";
34+
var actual = client.escapeLiteral('hello \' " world');
35+
assert.equal(expected, actual);
36+
});
37+
38+
test('escapeLiteral: contains double quotes and backslashes', function() {
39+
var client = createClient();
40+
var expected = " E'hello \\\\ \" world'";
41+
var actual = client.escapeLiteral('hello \\ " world');
42+
assert.equal(expected, actual);
43+
});
44+
45+
test('escapeLiteral: contains single quotes and backslashes', function() {
46+
var client = createClient();
47+
var expected = " E'hello \\\\ '' world'";
48+
var actual = client.escapeLiteral('hello \\ \' world');
49+
assert.equal(expected, actual);
50+
});
51+
52+
test('escapeLiteral: contains single quotes, double quotes, and backslashes', function() {
53+
var client = createClient();
54+
var expected = " E'hello \\\\ '' \" world'";
55+
var actual = client.escapeLiteral('hello \\ \' " world');
56+
assert.equal(expected, actual);
57+
});
58+
59+
test('escapeIdentifier: no special characters', function() {
60+
var client = createClient();
61+
var expected = '"hello world"';
62+
var actual = client.escapeIdentifier('hello world');
63+
assert.equal(expected, actual);
64+
});
65+
66+
test('escapeIdentifier: contains double quotes only', function() {
67+
var client = createClient();
68+
var expected = '"hello "" world"';
69+
var actual = client.escapeIdentifier('hello " world');
70+
assert.equal(expected, actual);
71+
});
72+
73+
test('escapeIdentifier: contains single quotes only', function() {
74+
var client = createClient();
75+
var expected = '"hello \' world"';
76+
var actual = client.escapeIdentifier('hello \' world');
77+
assert.equal(expected, actual);
78+
});
79+
80+
test('escapeIdentifier: contains backslashes only', function() {
81+
var client = createClient();
82+
var expected = '"hello \\ world"';
83+
var actual = client.escapeIdentifier('hello \\ world');
84+
assert.equal(expected, actual);
85+
});
86+
87+
test('escapeIdentifier: contains single quotes and double quotes', function() {
88+
var client = createClient();
89+
var expected = '"hello \' "" world"';
90+
var actual = client.escapeIdentifier('hello \' " world');
91+
assert.equal(expected, actual);
92+
});
93+
94+
test('escapeIdentifier: contains double quotes and backslashes', function() {
95+
var client = createClient();
96+
var expected = '"hello \\ "" world"';
97+
var actual = client.escapeIdentifier('hello \\ " world');
98+
assert.equal(expected, actual);
99+
});
100+
101+
test('escapeIdentifier: contains single quotes and backslashes', function() {
102+
var client = createClient();
103+
var expected = '"hello \\ \' world"';
104+
var actual = client.escapeIdentifier('hello \\ \' world');
105+
assert.equal(expected, actual);
106+
});
107+
108+
test('escapeIdentifier: contains single quotes, double quotes, and backslashes', function() {
109+
var client = createClient();
110+
var expected = '"hello \\ \' "" world"';
111+
var actual = client.escapeIdentifier('hello \\ \' " world');
112+
assert.equal(expected, actual);
113+
});

0 commit comments

Comments
 (0)