Bug 875201 - move getText at word boundary tests into test_wordboundery.html, r=tbsaunde

This commit is contained in:
Alexander Surkov 2013-05-24 14:52:35 +09:00
Родитель 33f0d82cac
Коммит 5fbf702f68
5 изменённых файлов: 172 добавлений и 359 удалений

Просмотреть файл

@ -23,7 +23,6 @@ MOCHITEST_A11Y_FILES = \
test_passwords.html \
test_selection.html \
test_singleline.html \
test_whitespaces.html \
test_wordboundary.html \
test_words.html \
$(NULL)

Просмотреть файл

@ -33,22 +33,6 @@
////////////////////////////////////////////////////////////////////////
// getTextAfterOffset
// BOUNDARY_WORD_START
testTextAfterOffset(0, BOUNDARY_WORD_START, "two ", 9, 13, IDs);
testTextAfterOffset(8, BOUNDARY_WORD_START, "two ", 9, 13,
"div", kOk, kOk, kOk,
"divbr", kTodo, kTodo, kTodo,
"editable", kOk, kOk, kOk,
"editablebr", kTodo, kTodo, kTodo,
"textarea", kOk, kOk, kOk);
testTextAfterOffset(9, BOUNDARY_WORD_START, "words\n", 13, 19, IDs);
// BOUNDARY_WORD_END
testTextAfterOffset(0, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextAfterOffset(6, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextAfterOffset(7, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextAfterOffset(8, BOUNDARY_WORD_END, " words", 12, 18, IDs);
// BOUNDARY_LINE_START
testTextAfterOffset(0, BOUNDARY_LINE_START, "\n", 8, 9,
"div", kTodo, kTodo, kTodo,
@ -122,40 +106,6 @@
////////////////////////////////////////////////////////////////////////
// getTextBeforeOffset
// BOUNDARY_WORD_START
testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(7, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(8, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(9, BOUNDARY_WORD_START, "oneword\n\n", 0, 9, IDs);
testTextBeforeOffset(13, BOUNDARY_WORD_START, "two ", 9, 13, IDs);
testTextBeforeOffset(18, BOUNDARY_WORD_START, "two ", 9, 13, IDs);
testTextBeforeOffset(19, BOUNDARY_WORD_START, "two ", 9, 13, IDs);
// BOUNDARY_WORD_END
testTextBeforeOffset(0, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(7, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(8, BOUNDARY_WORD_END, "oneword", 0, 7,
"div", kOk, kOk, kOk,
"divbr", kTodo, kOk, kTodo,
"editable", kOk, kOk, kOk,
"editablebr", kTodo, kOk, kTodo,
"textarea", kOk, kOk, kOk);
testTextBeforeOffset(9, BOUNDARY_WORD_END, "oneword", 0, 7,
"div", kOk, kOk, kOk,
"divbr", kTodo, kOk, kTodo,
"editable", kOk, kOk, kOk,
"editablebr", kTodo, kOk, kTodo,
"textarea", kOk, kOk, kOk);
testTextBeforeOffset(12, BOUNDARY_WORD_END, "oneword", 0, 7, IDs);
testTextBeforeOffset(13, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextBeforeOffset(18, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextBeforeOffset(19, BOUNDARY_WORD_END, " words", 12, 18,
"div", kOk, kOk, kOk,
"divbr", kTodo, kTodo, kTodo,
"editable", kOk, kOk, kOk,
"editablebr", kTodo, kTodo, kTodo,
"textarea", kOk, kOk, kOk);
// BOUNDARY_LINE_START
testTextBeforeOffset(0, BOUNDARY_LINE_START, "", 0, 0,
"div", kOk, kOk, kOk,
@ -229,29 +179,6 @@
////////////////////////////////////////////////////////////////////////
// getTextAtOffset
// BOUNDARY_WORD_START
testTextAtOffset(0, BOUNDARY_WORD_START, "oneword\n\n", 0, 9, IDs);
testTextAtOffset(8, BOUNDARY_WORD_START, "oneword\n\n", 0, 9,
"div", kOk, kOk, kOk,
"divbr", kTodo, kTodo, kTodo,
"editable", kOk, kOk, kOk,
"editablebr", kTodo, kTodo, kTodo,
"textarea", kOk, kOk, kOk);
testTextAtOffset(9, BOUNDARY_WORD_START, "two ", 9, 13, IDs);
testTextAtOffset(13, BOUNDARY_WORD_START, "words\n", 13, 19, IDs);
// BOUNDARY_WORD_END
testTextAtOffset(0, BOUNDARY_WORD_END, "oneword", 0, 7, IDs);
testTextAtOffset(8, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextAtOffset(9, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, IDs);
testTextAtOffset(12, BOUNDARY_WORD_END, " words", 12, 18, IDs);
testTextAtOffset(13, BOUNDARY_WORD_END, " words", 12, 18,
"div", kOk, kOk, kOk,
"divbr", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"editablebr", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
// BOUNDARY_LINE_START
testTextAtOffset(0, BOUNDARY_LINE_START, "oneword\n", 0, 8,
"div", kTodo, kOk, kTodo,

Просмотреть файл

@ -28,30 +28,6 @@
var IDs = [ "input", "div", "editable", "textarea" ];
var regularIDs = [ "input", "div", "editable" ];
// BOUNDARY_WORD_START
testTextAfterOffset(0, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextAfterOffset(1, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextAfterOffset(5, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextAfterOffset(6, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
testTextAfterOffset(7, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
testTextAfterOffset(8, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
testTextAfterOffset(9, BOUNDARY_WORD_START, "", 15, 15, IDs);
testTextAfterOffset(11, BOUNDARY_WORD_START, "", 15, 15, IDs);
testTextAfterOffset(14, BOUNDARY_WORD_START, "", 15, 15, IDs);
testTextAfterOffset(15, BOUNDARY_WORD_START, "", 15, 15, IDs);
// BOUNDARY_WORD_END
testTextAfterOffset(0, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextAfterOffset(1, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextAfterOffset(5, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextAfterOffset(6, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAfterOffset(7, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAfterOffset(8, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAfterOffset(9, BOUNDARY_WORD_END, "", 15, 15, IDs);
testTextAfterOffset(11, BOUNDARY_WORD_END, "", 15, 15, IDs);
testTextAfterOffset(14, BOUNDARY_WORD_END, "", 15, 15, IDs);
testTextAfterOffset(15, BOUNDARY_WORD_END, "", 15, 15, IDs);
// BOUNDARY_LINE_START
testTextAfterOffset(0, BOUNDARY_LINE_START, "", 15, 15,
"input", kTodo, kTodo, kOk,
@ -101,30 +77,6 @@
var IDs = [ "input", "div", "editable", "textarea" ];
// BOUNDARY_WORD_START
testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(1, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(5, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(6, BOUNDARY_WORD_START, "hello ", 0, 6, IDs);
testTextBeforeOffset(7, BOUNDARY_WORD_START, "hello ", 0, 6, IDs);
testTextBeforeOffset(8, BOUNDARY_WORD_START, "hello ", 0, 6, IDs);
testTextBeforeOffset(9, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextBeforeOffset(10, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextBeforeOffset(14, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextBeforeOffset(15, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
// BOUNDARY_WORD_END
testTextBeforeOffset(0, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(1, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(5, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(6, BOUNDARY_WORD_END, "hello", 0, 5, IDs);
testTextBeforeOffset(7, BOUNDARY_WORD_END, "hello", 0, 5, IDs);
testTextBeforeOffset(8, BOUNDARY_WORD_END, "hello", 0, 5, IDs);
testTextBeforeOffset(9, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextBeforeOffset(10, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextBeforeOffset(14, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextBeforeOffset(15, BOUNDARY_WORD_END, " my", 5, 8, IDs);
// BOUNDARY_LINE_START
testTextBeforeOffset(0, BOUNDARY_LINE_START, "", 0, 0,
"input", kOk, kOk, kOk,
@ -171,30 +123,6 @@
IDs = [ "input", "div", "editable", "textarea" ];
regularIDs = [ "input", "div", "editable" ];
// BOUNDARY_WORD_START
testTextAtOffset(0, BOUNDARY_WORD_START, "hello ", 0, 6, IDs);
testTextAtOffset(1, BOUNDARY_WORD_START, "hello ", 0, 6, IDs);
testTextAtOffset(5, BOUNDARY_WORD_START, "hello ", 0, 6, IDs);
testTextAtOffset(6, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextAtOffset(7, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextAtOffset(8, BOUNDARY_WORD_START, "my ", 6, 9, IDs);
testTextAtOffset(9, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
testTextAtOffset(10, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
testTextAtOffset(14, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
testTextAtOffset(15, BOUNDARY_WORD_START, "friend", 9, 15, IDs);
// BOUNDARY_WORD_END
testTextAtOffset(0, BOUNDARY_WORD_END, "hello", 0, 5, IDs);
testTextAtOffset(1, BOUNDARY_WORD_END, "hello", 0, 5, IDs);
testTextAtOffset(5, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextAtOffset(6, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextAtOffset(7, BOUNDARY_WORD_END, " my", 5, 8, IDs);
testTextAtOffset(8, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAtOffset(9, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAtOffset(10, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAtOffset(14, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
testTextAtOffset(15, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
// BOUNDARY_LINE_START
testTextAtOffset(0, BOUNDARY_LINE_START, "hello my friend", 0, 15, IDs);
testTextAtOffset(1, BOUNDARY_LINE_START, "hello my friend", 0, 15, IDs);

Просмотреть файл

@ -1,209 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>getText... methods tests on string with whitespaces for plain text containers</title>
<link rel="stylesheet" type="text/css"
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../text.js"></script>
<script type="application/javascript">
function doTest()
{
// __B__r__a__v__e__ __S__i__r__ __ __R__o__b__i__n__ __ __ __r__a__n
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
////////////////////////////////////////////////////////////////////////
// getTextAfterOffset
var IDs = [ "input", "div", "editable", "textarea" ];
// BOUNDARY_WORD_START
testTextAfterOffset(0, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextAfterOffset(5, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextAfterOffset(6, BOUNDARY_WORD_START, "Robin ", 11, 19, IDs);
testTextAfterOffset(9, BOUNDARY_WORD_START, "Robin ", 11, 19, IDs);
testTextAfterOffset(10, BOUNDARY_WORD_START, "Robin ", 11, 19, IDs);
testTextAfterOffset(11, BOUNDARY_WORD_START, "ran", 19, 22, IDs);
testTextAfterOffset(16, BOUNDARY_WORD_START, "ran", 19, 22, IDs);
testTextAfterOffset(18, BOUNDARY_WORD_START, "ran", 19, 22, IDs);
testTextAfterOffset(19, BOUNDARY_WORD_START, "", 22, 22, IDs);
// BOUNDARY_WORD_END
testTextAfterOffset(0, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextAfterOffset(4, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextAfterOffset(5, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextAfterOffset(6, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAfterOffset(8, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAfterOffset(9, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAfterOffset(10, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAfterOffset(11, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAfterOffset(15, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAfterOffset(16, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAfterOffset(17, BOUNDARY_WORD_END, "", 22, 22, IDs);
testTextAfterOffset(18, BOUNDARY_WORD_END, "", 22, 22, IDs);
testTextAfterOffset(19, BOUNDARY_WORD_END, "", 22, 22, IDs);
testTextAfterOffset(21, BOUNDARY_WORD_END, "", 22, 22, IDs);
testTextAfterOffset(22, BOUNDARY_WORD_END, "", 22, 22, IDs);
////////////////////////////////////////////////////////////////////////
// getTextBeforeOffset
var IDs = [ "input", "div", "editable", "textarea" ];
// BOUNDARY_WORD_START
testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(1, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(5, BOUNDARY_WORD_START, "", 0, 0, IDs);
testTextBeforeOffset(6, BOUNDARY_WORD_START, "Brave ", 0, 6, IDs);
testTextBeforeOffset(9, BOUNDARY_WORD_START, "Brave ", 0, 6, IDs);
testTextBeforeOffset(10, BOUNDARY_WORD_START, "Brave ", 0, 6, IDs);
testTextBeforeOffset(11, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextBeforeOffset(15, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextBeforeOffset(16, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextBeforeOffset(17, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextBeforeOffset(18, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs);
testTextBeforeOffset(19, BOUNDARY_WORD_START, "Robin ", 11, 19, IDs);
testTextBeforeOffset(20, BOUNDARY_WORD_START, "Robin ", 11, 19, IDs);
testTextBeforeOffset(21, BOUNDARY_WORD_START, "Robin ", 11, 19, IDs);
// BOUNDARY_WORD_END
testTextBeforeOffset(0, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(1, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(4, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(5, BOUNDARY_WORD_END, "", 0, 0, IDs);
testTextBeforeOffset(6, BOUNDARY_WORD_END, "Brave", 0, 5, IDs);
testTextBeforeOffset(7, BOUNDARY_WORD_END, "Brave", 0, 5, IDs);
testTextBeforeOffset(8, BOUNDARY_WORD_END, "Brave", 0, 5, IDs);
testTextBeforeOffset(9, BOUNDARY_WORD_END, "Brave", 0, 5, IDs);
testTextBeforeOffset(10, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextBeforeOffset(11, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextBeforeOffset(15, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextBeforeOffset(16, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextBeforeOffset(17, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextBeforeOffset(18, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextBeforeOffset(19, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextBeforeOffset(21, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextBeforeOffset(22, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
////////////////////////////////////////////////////////////////////////
// getTextAtOffset
// BOUNDARY_WORD_START
testTextAtOffset(0, BOUNDARY_WORD_START, "Brave ", 0, 6,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(5, BOUNDARY_WORD_START, "Brave ", 0, 6,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(6, BOUNDARY_WORD_START, "Sir ", 6, 11,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(8, BOUNDARY_WORD_START, "Sir ", 6, 11,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(9, BOUNDARY_WORD_START, "Sir ", 6, 11,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(10, BOUNDARY_WORD_START, "Sir ", 6, 11,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(11, BOUNDARY_WORD_START, "Robin ", 11, 19,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(15, BOUNDARY_WORD_START, "Robin ", 11, 19,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(16, BOUNDARY_WORD_START, "Robin ", 11, 19,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(17, BOUNDARY_WORD_START, "Robin ", 11, 19,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(18, BOUNDARY_WORD_START, "Robin ", 11, 19,
"input", kOk, kOk, kOk,
"div", kOk, kOk, kOk,
"editable", kOk, kOk, kOk,
"textarea", kOk, kOk, kOk);
testTextAtOffset(19, BOUNDARY_WORD_START, "ran", 19, 22, IDs);
testTextAtOffset(21, BOUNDARY_WORD_START, "ran", 19, 22, IDs);
testTextAtOffset(22, BOUNDARY_WORD_START, "ran", 19, 22, IDs);
// BOUNDARY_WORD_END
testTextAtOffset(0, BOUNDARY_WORD_END, "Brave", 0, 5, IDs);
testTextAtOffset(4, BOUNDARY_WORD_END, "Brave", 0, 5, IDs);
testTextAtOffset(5, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextAtOffset(6, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextAtOffset(8, BOUNDARY_WORD_END, " Sir", 5, 9, IDs);
testTextAtOffset(9, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAtOffset(10, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAtOffset(11, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAtOffset(15, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);
testTextAtOffset(16, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAtOffset(17, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAtOffset(18, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAtOffset(19, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAtOffset(20, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAtOffset(21, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
testTextAtOffset(22, BOUNDARY_WORD_END, " ran", 16, 22, IDs);
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</script>
</head>
<body>
<a target="_blank"
title="getText... methods tests on string with whitespaces for plain text containers"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=610568">
Bug 610568
</a>
<a target="_blank"
title="getTextAtOffset for word boundaries: beginning of a new life"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=853340">
Bug 853340
</a>
<a target="_blank"
title="getTextBeforeOffset for word boundaries: evolving"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=855732">
Bug 855732
</a>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
<input id="input" value="Brave Sir Robin ran"/>
<div id="div">Brave Sir Robin ran</div>
<div id="editable" contenteditable="true">Brave Sir Robin ran</div>
<textarea id="textarea" cols="300">Brave Sir Robin ran</textarea>
</pre>
</body>
</html>

Просмотреть файл

@ -16,7 +16,9 @@
function doTest()
{
// "hello"
var ids = [ "i1", "d1", "e1" ];
// __h__e__l__l__o__
// 0 1 2 3 4 5
var ids = [ "i1", "d1", "e1", "t1" ];
testTextBeforeOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "", 0, 0 ] ]);
testTextBeforeOffset(ids, BOUNDARY_WORD_END,
@ -33,7 +35,9 @@
[ [ 0, 5, "", 5, 5 ] ]);
// "hello "
var ids = [ "i2", "d2", "e2" ];
// __h__e__l__l__o__ __
// 0 1 2 3 4 5 6
var ids = [ "i2", "d2", "e2", "t2" ];
testTextBeforeOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 6, "", 0, 0 ] ]);
testTextBeforeOffset(ids, BOUNDARY_WORD_END,
@ -63,7 +67,16 @@
]);
// "hello all"
ids = [ "i6", "d6", "e6" ];
// __h__e__l__l__o__ __a__l__l__
// 0 1 2 3 4 5 6 7 8 9
ids = [ "i6", "d6", "e6", "t6" ];
testTextBeforeOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "", 0, 0 ],
[ 6, 9, "hello ", 0, 6 ]]);
testTextBeforeOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 5, "", 0, 0 ],
[ 6, 9, "hello", 0, 5 ] ]);
testTextAtOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "hello ", 0, 6 ],
[ 6, 9, "all", 6, 9 ] ]);
@ -71,8 +84,26 @@
[ [ 0, 4, "hello", 0, 5 ],
[ 5, 9, " all", 5, 9 ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "all", 6, 9 ],
[ 6, 9, "", 9, 9 ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 5, " all", 5, 9 ],
[ 6, 9, "", 9, 9 ] ]);
// "hello my friend"
ids = [ "i7", "d7", "e7" ];
// __h__e__l__l__o__ __m__y__ __f__r__i__e__n__d__
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ids = [ "i7", "d7", "e7", "t7" ];
testTextBeforeOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "", 0, 0 ],
[ 6, 8, "hello ", 0, 6 ],
[ 9, 15, "my ", 6, 9 ] ]);
testTextBeforeOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 5, "", 0, 0 ],
[ 6, 8, "hello", 0, 5 ],
[ 9, 15, " my", 5, 8 ] ]);
testTextAtOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "hello ", 0, 6 ],
[ 6, 8, "my ", 6, 9 ],
@ -82,6 +113,115 @@
[ 5, 7, " my", 5, 8 ],
[ 8, 15, " friend", 8, 15] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "my ", 6, 9 ],
[ 6, 8, "friend", 9, 15 ],
[ 9, 15, "", 15, 15 ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 5, " my", 5, 8 ],
[ 6, 8, " friend", 8, 15 ],
[ 9, 15, "", 15, 15 ] ]);
// "Brave Sir Robin ran"
// __B__r__a__v__e__ __S__i__r__ __ __R__o__b__i__n__ __ __ __r__a__n__
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
ids = [ "i8", "d8", "e8", "t8" ];
testTextBeforeOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "", 0, 0 ],
[ 6, 10, "Brave ", 0, 6 ],
[ 11, 18, "Sir ", 6, 11 ],
[ 19, 22, "Robin ", 11, 19 ] ]);
testTextBeforeOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 5, "", 0, 0 ],
[ 6, 9, "Brave", 0, 5 ],
[ 10, 16, " Sir", 5, 9 ],
[ 17, 22, " Robin", 9, 16 ] ]);
testTextAtOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "Brave ", 0, 6 ],
[ 6, 10, "Sir ", 6, 11 ],
[ 11, 18, "Robin ", 11, 19 ],
[ 19, 22, "ran", 19, 22 ] ]);
testTextAtOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 4, "Brave", 0, 5 ],
[ 5, 8, " Sir", 5, 9 ],
[ 9, 15, " Robin", 9, 16 ],
[ 16, 22, " ran", 16, 22 ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 5, "Sir ", 6, 11 ],
[ 6, 10, "Robin ", 11, 19 ],
[ 11, 18, "ran", 19, 22 ],
[ 19, 22, "", 22, 22 ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 5, " Sir", 5, 9 ],
[ 6, 9, " Robin", 9, 16 ],
[ 10, 16, " ran", 16, 22 ],
[ 17, 22, "", 22, 22 ] ]);
// 'oneword
// '
// 'two words
// '
// __o__n__e__w__o__r__d__\n
// 0 1 2 3 4 5 6 7
// __\n
// 8
// __t__w__o__ __w__o__r__d__s__\n__
// 9 10 11 12 13 14 15 16 17 18 19
ids = ["ml_div1", "ml_divbr1", "ml_ediv1", "ml_edivbr1", "ml_t1"];
testTextBeforeOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 8, "", 0, 0 ],
[ 9, 12, "oneword\n\n", 0, 9 ],
[ 13, 19, "two ", 9, 13 ] ]);
testTextBeforeOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 7, "", 0, 0 ],
[ 8, 12, "oneword", 0, 7,
[ [ 8, "ml_divbr1", kTodo, kOk, kTodo ],
[ 8, "ml_edivbr1", kTodo, kOk, kTodo ],
[ 9, "ml_divbr1", kTodo, kOk, kTodo ],
[ 9, "ml_edivbr1", kTodo, kOk, kTodo ] ] ],
[ 13, 18, "\n\ntwo", 7, 12 ],
[ 19, 19, " words", 12, 18,
[ [ 19, "ml_divbr1", kTodo, kTodo, kTodo, ],
[ 19, "ml_edivbr1", kTodo, kTodo, kTodo, ] ] ]
] );
testTextAtOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 8, "oneword\n\n", 0, 9,
[ [ 7, "ml_divbr1", kTodo, kTodo, kTodo ],
[ 7, "ml_edivbr1", kTodo, kTodo, kTodo ],
[ 8, "ml_divbr1", kTodo, kTodo, kTodo ],
[ 8, "ml_edivbr1", kTodo, kTodo, kTodo ] ] ],
[ 9, 12, "two ", 9, 13 ],
[ 13, 19, "words\n", 13, 19 ] ]);
testTextAtOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 6, "oneword", 0, 7 ],
[ 7, 11, "\n\ntwo", 7, 12 ],
[ 12, 17, " words", 12, 18 ],
[ 18, 19, "\n", 18, 19,
[ [ 18, "ml_divbr1", kTodo, kTodo, kOk ],
[ 18, "ml_edivbr1", kTodo, kTodo, kOk ],
[ 19, "ml_divbr1", kTodo, kTodo, kOk ],
[ 19, "ml_edivbr1", kTodo, kTodo, kOk ] ] ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_START,
[ [ 0, 8, "two ", 9, 13,
[ [ 7, "ml_divbr1", kTodo, kTodo, kTodo ],
[ 7, "ml_edivbr1", kTodo, kTodo, kTodo ],
[ 8, "ml_divbr1", kTodo, kTodo, kTodo ],
[ 8, "ml_edivbr1", kTodo, kTodo, kTodo ] ] ],
[ 9, 12, "words\n", 13, 19 ],
[ 13, 19, "", 19, 19 ] ]);
testTextAfterOffset(ids, BOUNDARY_WORD_END,
[ [ 0, 7, "\n\ntwo", 7, 12 ],
[ 8, 12, " words", 12, 18 ],
[ 13, 18, "\n", 18, 19,
[ [ 18, "ml_divbr1", kTodo, kTodo, kOk ],
[ 18, "ml_edivbr1", kTodo, kTodo, kOk ] ] ],
[ 19, 19, "", 19, 19 ] ]);
SimpleTest.finish();
}
@ -99,18 +239,46 @@
<input id="i1" value="hello"/>
<div id="d1">hello</div>
<div id="e1" contenteditable="true">hello</div>
<textarea id="t1">hello</textarea>
<input id="i2" value="hello "/>
<pre><div id="d2">hello </div></pre>
<div id="e2" contenteditable="true">hello </div>
<textarea id="t2">hello </textarea>
<input id="i6" value="hello all"/>
<div id="d6">hello all</div>
<div id="e6" contenteditable="true">hello all</div>
<textarea id="t6">hello all</textarea>
<input id="i7" value="hello my friend"/>
<div id="d7">hello my friend</div>
<div id="e7" contenteditable="true">hello my friend</div>
<textarea id="t7">hello my friend</textarea>
<input id="i8" value="Brave Sir Robin ran"/>
<pre>
<div id="d8">Brave Sir Robin ran</div>
<div id="e8" contenteditable="true">Brave Sir Robin ran</div>
</pre>
<textarea id="t8" cols="300">Brave Sir Robin ran</textarea>
<pre>
<div id="ml_div1">oneword
two words
</div>
<div id="ml_divbr1">oneword<br/><br/>two words<br/></div>
<div id="ml_ediv1" contenteditable="true">oneword
two words
</div>
<div id="ml_edivbr1" contenteditable="true">oneword<br/><br/>two words<br/></div>
<textarea id="ml_t1" cols="300">oneword
two words
</textarea>
</pre>
</body>
</html>