2010-11-12 15:05:57 -08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>nsIAccessibleText getText related function tests for html:input,html:div and html:textarea</title>
|
|
|
|
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
|
|
|
|
|
|
|
<script type="application/javascript"
|
|
|
|
src="chrome://mochikit/content/MochiKit/packed.js"></script>
|
|
|
|
<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()
|
|
|
|
{
|
|
|
|
// __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
|
|
|
|
|
2011-01-24 19:33:47 -08:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// characterCount
|
|
|
|
|
|
|
|
testCharacterCount(["input", "div"], 15);
|
|
|
|
testCharacterCount(["textarea"], 16);
|
|
|
|
|
2010-11-12 15:05:57 -08:00
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// getText
|
|
|
|
|
2011-01-24 19:33:47 -08:00
|
|
|
var IDs = ["input", "div", "textarea"];
|
2010-11-12 15:05:57 -08:00
|
|
|
testText(IDs, 0, 1, "h");
|
|
|
|
testText(IDs, 1, 3, "el");
|
|
|
|
testText(IDs, 14, 15, "d");
|
|
|
|
testText(IDs, 0, 15, "hello my friend");
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// getTextAfterOffset
|
|
|
|
|
2011-02-03 06:29:12 -08:00
|
|
|
var IDs = [ "input", "div", "editable", "textarea" ];
|
|
|
|
var regularIDs = [ "input", "div", "editable" ];
|
|
|
|
|
2010-11-12 15:05:57 -08:00
|
|
|
// BOUNDARY_CHAR
|
2011-02-03 06:29:12 -08:00
|
|
|
|
|
|
|
testCharAfterOffset(IDs, 0, "e", 1, 2);
|
|
|
|
testCharAfterOffset(IDs, 1, "l", 2, 3);
|
|
|
|
testCharAfterOffset(regularIDs, 14, "", 15, 15);
|
|
|
|
testCharAfterOffset("textarea", 14, "\n", 15, 16);
|
|
|
|
|
|
|
|
// XXX: why are 15/15 expected? there's no 16 offset we are trying to
|
|
|
|
// get an offset for?
|
2010-11-12 15:05:57 -08:00
|
|
|
testTextAfterOffset(15, BOUNDARY_CHAR, "", 15, 15,
|
|
|
|
"input", kOk, kTodo, kTodo,
|
|
|
|
"div", kOk, kTodo, kTodo,
|
2011-02-03 06:29:12 -08:00
|
|
|
"editable", kOk, kTodo, kTodo);
|
|
|
|
testCharAfterOffset("textarea", 15, "", 16, 16);
|
2010-11-12 15:05:57 -08:00
|
|
|
|
|
|
|
// BOUNDARY_WORD_START
|
|
|
|
testTextAfterOffset(0, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(1, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(5, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(6, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(7, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(8, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(9, BOUNDARY_WORD_START, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(11, BOUNDARY_WORD_START, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(14, BOUNDARY_WORD_START, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(15, BOUNDARY_WORD_START, "", 15, 15,
|
|
|
|
"input", kOk, kTodo, kTodo,
|
|
|
|
"div", kOk, kTodo, kTodo,
|
|
|
|
"editable", kOk, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_WORD_END
|
|
|
|
testTextAfterOffset(0, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(1, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(5, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAfterOffset(6, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(7, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(8, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAfterOffset(9, BOUNDARY_WORD_END, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(11, BOUNDARY_WORD_END, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(14, BOUNDARY_WORD_END, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(15, BOUNDARY_WORD_END, "", 15, 15,
|
|
|
|
"input", kOk, kTodo, kTodo,
|
|
|
|
"div", kOk, kTodo, kTodo,
|
|
|
|
"editable", kOk, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_LINE_START
|
|
|
|
testTextAfterOffset(0, BOUNDARY_LINE_START, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(1, BOUNDARY_LINE_START, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(14, BOUNDARY_LINE_START, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAfterOffset(15, BOUNDARY_LINE_START, "", 15, 15,
|
|
|
|
"input", undefined, undefined, undefined,
|
|
|
|
"div", undefined, undefined, undefined,
|
|
|
|
"editable", undefined, undefined, undefined,
|
|
|
|
"textarea", kTodo, undefined, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_LINE_END
|
|
|
|
testTextAfterOffset(0, BOUNDARY_LINE_END, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(1, BOUNDARY_LINE_END, "", 15, 15,
|
|
|
|
"input", kTodo, kTodo, kOk,
|
|
|
|
"div", kTodo, kTodo, kOk,
|
|
|
|
"editable", kTodo, kTodo, kOk,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(14, BOUNDARY_LINE_END, "", 15, 15,
|
|
|
|
"input", kOk, kTodo, kTodo,
|
|
|
|
"div", kOk, kTodo, kTodo,
|
|
|
|
"editable", kOk, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kOk);
|
|
|
|
testTextAfterOffset(15, BOUNDARY_LINE_END, "", 15, 15,
|
|
|
|
"input", kOk, kTodo, kTodo,
|
|
|
|
"div", kOk, kTodo, kTodo,
|
|
|
|
"editable", kOk, kTodo, kTodo,
|
|
|
|
"textarea", kOk, kTodo, kTodo);
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// getTextBeforeOffset
|
|
|
|
|
2011-02-03 06:29:12 -08:00
|
|
|
var IDs = [ "input", "div", "editable", "textarea" ];
|
|
|
|
|
2010-11-12 15:05:57 -08:00
|
|
|
// BOUNDARY_CHAR
|
2011-02-03 06:29:12 -08:00
|
|
|
testCharBeforeOffset(IDs, 0, "", 0, 0);
|
|
|
|
testCharBeforeOffset(IDs, 1, "h", 0, 1);
|
|
|
|
testCharBeforeOffset(IDs, 14, "n", 13, 14);
|
|
|
|
testCharBeforeOffset(IDs, 15, "d", 14, 15);
|
2010-11-12 15:05:57 -08:00
|
|
|
|
|
|
|
// BOUNDARY_WORD_START
|
|
|
|
testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(1, BOUNDARY_WORD_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(5, BOUNDARY_WORD_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(6, BOUNDARY_WORD_START, "hello ", 0, 6,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(7, BOUNDARY_WORD_START, "hello ", 0, 6,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(8, BOUNDARY_WORD_START, "hello ", 0, 6,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(9, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(10, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(14, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(15, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_WORD_END
|
|
|
|
testTextBeforeOffset(0, BOUNDARY_WORD_END, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(1, BOUNDARY_WORD_END, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(5, BOUNDARY_WORD_END, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(6, BOUNDARY_WORD_END, "hello ", 0, 6,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(7, BOUNDARY_WORD_END, "hello ", 0, 6,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(8, BOUNDARY_WORD_END, "hello ", 0, 6,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(9, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(10, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(14, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextBeforeOffset(15, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_LINE_START
|
|
|
|
testTextBeforeOffset(0, BOUNDARY_LINE_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(1, BOUNDARY_LINE_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(14, BOUNDARY_LINE_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(15, BOUNDARY_LINE_START, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_LINE_END
|
|
|
|
testTextBeforeOffset(0, BOUNDARY_LINE_END, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(1, BOUNDARY_LINE_END, "", 0, 0,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(14, BOUNDARY_LINE_END, "", 0, 0,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextBeforeOffset(15, BOUNDARY_LINE_END, "", 0, 0,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
// getTextAtOffset
|
|
|
|
|
2011-02-03 06:29:12 -08:00
|
|
|
IDs = [ "input", "div", "editable", "textarea" ];
|
|
|
|
regularIDs = [ "input", "div", "editable" ];
|
|
|
|
|
2010-11-12 15:05:57 -08:00
|
|
|
// BOUNDARY_CHAR
|
2011-02-03 06:29:12 -08:00
|
|
|
|
|
|
|
testCharAtOffset(IDs, 0, "h", 0, 1);
|
|
|
|
testCharAtOffset(IDs, 1, "e", 1, 2);
|
|
|
|
testCharAtOffset(IDs, 14, "d", 14, 15);
|
|
|
|
testCharAtOffset(regularIDs, 15, "", 15, 15);
|
|
|
|
testCharAtOffset("textarea", 15, "\n", 15, 16);
|
|
|
|
testCharAtOffset("textarea", 16, "", 16, 16);
|
2010-11-12 15:05:57 -08:00
|
|
|
|
|
|
|
// BOUNDARY_WORD_START
|
|
|
|
testTextAtOffset(0, BOUNDARY_WORD_START, "hello ", 0, 6,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(1, BOUNDARY_WORD_START, "hello ", 0, 6,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(5, BOUNDARY_WORD_START, "hello ", 0, 6,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(6, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(7, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(8, BOUNDARY_WORD_START, "my ", 6, 9,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(9, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(10, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(14, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(15, BOUNDARY_WORD_START, "friend", 9, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_WORD_END
|
|
|
|
testTextAtOffset(0, BOUNDARY_WORD_END, "hello", 0, 5,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(1, BOUNDARY_WORD_END, "hello", 0, 5,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(5, BOUNDARY_WORD_END, "hello", 0, 5,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAtOffset(6, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(7, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(8, BOUNDARY_WORD_END, " my", 5, 8,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
testTextAtOffset(9, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(10, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(14, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(15, BOUNDARY_WORD_END, " friend", 8, 15,
|
|
|
|
"input", kTodo, kTodo, kTodo,
|
|
|
|
"div", kTodo, kTodo, kTodo,
|
|
|
|
"editable", kTodo, kTodo, kTodo,
|
|
|
|
"textarea", kTodo, kTodo, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_LINE_START
|
|
|
|
testTextAtOffset(0, BOUNDARY_LINE_START, "hello my friend", 0, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextAtOffset(1, BOUNDARY_LINE_START, "hello my friend", 0, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextAtOffset(14, BOUNDARY_LINE_START, "hello my friend", 0, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
testTextAtOffset(15, BOUNDARY_LINE_START, "hello my friend", 0, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
|
|
|
|
// BOUNDARY_LINE_END
|
|
|
|
testTextAtOffset(0, BOUNDARY_LINE_END, "hello my friend", 0, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(1, BOUNDARY_LINE_END, "hello my friend", 0, 15,
|
|
|
|
"input", kOk, kOk, kOk,
|
|
|
|
"div", kOk, kOk, kOk,
|
|
|
|
"editable", kOk, kOk, kOk,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(14, BOUNDARY_LINE_END, "hello my friend", 0, 15,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kOk, kOk, kOk);
|
|
|
|
testTextAtOffset(15, BOUNDARY_LINE_END, "hello my friend", 0, 15,
|
|
|
|
"input", kTodo, kOk, kTodo,
|
|
|
|
"div", kTodo, kOk, kTodo,
|
|
|
|
"editable", kTodo, kOk, kTodo,
|
|
|
|
"textarea", kTodo, kOk, kTodo);
|
|
|
|
|
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
addA11yLoadEvent(doTest);
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<a target="_blank"
|
|
|
|
title="nsIAccessibleText getText related function tests for html:input,html:div and html:textarea"
|
|
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=452769">Mozilla Bug 452769</a>
|
|
|
|
<p id="display"></p>
|
|
|
|
<div id="content" style="display: none"></div>
|
|
|
|
<pre id="test">
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
<input id="input" value="hello my friend"/>
|
|
|
|
<div id="div">hello my friend</div>
|
|
|
|
<div id="editable" contenteditable="true">hello my friend</div>
|
|
|
|
<textarea id="textarea">hello my friend</textarea>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|