Add native and JS tests for escapeLiteral and escapeIdentifier.
This commit is contained in:
parent
a17f44a4a1
commit
58759bf5fa
120
test/native/escape-tests.js
Normal file
120
test/native/escape-tests.js
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
var helper = require(__dirname + "/../test-helper");
|
||||||
|
var Client = require(__dirname + "/../../lib/native");
|
||||||
|
|
||||||
|
function createClient() {
|
||||||
|
var client = new Client(helper.config);
|
||||||
|
client.connect();
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
test('escapeLiteral: no special characters', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello world'";
|
||||||
|
var actual = client.escapeLiteral('hello world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains double quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello \'\' world'";
|
||||||
|
var actual = client.escapeLiteral('hello \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains backslashes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes and double quotes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello '' \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains double quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ '' world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes, double quotes, and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ '' \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: no special characters', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello world"';
|
||||||
|
var actual = client.escapeIdentifier('hello world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains double quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \' world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains backslashes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes and double quotes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \' "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains double quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ \' world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes, double quotes, and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ \' "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
113
test/unit/connection/escape-tests.js
Normal file
113
test/unit/connection/escape-tests.js
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
require(__dirname + "/test-helper");
|
||||||
|
|
||||||
|
test('escapeLiteral: no special characters', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello world'";
|
||||||
|
var actual = client.escapeLiteral('hello world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains double quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello \'\' world'";
|
||||||
|
var actual = client.escapeLiteral('hello \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains backslashes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes and double quotes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = "'hello '' \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains double quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ '' world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeLiteral: contains single quotes, double quotes, and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = " E'hello \\\\ '' \" world'";
|
||||||
|
var actual = client.escapeLiteral('hello \\ \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: no special characters', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello world"';
|
||||||
|
var actual = client.escapeIdentifier('hello world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains double quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \' world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains backslashes only', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes and double quotes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \' "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains double quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ \' world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ \' world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('escapeIdentifier: contains single quotes, double quotes, and backslashes', function() {
|
||||||
|
var client = createClient();
|
||||||
|
var expected = '"hello \\ \' "" world"';
|
||||||
|
var actual = client.escapeIdentifier('hello \\ \' " world');
|
||||||
|
assert.equal(expected, actual);
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user