diff options
author | Timothy Gu <timothygu99@gmail.com> | 2017-07-26 09:04:45 +0800 |
---|---|---|
committer | Timothy Gu <timothygu99@gmail.com> | 2017-08-05 16:40:37 +0800 |
commit | 3b0ef0bf5361f2c3d91a8de03d86b5ae57a458d6 (patch) | |
tree | 6ec9dcbb05f218d21f2189ddf1dbec65d46f9905 /test | |
parent | 34d1b1144e1af8382dad71c28c8d956ebf709801 (diff) | |
download | android-node-v8-3b0ef0bf5361f2c3d91a8de03d86b5ae57a458d6.tar.gz android-node-v8-3b0ef0bf5361f2c3d91a8de03d86b5ae57a458d6.tar.bz2 android-node-v8-3b0ef0bf5361f2c3d91a8de03d86b5ae57a458d6.zip |
test: fix test-readline-position w/o ICU
PR-URL: https://github.com/nodejs/node/pull/14489
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-readline-position.js | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/test/parallel/test-readline-position.js b/test/parallel/test-readline-position.js index 9a1a011b00..4e1114418e 100644 --- a/test/parallel/test-readline-position.js +++ b/test/parallel/test-readline-position.js @@ -14,16 +14,26 @@ const ctrlU = { ctrl: true, name: 'u' }; prompt: '' }); - for (const [cursor, string] of [ + const tests = [ [1, 'a'], [2, 'ab'], - [2, '丁'], - [0, '\u0301'], // COMBINING ACUTE ACCENT - [1, 'a\u0301'], // á - [0, '\u20DD'], // COMBINING ENCLOSING CIRCLE - [2, 'a\u20DDb'], // a⃝b - [0, '\u200E'] // LEFT-TO-RIGHT MARK - ]) { + [2, '丁'] + ]; + + // The non-ICU JS implementation of character width calculation is only aware + // of the wide/narrow distinction. Only test these more advanced cases when + // ICU is available. + if (process.binding('config').hasIntl) { + tests.push( + [0, '\u0301'], // COMBINING ACUTE ACCENT + [1, 'a\u0301'], // á + [0, '\u20DD'], // COMBINING ENCLOSING CIRCLE + [2, 'a\u20DDb'], // a⃝b + [0, '\u200E'] // LEFT-TO-RIGHT MARK + ); + } + + for (const [cursor, string] of tests) { rl.write(string); assert.strictEqual(rl._getCursorPos().cols, cursor); rl.write(null, ctrlU); |