2013-03-18 11:31:14 +00:00
|
|
|
/*!
|
|
|
|
* Wordbreak module tests
|
|
|
|
*
|
|
|
|
* @copyright 2013 UnicodeJS team and others; see AUTHORS.txt
|
|
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
|
|
*/
|
|
|
|
|
|
|
|
QUnit.module( 'unicodeJS.wordbreak' );
|
|
|
|
|
|
|
|
QUnit.test( 'isBreakInText', function ( assert ) {
|
|
|
|
var i, result, context,
|
|
|
|
text =
|
|
|
|
/*jshint quotmark:double */
|
|
|
|
// 0 - 10
|
|
|
|
"\u0300xyz'd a' " +
|
|
|
|
// 10 - 20
|
|
|
|
"'a a-b 1a\r" +
|
|
|
|
// 20 - 30
|
|
|
|
"\nカタカナ3,1.2" +
|
|
|
|
// 30 - 40
|
|
|
|
" a_b_3_ナ_ " +
|
|
|
|
// 40 - 50
|
|
|
|
"汉字/漢字 c\u0300\u0327k" +
|
|
|
|
// 50 - 60
|
|
|
|
" c\u0300\u0327",
|
|
|
|
/*jshint quotmark:single */
|
|
|
|
breaks = [
|
|
|
|
0, 1, 6, 7, 8, 9, 10,
|
|
|
|
11, 12, 13, 14, 15, 16, 17, 19,
|
|
|
|
21, 25, 30,
|
|
|
|
31, 39, 40,
|
|
|
|
41, 42, 43, 44, 45, 46, 50,
|
|
|
|
51, 54
|
|
|
|
];
|
|
|
|
|
|
|
|
QUnit.expect( text.length + 1 );
|
|
|
|
|
|
|
|
for ( i = 0; i <= text.length; i++ ) {
|
|
|
|
result = ( breaks.indexOf( i ) !== -1 );
|
|
|
|
context =
|
|
|
|
text.substring( Math.max( i - 4, 0 ), i ) +
|
|
|
|
'│' +
|
2013-04-03 03:00:31 +00:00
|
|
|
text.substring( i, Math.min( i + 4, text.length ) )
|
2013-03-18 11:31:14 +00:00
|
|
|
;
|
|
|
|
assert.equal(
|
|
|
|
unicodeJS.wordbreak.isBreakInText( text, i ),
|
|
|
|
result,
|
|
|
|
'Position ' + i + ' is ' + ( result ? '' : 'not ' ) + 'a break: ' + context
|
|
|
|
);
|
|
|
|
}
|
2013-04-03 03:00:31 +00:00
|
|
|
});
|