Fix issue with escaped quotes at the end of string

This commit is contained in:
Rehan Dalal 2019-03-26 06:47:50 -04:00
Родитель 3c1cd5e2c8
Коммит 4ba03edcad
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 410D198EEF339E0B
2 изменённых файлов: 14 добавлений и 2 удалений

Просмотреть файл

@ -8,8 +8,8 @@ var numericRegex = /^-?(?:(?:[0-9]*\.[0-9]+)|[0-9]+)$/,
escEscRegex = /\\\\/,
preOpRegexElems = [
// Strings
"'(?:(?:\\\\')?[^'])*'",
'"(?:(?:\\\\")?[^"])*"',
"'(?:(?:\\\\')|[^'])*'",
'"(?:(?:\\\\")|[^"])*"',
// Whitespace
"\\s+",
// Booleans

Просмотреть файл

@ -34,12 +34,24 @@ describe("Lexer", function() {
elems.should.have.length(1);
elems[0].should.equal(str);
});
it("should support escaping double-quotes at end of double-quote strings", function() {
var str = '"\\""',
elems = inst.getElements(str);
elems.should.have.length(1);
elems[0].should.equal(str);
});
it("should support escaping single-quotes", function() {
var str = "'f\\'oo'",
elems = inst.getElements(str);
elems.should.have.length(1);
elems[0].should.equal(str);
});
it("should support escaping single-quotes at end of single-quote strings", function() {
var str = "'\\''",
elems = inst.getElements(str);
elems.should.have.length(1);
elems[0].should.equal(str);
});
it("should count an identifier as one element", function() {
var str = "alpha12345",
elems = inst.getElements(str);