test_bug408231.html (6757B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=408231 5 --> 6 <head> 7 <title>Test for Bug 408231</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 10 </head> 11 <body style="font-family: serif"> 12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=408231">Mozilla Bug 408231</a> 13 <p id="display"></p> 14 <div id="content" style="display: none"> 15 16 </div> 17 <pre id="test"> 18 <script class="testbody" type="text/javascript"> 19 20 /** Test for Bug 408231 */ 21 22 var commandEnabledResults = [ 23 ["copy", "false"], 24 ["createlink", "true"], 25 ["cut", "false"], 26 ["delete", "true"], 27 ["fontname", "true"], 28 ["fontsize", "true"], 29 ["formatblock", "true"], 30 ["hilitecolor", "true"], 31 ["indent", "true"], 32 ["inserthorizontalrule", "true"], 33 ["inserthtml", "true"], 34 ["insertimage", "true"], 35 ["insertorderedlist", "true"], 36 ["insertunorderedlist", "true"], 37 ["insertparagraph", "true"], 38 ["italic", "true"], 39 ["justifycenter", "true"], 40 ["justifyfull", "true"], 41 ["justifyleft", "true"], 42 ["justifyright", "true"], 43 ["outdent", "true"], 44 ["paste", "false"], 45 ["redo", "false"], 46 ["removeformat", "true"], 47 ["selectall", "true"], 48 ["strikethrough", "true"], 49 ["styleWithCSS", "true"], 50 ["subscript", "true"], 51 ["superscript", "true"], 52 ["underline", "true"], 53 ["undo", "false"], 54 ["unlink", "true"], 55 ["not-a-command", "false"], 56 ]; 57 58 var commandIndetermResults = [ 59 ["copy", "false"], 60 ["createlink", "false"], 61 ["cut", "false"], 62 ["delete", "false"], 63 ["fontname", "false"], 64 ["fontsize", "false"], 65 ["formatblock", "false"], 66 ["hilitecolor", "false"], 67 ["indent", "false"], 68 ["inserthorizontalrule", "false"], 69 ["inserthtml", "false"], 70 ["insertimage", "false"], 71 ["insertorderedlist", "false"], 72 ["insertunorderedlist", "false"], 73 ["insertparagraph", "false"], 74 ["italic", "false"], 75 ["justifycenter", "false"], 76 ["justifyfull", "false"], 77 ["justifyleft", "false"], 78 ["justifyright", "false"], 79 ["outdent", "false"], 80 // ["paste", "false"], 81 ["redo", "false"], 82 ["removeformat", "false"], 83 ["selectall", "false"], 84 ["strikethrough", "false"], 85 ["styleWithCSS", "false"], 86 ["subscript", "false"], 87 ["superscript", "false"], 88 ["underline", "false"], 89 ["undo", "false"], 90 ["unlink", "false"], 91 ["not-a-command", "false"], 92 ]; 93 94 var commandStateResults = [ 95 ["copy", "false"], 96 ["createlink", "false"], 97 ["cut", "false"], 98 ["delete", "false"], 99 ["fontname", "false"], 100 ["fontsize", "false"], 101 ["formatblock", "false"], 102 ["hilitecolor", "false"], 103 ["indent", "false"], 104 ["inserthorizontalrule", "false"], 105 ["inserthtml", "false"], 106 ["insertimage", "false"], 107 ["insertorderedlist", "false"], 108 ["insertunorderedlist", "false"], 109 ["insertparagraph", "false"], 110 ["italic", "false"], 111 ["justifycenter", "false"], 112 ["justifyfull", "false"], 113 ["justifyleft", "true"], 114 ["justifyright", "false"], 115 ["outdent", "false"], 116 // ["paste", "false"], 117 ["redo", "false"], 118 ["removeformat", "false"], 119 ["selectall", "false"], 120 ["strikethrough", "false"], 121 ["styleWithCSS", "false"], 122 ["subscript", "false"], 123 ["superscript", "false"], 124 ["underline", "false"], 125 ["undo", "false"], 126 ["unlink", "false"], 127 ["not-a-command", "false"], 128 ]; 129 130 var commandValueResults = [ 131 ["copy", ""], 132 ["createlink", ""], 133 ["cut", ""], 134 ["delete", ""], 135 ["fontname", "serif"], 136 ["fontsize", ""], 137 ["formatblock", ""], 138 ["hilitecolor", "rgba(0, 0, 0, 0)"], 139 ["indent", ""], 140 ["inserthorizontalrule", ""], 141 ["inserthtml", ""], 142 ["insertimage", ""], 143 ["insertorderedlist", ""], 144 ["insertunorderedlist", ""], 145 ["insertparagraph", ""], 146 ["italic", ""], 147 ["justifycenter", "left"], 148 ["justifyfull", "left"], 149 ["justifyleft", "left"], 150 ["justifyright", "left"], 151 ["outdent", ""], 152 // ["paste", ""], 153 ["redo", ""], 154 ["removeformat", ""], 155 ["selectall", ""], 156 ["strikethrough", ""], 157 ["styleWithCSS", ""], 158 ["subscript", ""], 159 ["superscript", ""], 160 ["underline", ""], 161 ["undo", ""], 162 ["unlink", ""], 163 ["not-a-command", ""], 164 ]; 165 166 167 function callQueryCommandEnabled(cmdName) { 168 var result; 169 try { 170 result = "" + document.queryCommandEnabled(cmdName); 171 } catch (error) { 172 result = "name" in error ? error.name : "exception"; 173 } 174 return result; 175 } 176 177 function callQueryCommandIndeterm(cmdName) { 178 var result; 179 try { 180 result = "" + document.queryCommandIndeterm(cmdName); 181 } catch (error) { 182 result = "name" in error ? error.name : "exception"; 183 } 184 return result; 185 } 186 187 function callQueryCommandState(cmdName) { 188 var result; 189 try { 190 result = "" + document.queryCommandState(cmdName); 191 } catch (error) { 192 result = "name" in error ? error.name : "exception"; 193 } 194 return result; 195 } 196 197 function callQueryCommandValue(cmdName) { 198 var result; 199 try { 200 result = "" + document.queryCommandValue(cmdName); 201 } catch (error) { 202 result = "name" in error ? error.name : "exception"; 203 } 204 return result; 205 } 206 207 function testQueryCommand(expectedResults, fun, funName) { 208 for (let i = 0; i < expectedResults.length; i++) { 209 var commandName = expectedResults[i][0]; 210 var expectedResult = expectedResults[i][1]; 211 var result = fun(commandName); 212 ok(result == expectedResult, funName + "(" + commandName + ") result=" + result + " expected=" + expectedResult); 213 } 214 } 215 216 function runTests() { 217 document.designMode = "on"; 218 window.getSelection().collapse(document.body, 0); 219 testQueryCommand(commandEnabledResults, callQueryCommandEnabled, "queryCommandEnabled"); 220 testQueryCommand(commandIndetermResults, callQueryCommandIndeterm, "queryCommandIndeterm"); 221 testQueryCommand(commandStateResults, callQueryCommandState, "queryCommandState"); 222 testQueryCommand(commandValueResults, callQueryCommandValue, "queryCommandValue"); 223 document.designMode = "off"; 224 SimpleTest.finish(); 225 } 226 227 window.onload = runTests; 228 SimpleTest.waitForExplicitFinish(); 229 230 </script> 231 </pre> 232 </body> 233 </html>