/
home
/
techb158
/
balavpn.abdallabala.com
/
node_modules
/
string.prototype.trim
/
test
/
/home/techb158/balavpn.abdallabala.com/node_modules/string.prototype.trim/test
mkdir
upload
Name
Size
Mode
Actions
implementation.js
608
0666
edit
dl
rm
index.js
426
0666
edit
dl
rm
shimmed.js
1274
0666
edit
dl
rm
tests.js
2805
0666
edit
dl
rm
Edit:
/home/techb158/balavpn.abdallabala.com/node_modules/string.prototype.trim/test/tests.js
(2805B)
'use strict'; var forEach = require('for-each'); var repeat = require('string.prototype.repeat'); var assertTime = require('@ericcornelissen/assert-time'); module.exports = function (trim, t) { t.test('normal cases', function (st) { st.equal(trim(' \t\na \t\n'), 'a', 'strips whitespace off left and right sides'); st.equal(trim('a'), 'a', 'noop when no whitespace'); st.equal(trim(' a'), 'a', 'strips whitespace off left side only'); st.equal(trim('a '), 'a', 'strips whitespace off right side only'); var allWhitespaceChars = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; st.equal(trim(allWhitespaceChars + 'a' + allWhitespaceChars), 'a', 'all expected whitespace chars are trimmed'); st.end(); }); t.test('pathological case', function (st) { var input = 'A' + repeat(' ', 100000) + 'A'; st.doesNotThrow(function () { assertTime(function () { trim(input); }, 500); }); st.end(); }); t.test('pathological case with trailing whitespace', function (st) { var input = 'A' + repeat(' ', 100000) + 'A' + repeat(' ', 100000); st.equal(trim(input), 'A' + repeat(' ', 100000) + 'A', 'trailing whitespace is trimmed, internal whitespace is preserved'); st.doesNotThrow(function () { assertTime(function () { trim(input); }, 500); }); st.end(); }); // see https://codeblog.jonskeet.uk/2014/12/01/when-is-an-identifier-not-an-identifier-attack-of-the-mongolian-vowel-separator/ var mongolianVowelSeparator = '\u180E'; var mvsIsWS = (/^\s$/).test('\u180E'); t.test('unicode >= 4 && < 6.3', function (st) { st.equal( trim(mongolianVowelSeparator + 'a' + mongolianVowelSeparator), mvsIsWS ? 'a' : mongolianVowelSeparator + 'a' + mongolianVowelSeparator, 'mongolian vowel separator is' + (mvsIsWS ? '' : ' not') + ' whitespace' ); st.equal( trim(mongolianVowelSeparator), mvsIsWS ? '' : mongolianVowelSeparator ); st.equal( trim('_' + mongolianVowelSeparator), '_' + (mvsIsWS ? '' : mongolianVowelSeparator) ); st.equal( trim(mongolianVowelSeparator + '_'), (mvsIsWS ? '' : mongolianVowelSeparator) + '_' ); st.end(); }); t.test('zero-width spaces', function (st) { var zeroWidth = '\u200b'; st.equal(trim(zeroWidth), zeroWidth, 'zero width space does not trim'); st.end(); }); t.test('non-whitespace characters', function (st) { // Zero-width space (zws), next line character (nel), and non-character (bom) are not whitespace. var nonWhitespaces = { '\\u0085': '\u0085', '\\u200b': '\u200b', '\\ufffe': '\ufffe' }; forEach(nonWhitespaces, function (nonWhitespace, name) { st.equal(trim(nonWhitespace), nonWhitespace, name + ' does not trim'); }); st.end(); }); };
Save
cmd:
run