Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / editing / execCommand / script-tests / clipboard-access.js
bloba8b0ae293adee440762e27cb9c37ad1ff7686630
1 description("This test checks whether javascript programs can access clipboard.");
3 if (window.testRunner)
5     window.testRunner.setJavaScriptCanAccessClipboard(false);
8 var nonEditableParagraph = document.createElement("p");
9 nonEditableParagraph.appendChild(document.createTextNode("x"));
10 document.body.appendChild(nonEditableParagraph);
12 var editableParagraph = document.createElement("p");
13 editableParagraph.appendChild(document.createTextNode("x"));
14 editableParagraph.setAttribute("contentEditable", "true");
15 document.body.appendChild(editableParagraph);
17 var editablePlainTextParagraph = document.createElement("p");
18 editablePlainTextParagraph.appendChild(document.createTextNode("x"));
19 editablePlainTextParagraph.setAttribute("contentEditable", "plaintext-only");
20 document.body.appendChild(editablePlainTextParagraph);
22 function enabled(command, element, selectionStart, selectionEnd)
24     var selection = document.getSelection();
25     selection.removeAllRanges();
26     if (element) {
27         var range = document.createRange();
28         range.setStart(element.firstChild, selectionStart);
29         range.setEnd(element.firstChild, selectionEnd);
30         selection.addRange(range);
31     }
32     var result = document.queryCommandEnabled(command)
33     selection.removeAllRanges();
34     return result;
37 function whenEnabled(command)
39     var enabledWithNoSelection = enabled(command);
40     var enabledWithCaret = enabled(command, editableParagraph, 0, 0);
41     var enabledWithEditableRange = enabled(command, editableParagraph, 0, 1);
42     var enabledWithPlainTextCaret = enabled(command, editablePlainTextParagraph, 0, 0);
43     var enabledWithPlainTextEditableRange = enabled(command, editablePlainTextParagraph, 0, 1);
44     var enabledWithPoint = enabled(command, nonEditableParagraph, 0, 0);
45     var enabledWithNonEditableRange = enabled(command, nonEditableParagraph, 0, 1);
47     var summaryInteger = enabledWithNoSelection
48         | (enabledWithCaret << 1)
49         | (enabledWithEditableRange << 2)
50         | (enabledWithPlainTextCaret << 3)
51         | (enabledWithPlainTextEditableRange << 4)
52         | (enabledWithPoint << 5)
53         | (enabledWithNonEditableRange << 6);
55     if (summaryInteger === 0x7F)
56         return "always";
58     if (summaryInteger === 0x54)
59         return "range";
61     if (summaryInteger === 0x1E)
62         return "editable";
63     if (summaryInteger === 0x0A)
64         return "caret";
65     if (summaryInteger === 0x14)
66         return "editable range";
68     if (summaryInteger === 0x06)
69         return "richly editable";
70     if (summaryInteger === 0x02)
71         return "richly editable caret";
72     if (summaryInteger === 0x04)
73         return "richly editable range";
75     if (summaryInteger === 0x5E)
76         return "visible";
78     return summaryInteger;
81 shouldBe("whenEnabled('Copy')", "0");
82 shouldBe("whenEnabled('Cut')", "0");
83 shouldBe("whenEnabled('Paste')", "0");
84 shouldBe("whenEnabled('PasteAndMatchStyle')", "0");
86 document.body.removeChild(nonEditableParagraph);
87 document.body.removeChild(editableParagraph);
88 document.body.removeChild(editablePlainTextParagraph);
90 var successfullyParsed = true;