From c1a3c85a33dc1afb3de70a9232cd6ae0e649f865 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Thu, 12 Apr 2018 20:23:50 +0000 Subject: [PATCH] node tests: Clean up emoji tests. A few things here: * Use _.each to follow our convention. * Just use new locals to avoid overwriting template and avoid strange Object.assign hack. * Just use simple string concatenation. * Use better var names: full_name, shortcut * Use chaining syntax. --- frontend_tests/node_tests/emoji.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/frontend_tests/node_tests/emoji.js b/frontend_tests/node_tests/emoji.js index d6a18a6675..4353d81f0a 100644 --- a/frontend_tests/node_tests/emoji.js +++ b/frontend_tests/node_tests/emoji.js @@ -99,15 +99,16 @@ zrequire('util'); {name: 'between symbols', original: 'Hello.! World.', expected: 'Hello.! World.'}, {name: 'before end of sentence', original: 'Hello !', expected: 'Hello !'}, ]; - Object.keys(emoji.EMOTICON_CONVERSIONS).forEach(key => { - testcases.forEach(t => { - var converted_value = `:${emoji.EMOTICON_CONVERSIONS[key]}:`; - t = Object.assign({}, t); // circumvent copy by reference. - t.original = t.original.replace(/()/g, key); - t.expected = t.expected.replace(/()/g, key); - t.expected = t.expected.replace(/()/g, converted_value); - var result = emoji.translate_emoticons_to_names(t.original); - assert.equal(result, t.expected); + _.each(emoji.EMOTICON_CONVERSIONS, (full_name, shortcut) => { + _.each(testcases, (t) => { + var converted_value = ':' + full_name + ':'; + var original = t.original; + var expected = t.expected; + original = original.replace(/()/g, shortcut); + expected = expected.replace(/()/g, shortcut) + .replace(/()/g, converted_value); + var result = emoji.translate_emoticons_to_names(original); + assert.equal(result, expected); }); }); }());