Add some temporary test/experiment files.
[odfkit:webodf.git] / webodf / misctests / testselection.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3   <head><title></title>
4 <script>
5 function log(message) {
6     document.body.appendChild(document.createTextNode(message));
7 }
8
9 window.onload = function () {
10     if (!document.createElementNS) {
11         log("Error: there is no function 'document.createElementNS'.");
12         return;
13     }
14     if (!window.getSelection) {
15         log("Error: there is no function 'window.getSelection'.");
16         return;
17     }
18     var testarea = document.getElementById("testarea"),
19         selection = window.getSelection(),
20         p = document.createElementNS("http://www.w3.org/1999/xhtml", "p"),
21         text = document.createTextNode("hello");
22     testarea.appendChild(p);
23     p.appendChild(text);
24     selection.removeAllRanges();
25     if (selection.rangeCount !== 0) {
26         log("Error: not all ranges were removed.");
27         return;
28     }
29
30     var range = document.createRange();
31     range.setStart(p, 0);
32     range.setEnd(p, 0);
33     if (range.startContainer !== p) {
34         log("Error: the start of the range was not correct.");
35         return;
36     }
37     selection.addRange(range);
38
39     if (selection.rangeCount === 0) {
40         log("Error: no range was added to the selection.");
41         return;
42     }
43     if (selection.rangeCount > 1) {
44         log("Error: there are too many ranges in the selection.");
45         return;
46     }
47     if (selection.getRangeAt(0).startContainer !== p) {
48         log("Error: the start of the selection is not the right element." +
49             "It is " + selection.getRangeAt(0).startContainer.nodeName +
50             " instead of " + p.nodeName + ".");
51         return;
52     }
53     log("Success: selection test worked without error.");
54 }
55 </script>
56   </head>
57   <body>
58 <div id="testarea"></div>
59   </body>
60 </html>
61