diff options
Diffstat (limited to 'layout/reftests/bidi/unicode-bidi-isolate-basic.js')
-rw-r--r-- | layout/reftests/bidi/unicode-bidi-isolate-basic.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/layout/reftests/bidi/unicode-bidi-isolate-basic.js b/layout/reftests/bidi/unicode-bidi-isolate-basic.js new file mode 100644 index 0000000000..e949e6a445 --- /dev/null +++ b/layout/reftests/bidi/unicode-bidi-isolate-basic.js @@ -0,0 +1,44 @@ +function buildTable() +{ + var seed = 0; + + var neutrals = ['"', ")", "("]; + var strongRTLs = ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז']; + var strongLTRs = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; + var neutral = function() { return neutrals[seed++ % neutrals.length]; } + var strongRTL = function() { return strongRTLs[seed++ % strongRTLs.length]; } + var strongLTR = function() { return strongLTRs[seed++ % strongLTRs.length]; } + var charClassExamples = [neutral, strongRTL, strongLTR]; + var possibleDirs = ['ltr', 'rtl']; + + var elem=document.getElementById("elem"); + for (outerDirIndex in possibleDirs) { + var outerDir = possibleDirs[outerDirIndex]; + for (beforeSpanIndex in charClassExamples) { + var beforeSpan = charClassExamples[beforeSpanIndex]; + for (spanDirIndex in possibleDirs) { + var spanDir = possibleDirs[spanDirIndex]; + for (inSpanIndex in charClassExamples) { + var inSpan = charClassExamples[inSpanIndex]; + for (afterSpanIndex in charClassExamples) { + var afterSpan = charClassExamples[afterSpanIndex]; + function caseWithStyle() { + seed = 0; + var outerDiv = document.createElement("div"); + outerDiv.dir = outerDir; + outerDiv.appendChild(document.createTextNode(beforeSpan())); + var span = document.createElement("span"); + span.dir = spanDir; + span.setAttribute("class", "enclosed") + span.appendChild(document.createTextNode(inSpan())); + outerDiv.appendChild(span); + outerDiv.appendChild(document.createTextNode(afterSpan())); + return outerDiv; + } + elem.appendChild(caseWithStyle()); + } + } + } + } + } +} |