diff --git a/test/issues/0369.js b/test/issues/0369.js index f96baac1..d1e20d83 100644 --- a/test/issues/0369.js +++ b/test/issues/0369.js @@ -5,7 +5,6 @@ var assert = require('assert'); var yaml = require('../../'); -test('should dump astrals as codepoint', function () { - assert.deepEqual(yaml.safeDump('😀'), '"\\U0001F600"\n'); +test('should load astrals as codepoint', function () { assert.deepEqual(yaml.safeLoad('"\\U0001F600"'), '😀'); }); diff --git a/test/issues/0587.js b/test/issues/0587.js new file mode 100644 index 00000000..c033973a --- /dev/null +++ b/test/issues/0587.js @@ -0,0 +1,20 @@ +'use strict'; + + +var assert = require('assert'); +var yaml = require('../../'); + + +suite('Should not escape emojis', function () { + test('plain', function () { + assert.strictEqual(yaml.safeDump('😀'), '😀\n'); + }); + + test('escape \\ and " in double-quoted', function () { + assert.strictEqual(yaml.safeDump('\u0007 😀 escape\\ escaper"'), '"\\a 😀 escape\\\\ escaper\\""\n'); + }); + + test('escape non-printables', function () { + assert.strictEqual(yaml.safeDump('a😀\nb\u0001c'), '"a😀\\nb\\x01c"\n'); + }); +});