1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/layout/reftests/bidi/dirAuto/setDir.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,199 @@ 1.4 +function setAllDir(value) 1.5 +{ 1.6 + for (var i = 0; ; ++i) { 1.7 + try { 1.8 + theElement = document.getElementById("set" + i); 1.9 + theElement.dir = value; 1.10 + } catch(e) { 1.11 + break; 1.12 + } 1.13 + } 1.14 +} 1.15 + 1.16 +function setAllDirAttribute(value) 1.17 +{ 1.18 + for (var i = 0; ; ++i) { 1.19 + try { 1.20 + theElement = document.getElementById("set" + i); 1.21 + theElement.setAttribute("dir", value); 1.22 + } catch(e) { 1.23 + break; 1.24 + } 1.25 + } 1.26 +} 1.27 + 1.28 +function removeAllDirAttribute() 1.29 +{ 1.30 + for (var i = 0; ; ++i) { 1.31 + try { 1.32 + theElement = document.getElementById("set" + i); 1.33 + theElement.removeAttribute("dir"); 1.34 + } catch(e) { 1.35 + break; 1.36 + } 1.37 + } 1.38 +} 1.39 + 1.40 +function addOneElement(innerHTML) 1.41 +{ 1.42 + var container = document.getElementById("container"); 1.43 + var elem = document.createElement("div"); 1.44 + elem.innerHTML = innerHTML; 1.45 + container.appendChild(elem); 1.46 +} 1.47 + 1.48 +function addLTRAutoElements() 1.49 +{ 1.50 + addOneElement('<input type="text" value="ABC אבג" id="set0" dir="auto">'); 1.51 + addOneElement('<span id="set1" dir="auto">ABC אבג</span>'); 1.52 + addOneElement('<textarea id="set2" dir="auto">ABC אבג</textarea>'); 1.53 + addOneElement('<button id="set3" dir="auto">ABC אבג</button>'); 1.54 + addOneElement('<bdi id="set4">ABC אבג</bdi>'); 1.55 +} 1.56 + 1.57 +function addRTLAutoElements() 1.58 +{ 1.59 + addOneElement('<input type="text" value="אבג ABC" id="set0" dir="auto">'); 1.60 + addOneElement('<span id="set1" dir="auto">אבג ABC</span>'); 1.61 + addOneElement('<textarea id="set2" dir="auto">אבג ABC</textarea>'); 1.62 + addOneElement('<button id="set3" dir="auto">אבג ABC</button>'); 1.63 + addOneElement('<bdi id="set4">אבג ABC</bdi>'); 1.64 +} 1.65 + 1.66 +function setAllTextValuesTo(newText) 1.67 +{ 1.68 + for (var i = 0; ; ++i) { 1.69 + theElement = document.getElementById("set" + i); 1.70 + if (!theElement) { 1.71 + break; 1.72 + } 1.73 + if (theElement.tagName == "INPUT" || 1.74 + theElement.tagName == "TEXTAREA") { 1.75 + theElement.value = newText; 1.76 + } else { 1.77 + theElement.firstChild.textContent = newText; 1.78 + } 1.79 + } 1.80 +} 1.81 + 1.82 +function setAllTextDefaultValuesTo(newText) 1.83 +{ 1.84 + for (var i = 0; ; ++i) { 1.85 + theElement = document.getElementById("set" + i); 1.86 + if (!theElement) { 1.87 + break; 1.88 + } 1.89 + if (theElement.tagName == "INPUT" || 1.90 + theElement.tagName == "TEXTAREA") { 1.91 + theElement.defaultValue = newText; 1.92 + } else { 1.93 + theElement.firstChild.textContent = newText; 1.94 + } 1.95 + } 1.96 +} 1.97 + 1.98 +function setAllTextChildrenTo(newText) 1.99 +{ 1.100 + for (var i = 0; ; ++i) { 1.101 + theElement = document.getElementById("set" + i); 1.102 + if (!theElement) { 1.103 + break; 1.104 + } 1.105 + if (theElement.tagName == "INPUT") { 1.106 + theElement.value = newText; 1.107 + } else { 1.108 + theElement.firstChild.textContent = newText; 1.109 + } 1.110 + } 1.111 +} 1.112 + 1.113 +function appendTextFromArray(textArray) 1.114 +{ 1.115 + for (var i = 0; ; ++i) { 1.116 + theElement = document.getElementById("set" + i); 1.117 + if (!theElement) { 1.118 + break; 1.119 + } 1.120 + for (var j = 0; j < textArray.length; ++j) { 1.121 + if (theElement.tagName == "INPUT") { 1.122 + theElement.value += textArray[j]; 1.123 + } else { 1.124 + var textNode = document.createTextNode(textArray[j]); 1.125 + theElement.appendChild(textNode); 1.126 + } 1.127 + } 1.128 + } 1.129 +} 1.130 + 1.131 +function appendSpansFromArray(textArray) 1.132 +{ 1.133 + for (var i = 0; ; ++i) { 1.134 + theElement = document.getElementById("set" + i); 1.135 + if (!theElement) { 1.136 + break; 1.137 + } 1.138 + for (var j = 0; j < textArray.length; ++j) { 1.139 + // fake the result for elements that can't have markup content 1.140 + if (theElement.tagName == "INPUT") { 1.141 + theElement.value += textArray[j]; 1.142 + } else if (theElement.tagName == "TEXTAREA") { 1.143 + theElement.innerHTML += textArray[j]; 1.144 + } else { 1.145 + var span = document.createElement("span"); 1.146 + span.innerHTML = textArray[j]; 1.147 + theElement.appendChild(span); 1.148 + } 1.149 + } 1.150 + } 1.151 +} 1.152 + 1.153 +function prependTextFromArray(textArray) 1.154 +{ 1.155 + for (var i = 0; ; ++i) { 1.156 + theElement = document.getElementById("set" + i); 1.157 + if (!theElement) { 1.158 + break; 1.159 + } 1.160 + for (var j = 0; j < textArray.length; ++j) { 1.161 + if (theElement.tagName == "INPUT") { 1.162 + theElement.value = textArray[j] + theElement.value; 1.163 + } else { 1.164 + var textNode = document.createTextNode(textArray[j]); 1.165 + theElement.insertBefore(textNode, theElement.firstChild); 1.166 + } 1.167 + } 1.168 + } 1.169 +} 1.170 + 1.171 +function prependSpansFromArray(textArray) 1.172 +{ 1.173 + for (var i = 0; ; ++i) { 1.174 + theElement = document.getElementById("set" + i); 1.175 + if (!theElement) { 1.176 + break; 1.177 + } 1.178 + for (var j = 0; j < textArray.length; ++j) { 1.179 + // fake the result for elements that can't have markup content 1.180 + if (theElement.tagName == "INPUT") { 1.181 + theElement.value = textArray[j] + theElement.value; 1.182 + } else if (theElement.tagName == "TEXTAREA") { 1.183 + theElement.innerHTML = textArray[j] + theElement.innerHTML; 1.184 + } else { 1.185 + var span = document.createElement("span"); 1.186 + span.innerHTML = textArray[j]; 1.187 + theElement.insertBefore(span, theElement.firstChild); 1.188 + } 1.189 + } 1.190 + } 1.191 +} 1.192 + 1.193 +function removeElements() 1.194 +{ 1.195 + for (var i = 0; ; ++i) { 1.196 + theElement = document.getElementById("set" + i); 1.197 + if (!theElement) { 1.198 + break; 1.199 + } 1.200 + theElement.parentNode.removeChild(theElement); 1.201 + } 1.202 +}