layout/reftests/bidi/unicode-bidi-isolate-basic.js

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 function buildTable()
     2 {
     3     var seed = 0;
     5     var neutrals = ['"', ")", "("];
     6     var strongRTLs = ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז'];
     7     var strongLTRs = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
     8     var neutral = function() { return neutrals[seed++ % neutrals.length]; }
     9     var strongRTL = function() { return strongRTLs[seed++ % strongRTLs.length]; }
    10     var strongLTR = function() { return strongLTRs[seed++ % strongLTRs.length]; }
    11     var charClassExamples = [neutral, strongRTL, strongLTR];
    12     var possibleDirs = ['ltr', 'rtl'];
    14     var elem=document.getElementById("elem");
    15     for (outerDirIndex in possibleDirs) {
    16 	var outerDir = possibleDirs[outerDirIndex];
    17 	for (beforeSpanIndex in charClassExamples) {
    18             var beforeSpan = charClassExamples[beforeSpanIndex];
    19             for (spanDirIndex in possibleDirs) {
    20 		var spanDir = possibleDirs[spanDirIndex];
    21 		for (inSpanIndex in charClassExamples) {
    22                     var inSpan = charClassExamples[inSpanIndex];
    23                     for (afterSpanIndex in charClassExamples) {
    24 			var afterSpan = charClassExamples[afterSpanIndex];
    25 			function caseWithStyle() {
    26                             seed = 0;
    27                             var outerDiv = document.createElement("div");
    28                             outerDiv.dir = outerDir;
    29                             outerDiv.appendChild(document.createTextNode(beforeSpan()));
    30                             var span = document.createElement("span");
    31                             span.dir = spanDir;
    32                             span.setAttribute("class", "enclosed")
    33                             span.appendChild(document.createTextNode(inSpan()));
    34                             outerDiv.appendChild(span);
    35                             outerDiv.appendChild(document.createTextNode(afterSpan()));
    36                             return outerDiv;
    37 			}
    38 			elem.appendChild(caseWithStyle());
    39                     }
    40 		}
    41             }
    42 	}
    43     }
    44 }

mercurial