From 1b3d9bca0347800c142553086ff91dde236a40d3 Mon Sep 17 00:00:00 2001 From: Michael Ficarra Date: Tue, 28 Apr 2015 09:16:49 -0700 Subject: [PATCH] fixes #231: generate strings with fewer escape sequences by default --- escodegen.js | 2 +- test/options.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/escodegen.js b/escodegen.js index 7c272eb9..30132a80 100644 --- a/escodegen.js +++ b/escodegen.js @@ -469,7 +469,7 @@ } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \ */) { result += escapeDisallowedCharacter(code); continue; - } else if ((json && code < 0x20 /* SP */) || !(json || escapeless || (code >= 0x20 /* SP */ && code <= 0x7E /* ~ */))) { + } else if (!esutils.code.isIdentifierPart(code) && (json && code < 0x20 /* SP */ || !json && !escapeless && (code < 0x20 /* SP */ || code > 0x7E /* ~ */))) { result += escapeAllowedCharacter(code, str.charCodeAt(i + 1)); continue; } diff --git a/test/options.js b/test/options.js index 0026f1c6..874133dd 100644 --- a/test/options.js +++ b/test/options.js @@ -325,7 +325,7 @@ data = [{ '+\' !"#$%&\\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\';', '+\'\\x7F\'': '+\'\\x7F\';', '+\'\\x80\'': '+\'\\x80\';', - '+\'\\u0100\'': '+\'\\u0100\';', + '+\'\\u0100\'': '+\'\u0100\';', '+\'hello, world\\n\'': '+\'hello, world\\n\';', '+"hello, world\\n"': '+\'hello, world\\n\';' } @@ -362,7 +362,7 @@ data = [{ '+" !\\"#$%&\'()*+,-.\\/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";', '+\'\\x7F\'': '+"\x7F";', '+\'\\x80\'': '+"\x80";', - '+\'\\u0100\'': '+"\u0100";', + '+\'\\u0101\'': '+"\u0101";', '+\'hello, world\\n\'': '+"hello, world\\n";', '+"hello, world\\n"': '+"hello, world\\n";' } @@ -399,7 +399,7 @@ data = [{ '+" !\\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";', '+\'\\x7F\'': '+"\\x7F";', '+\'\\x80\'': '+"\\x80";', - '+\'\\u0100\'': '+"\\u0100";', + '+\'\\u0102\'': '+"\u0102";', '+\'hello, world\\n\'': '+"hello, world\\n";', '+"hello, world\\n"': '+"hello, world\\n";' } @@ -436,7 +436,7 @@ data = [{ '+\' !"#$%&\\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\';', '+\'\\x7F\'': '+\'\\x7F\';', '+\'\\x80\'': '+\'\\x80\';', - '+\'\\u0100\'': '+\'\\u0100\';', + '+\'\\u0103\'': '+\'\u0103\';', '+\'hello, world\\n\'': '+\'hello, world\\n\';', '+"hello, world\\n"': '+\'hello, world\\n\';' } @@ -473,7 +473,7 @@ data = [{ '+\' !"#$%&\\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\';', '+\'\\x7F\'': '+\'\x7F\';', '+\'\\x80\'': '+\'\x80\';', - '+\'\\u0100\'': '+\'\u0100\';', + '+\'\\u0104\'': '+\'\u0104\';', '+\'hello, world\\n\'': '+\'hello, world\\n\';', '+"hello, world\\n"': '+\'hello, world\\n\';' } @@ -510,7 +510,7 @@ data = [{ '+\' !"#$%&\\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\';', '+\'\\x7F\'': '+\'\\x7F\';', '+\'\\x80\'': '+\'\\x80\';', - '+\'\\u0100\'': '+\'\\u0100\';', + '+\'\\u0105\'': '+\'\\u0105\';', '+\'hello, world\\n\'': '+\'hello, world\\n\';', '+"hello, world\\n"': '+"hello, world\\n";' }