editor/libeditor/html/tests/test_bug480647.html

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

     1 <!DOCTYPE html>
     2 <!--
     3 https://bugzilla.mozilla.org/show_bug.cgi?id=480647
     4 -->
     5 <title>Test for Bug 480647</title>
     6 <script src="/tests/SimpleTest/SimpleTest.js"></script>
     7 <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
     8 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=480647">Mozilla Bug 480647</a>
     9 <div contenteditable></div>
    10 <script>
    11 /** Test for Bug 480647 **/
    13 var div = document.querySelector("div");
    15 function parseFontSize(input, expected) {
    16   parseFontSizeInner(input, expected, is);
    17 }
    19 function parseFontSizeTodo(input, expected) {
    20   parseFontSizeInner(input, expected, todo_is);
    21 }
    23 function parseFontSizeInner(input, expected, fn) {
    24   div.innerHTML = "foo";
    25   getSelection().selectAllChildren(div);
    26   document.execCommand("fontSize", false, input);
    27   if (expected === null) {
    28     fn(div.innerHTML, "foo",
    29        'execCommand("fontSize", false, "' + input + '") should be no-op');
    30   } else {
    31     fn(div.innerHTML, '<font size="' + expected + '">foo</font>',
    32        'execCommand("fontSize", false, "' + input + '") should parse to ' +
    33        expected);
    34   }
    35 }
    37 // Parse errors
    38 parseFontSize("", null);
    39 parseFontSize("abc", null);
    40 parseFontSize("larger", null);
    41 parseFontSize("smaller", null);
    42 parseFontSize("xx-small", null);
    43 parseFontSize("x-small", null);
    44 parseFontSize("small", null);
    45 parseFontSize("medium", null);
    46 parseFontSize("large", null);
    47 parseFontSize("x-large", null);
    48 parseFontSize("xx-large", null);
    49 parseFontSize("xxx-large", null);
    50 // Bug 747879
    51 parseFontSizeTodo("1.2em", null);
    52 parseFontSizeTodo("8px", null);
    53 parseFontSizeTodo("-1.2em", null);
    54 parseFontSizeTodo("-8px", null);
    55 parseFontSizeTodo("+1.2em", null);
    56 parseFontSizeTodo("+8px", null);
    58 // Numbers
    59 parseFontSize("0", 1);
    60 parseFontSize("1", 1);
    61 parseFontSize("2", 2);
    62 parseFontSize("3", 3);
    63 parseFontSize("4", 4);
    64 parseFontSize("5", 5);
    65 parseFontSize("6", 6);
    66 parseFontSize("7", 7);
    67 parseFontSize("8", 7);
    68 parseFontSize("9", 7);
    69 parseFontSize("10", 7);
    70 parseFontSize("1000000000000000000000", 7);
    71 parseFontSize("2.72", 2);
    72 parseFontSize("2.72e9", 2);
    74 // Minus sign
    75 parseFontSize("-0", 3);
    76 parseFontSize("-1", 2);
    77 parseFontSize("-2", 1);
    78 parseFontSize("-3", 1);
    79 parseFontSize("-4", 1);
    80 parseFontSize("-5", 1);
    81 parseFontSize("-6", 1);
    82 parseFontSize("-7", 1);
    83 parseFontSize("-8", 1);
    84 parseFontSize("-9", 1);
    85 parseFontSize("-10", 1);
    86 parseFontSize("-1000000000000000000000", 1);
    87 parseFontSize("-1.72", 2);
    88 parseFontSize("-1.72e9", 2);
    90 // Plus sign
    91 parseFontSize("+0", 3);
    92 parseFontSize("+1", 4);
    93 parseFontSize("+2", 5);
    94 parseFontSize("+3", 6);
    95 parseFontSize("+4", 7);
    96 parseFontSize("+5", 7);
    97 parseFontSize("+6", 7);
    98 parseFontSize("+7", 7);
    99 parseFontSize("+8", 7);
   100 parseFontSize("+9", 7);
   101 parseFontSize("+10", 7);
   102 parseFontSize("+1000000000000000000000", 7);
   103 parseFontSize("+1.72", 4);
   104 parseFontSize("+1.72e9", 4);
   106 // Whitespace
   107 parseFontSize(" \t\n\r\f5 \t\n\r\f", 5);
   108 parseFontSize("\u00a05", null);
   109 parseFontSize("\b5", null);
   110 </script>

mercurial