You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@corinthia.apache.org by ja...@apache.org on 2015/08/14 18:10:18 UTC

[11/51] [abbrv] [partial] incubator-corinthia git commit: added js test files

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-expected.html
new file mode 100644
index 0000000..70f9aed
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-expected.html
@@ -0,0 +1,9 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .o.n.e.
+    <p>.t.w.o.</p>
+    .t.h.r.e.e.
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-input.html
new file mode 100644
index 0000000..584b158
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph07c-input.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>   one   <p>   two   </p>   three   </body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-input.html
new file mode 100644
index 0000000..83a3243
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08a-input.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body><p></p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-input.html
new file mode 100644
index 0000000..1c4c144
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08b-input.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body><p> </p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-input.html
new file mode 100644
index 0000000..1d238be
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08c-input.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body><p>   </p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-input.html
new file mode 100644
index 0000000..fd33549
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08d-input.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    var p = document.getElementsByTagName("P")[0];
+    addEmptyTextNode(p);
+    showValidPositions();
+}
+</script>
+</head>
+<body><p></p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-input.html
new file mode 100644
index 0000000..1615000
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08e-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    var p = document.getElementsByTagName("P")[0];
+    DOM_deleteAllChildren(p);
+    DOM_appendChild(p,DOM_createTextNode(document,""));
+    DOM_appendChild(p,DOM_createTextNode(document,""));
+    DOM_appendChild(p,DOM_createTextNode(document,""));
+    showValidPositions();
+}
+</script>
+</head>
+<body><p></p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-input.html
new file mode 100644
index 0000000..c9ee54c
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08f-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    var p = document.getElementsByTagName("P")[0];
+    DOM_deleteAllChildren(p);
+    DOM_appendChild(p,DOM_createTextNode(document,"\n"));
+    DOM_appendChild(p,DOM_createTextNode(document,"\n"));
+    DOM_appendChild(p,DOM_createTextNode(document,"\n"));
+    showValidPositions();
+}
+</script>
+</head>
+<body><p></p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-expected.html
new file mode 100644
index 0000000..8c272e1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-input.html
new file mode 100644
index 0000000..a3d70c6
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-paragraph08g-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    var p = document.getElementsByTagName("P")[0];
+    DOM_deleteAllChildren(p);
+    DOM_appendChild(p,DOM_createTextNode(document," \n "));
+    DOM_appendChild(p,DOM_createTextNode(document," \n "));
+    DOM_appendChild(p,DOM_createTextNode(document," \n "));
+    showValidPositions();
+}
+</script>
+</head>
+<body><p></p></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-expected.html
new file mode 100644
index 0000000..66f1cef
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-input.html
new file mode 100644
index 0000000..99e07ad
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01a-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-expected.html
new file mode 100644
index 0000000..c74e672
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-expected.html
@@ -0,0 +1,25 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-input.html
new file mode 100644
index 0000000..8cc48d8
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01b-input.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table><table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-expected.html
new file mode 100644
index 0000000..30b46c2
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-expected.html
@@ -0,0 +1,26 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-input.html
new file mode 100644
index 0000000..ad6dca2
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01c-input.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+
+
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-expected.html
new file mode 100644
index 0000000..1956e9b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-expected.html
@@ -0,0 +1,27 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    .x.
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-input.html
new file mode 100644
index 0000000..6b31537
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01d-input.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+
+x
+
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-expected.html
new file mode 100644
index 0000000..8b27ea1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-expected.html
@@ -0,0 +1,29 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.o.n.e.</p>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    <p>.t.w.o.</p>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    <p>.t.h.r.e.e.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-input.html
new file mode 100644
index 0000000..4f958eb
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01e-input.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body><p>one</p><table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table><p>two</p><table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table><p>three</p></body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-expected.html
new file mode 100644
index 0000000..8b27ea1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-expected.html
@@ -0,0 +1,29 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.o.n.e.</p>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    <p>.t.w.o.</p>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+    <p>.t.h.r.e.e.</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-input.html
new file mode 100644
index 0000000..64609b1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table01f-input.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+
+<p>one</p>
+
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+
+<p>two</p>
+
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+
+<p>three</p>
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-expected.html
new file mode 100644
index 0000000..8273bf0
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.</td>
+          <td>.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-input.html
new file mode 100644
index 0000000..b735c3d
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02a-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td></td>
+    <td></td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-expected.html
new file mode 100644
index 0000000..8273bf0
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.</td>
+          <td>.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-input.html
new file mode 100644
index 0000000..7a63ffc
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02b-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td> </td>
+    <td> </td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-expected.html
new file mode 100644
index 0000000..8273bf0
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.</td>
+          <td>.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-input.html
new file mode 100644
index 0000000..5cd81aa
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table02c-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>   </td>
+    <td>   </td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-expected.html
new file mode 100644
index 0000000..66f1cef
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-input.html
new file mode 100644
index 0000000..99e07ad
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03a-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>Cell contents</td>
+    <td>Cell contents</td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-expected.html
new file mode 100644
index 0000000..66f1cef
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-input.html
new file mode 100644
index 0000000..3ff2109
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03b-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td> Cell contents </td>
+    <td> Cell contents </td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-expected.html
new file mode 100644
index 0000000..66f1cef
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head>
+  </head>
+  <body>
+    .
+    <table>
+      <tbody>
+        <tr>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+          <td>.C.e.l.l. .c.o.n.t.e.n.t.s.</td>
+        </tr>
+      </tbody>
+    </table>
+    .
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-input.html
new file mode 100644
index 0000000..e8c5de3
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-table03c-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<table>
+  <tr>
+    <td>   Cell contents   </td>
+    <td>   Cell contents   </td>
+  </tr>
+</table>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-expected.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-expected.html
new file mode 100644
index 0000000..1b24453
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-expected.html
@@ -0,0 +1,18 @@
+<html>
+  <head>
+  </head>
+  <body>
+    <p>.F.i.r.s.t. .p.a.r.a.g.r.a.p.h.</p>
+    .
+    <nav class="tableofcontents">
+      <p class="toc1"><a href="#item1">Section 1</a></p>
+      <p class="toc1"><a href="#item2">Section 2</a></p>
+      <p class="toc1"><a href="#item3">Section 3</a></p>
+    </nav>
+    .
+    <p>.S.e.c.o.n.d. .p.a.r.a.g.r.a.p.h.</p>
+    <h1 id="item1">.S.e.c.t.i.o.n. .1.</h1>
+    <h1 id="item2">.S.e.c.t.i.o.n. .2.</h1>
+    <h1 id="item3">.S.e.c.t.i.o.n. .3.</h1>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-input.html b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-input.html
new file mode 100644
index 0000000..ed0ac50
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/isValidCursorPosition-toc01a-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="validPositions.js"></script>
+<script>
+function performTest()
+{
+    Outline_init();
+    PostponedActions_perform();
+    Outline_insertTableOfContents();
+    PostponedActions_perform();
+    Outline_removeListeners();
+    showValidPositions();
+}
+</script>
+</head>
+<body>
+<p>First paragraph[]</p>
+<p>Second paragraph</p>
+<h1>Section 1</h1>
+<h1>Section 2</h1>
+<h1>Section 3</h1>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/position/validPositions.js
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/position/validPositions.js b/experiments/editorFramework/test/Layer0/position/validPositions.js
new file mode 100644
index 0000000..e158d3f
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/position/validPositions.js
@@ -0,0 +1,141 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+function oldInsertCharacter(character)
+{
+    var selectionRange = Selection_get();
+    if (selectionRange == null)
+        return;
+
+    if (!Range_isEmpty(selectionRange))
+        Selection_deleteContents();
+    var pos = selectionRange.start;
+    var node = pos.node;
+    var offset = pos.offset;
+
+    if (node.nodeType == Node.ELEMENT_NODE) {
+        var prev = node.childNodes[offset-1];
+        var next = node.childNodes[offset];
+        var emptyTextNode = DOM_createTextNode(document,"");
+        if (offset >= node.childNodes.length)
+            DOM_appendChild(node,emptyTextNode);
+        else
+            DOM_insertBefore(node,emptyTextNode,node.childNodes[offset]);
+        node = emptyTextNode;
+        offset = 0;
+    }
+
+    DOM_insertCharacters(node,offset,character);
+    Selection_set(node,offset+1,node,offset+1);
+}
+
+function showValidPositions()
+{
+    var validPositions = new Array();
+    var pos = new Position(document.body,0);
+    while (pos != null) {
+        if (Position_okForMovement(pos)) {
+//            debug("Valid position: "+pos);
+            validPositions.push(pos);
+        }
+        pos = Position_next(pos);
+    }
+
+    Position_trackWhileExecuting(validPositions,function() {
+//        for (var i = 0; i < validPositions.length; i++) {
+        for (var i = validPositions.length-1; i >= 0; i--) {
+            var pos = validPositions[i];
+            Selection_setEmptySelectionAt(pos.node,pos.offset);
+            oldInsertCharacter('.');
+        }
+    });
+}
+
+function flattenTreeToString(node)
+{
+    var result = new Array();
+    recurse(node);
+    return result.join("").replace(/\n/g," ");
+
+    function recurse(node)
+    {
+        switch (node._type) {
+        case HTML_TEXT:
+            result.push(node.nodeValue);
+            break;
+        case HTML_IMG:
+            result.push("I");
+            break;
+        default:
+            if (isOpaqueNode(node)) {
+                result.push("O");
+            }
+            else if (node.nodeType == Node.ELEMENT_NODE) {
+                for (var child = node.firstChild; child != null; child = child.nextSibling) {
+                    recurse(child);
+                }
+            }
+            break;
+        }
+    }
+}
+
+function findCursorPositionErrors(text)
+{
+    var detail = "";
+    for (var i = 0; i < text.length; i++) {
+        var prevChar = (i > 0) ? text.charAt(i-1) : null;
+        var nextChar = (i < text.length-1) ? text.charAt(i+1) : null;
+        var curChar = text.charAt(i);
+
+        if (curChar == '.') {
+            if ((prevChar == '.') || (nextChar == '.')) {
+                // Two positions not separated by a space or character
+                detail += "^";
+            }
+            else if ((prevChar != null) && (nextChar != null) &&
+                     isWhitespaceString(prevChar) && isWhitespaceString(nextChar)) {
+                // A position between two spaces
+                detail += "^";
+            }
+            else {
+                // OK
+                detail += " ";
+            }
+        }
+        else if (!isWhitespaceString(curChar)) {
+            if ((prevChar != '.') || (nextChar != '.'))
+                detail += "^";
+            else
+                detail += " ";
+        }
+    }
+    return detail;
+}
+
+function checkCursorPositions(node)
+{
+    var text = flattenTreeToString(document.body);
+    var detail = findCursorPositionErrors(text);
+    return text+"\n"+detail;
+}
+
+function addEmptyTextNode(parent)
+{
+    var text = DOM_createTextNode(document,"");
+    DOM_appendChild(parent,text);
+}

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list01-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list01-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list01-expected.html
new file mode 100644
index 0000000..bd51c68
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list01-expected.html
@@ -0,0 +1,10 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>One</li>
+      <li>Two</li>
+      <li>Three</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list01-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list01-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list01-input.html
new file mode 100644
index 0000000..0e11389
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list01-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[<ul>
+  <li>One</li>
+  <li>Two</li>
+  <li>Three</li>
+</ul>]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list02-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list02-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list02-expected.html
new file mode 100644
index 0000000..bd51c68
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list02-expected.html
@@ -0,0 +1,10 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>One</li>
+      <li>Two</li>
+      <li>Three</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list02-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list02-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list02-input.html
new file mode 100644
index 0000000..ea95d57
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list02-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  [<li>One</li>
+  <li>Two</li>
+  <li>Three</li>]
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list03-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list03-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list03-expected.html
new file mode 100644
index 0000000..0cc5d00
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list03-expected.html
@@ -0,0 +1,9 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>One</li>
+      <li>Two</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list03-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list03-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list03-input.html
new file mode 100644
index 0000000..8b1df87
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list03-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  [<li>One</li>
+  <li>Two</li>]
+  <li>Three</li>
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list04-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list04-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list04-expected.html
new file mode 100644
index 0000000..13298cc
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list04-expected.html
@@ -0,0 +1,9 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>Two</li>
+      <li>Three</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list04-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list04-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list04-input.html
new file mode 100644
index 0000000..9c59861
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list04-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  <li>One</li>
+  [<li>Two</li>
+  <li>Three</li>]
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list05-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list05-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list05-expected.html
new file mode 100644
index 0000000..a5cb641
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list05-expected.html
@@ -0,0 +1,8 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>Two</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list05-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list05-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list05-input.html
new file mode 100644
index 0000000..5a4b7b1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list05-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  <li>One</li>
+  [<li>Two</li>]
+  <li>Three</li>
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list06-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list06-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list06-expected.html
new file mode 100644
index 0000000..0cc5d00
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list06-expected.html
@@ -0,0 +1,9 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>One</li>
+      <li>Two</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list06-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list06-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list06-input.html
new file mode 100644
index 0000000..4f51d2a
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list06-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[<ul>
+  <li>One</li>
+  <li>Two</li>]
+  <li>Three</li>
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list07-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list07-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list07-expected.html
new file mode 100644
index 0000000..13298cc
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list07-expected.html
@@ -0,0 +1,9 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>Two</li>
+      <li>Three</li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list07-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list07-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list07-input.html
new file mode 100644
index 0000000..e92082e
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list07-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  <li>One</li>
+  [<li>Two</li>
+  <li>Three</li>
+</ul>]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list08-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list08-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list08-expected.html
new file mode 100644
index 0000000..3dc0859
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list08-expected.html
@@ -0,0 +1,4 @@
+<html>
+  <head></head>
+  <body/>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list08-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list08-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list08-input.html
new file mode 100644
index 0000000..39ec784
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list08-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[<ul>]
+  <li>One</li>
+  <li>Two</li>
+  <li>Three</li>
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list09-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list09-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list09-expected.html
new file mode 100644
index 0000000..3dc0859
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list09-expected.html
@@ -0,0 +1,4 @@
+<html>
+  <head></head>
+  <body/>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list09-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list09-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list09-input.html
new file mode 100644
index 0000000..0a012f3
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list09-input.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  <li>One</li>
+  <li>Two</li>
+  <li>Three</li>
+[</ul>]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list10-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list10-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list10-expected.html
new file mode 100644
index 0000000..146d80d
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list10-expected.html
@@ -0,0 +1,15 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>Two</li>
+      <li>
+        Three
+        <ol>
+          <li>First</li>
+          <li>Second</li>
+        </ol>
+      </li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list10-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list10-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list10-input.html
new file mode 100644
index 0000000..e947812
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list10-input.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  <li>One</li>
+  [<li>Two</li>
+  <li>Three
+    <ol>
+      <li>First</li>
+      <li>Second</li>]
+      <li>Third</li>
+    </ol>
+  </li>
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list11-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list11-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list11-expected.html
new file mode 100644
index 0000000..8c42856
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list11-expected.html
@@ -0,0 +1,16 @@
+<html>
+  <head></head>
+  <body>
+    <ul>
+      <li>Two</li>
+      <li>
+        Three
+        <ol>
+          <li>First</li>
+          <li>Second</li>
+          <li>Third</li>
+        </ol>
+      </li>
+    </ul>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents-list11-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents-list11-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents-list11-input.html
new file mode 100644
index 0000000..4c22fe9
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents-list11-input.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<ul>
+  <li>One</li>
+  [<li>Two</li>
+  <li>Three
+    <ol>
+      <li>First</li>
+      <li>Second</li>
+      <li>Third</li>
+    </ol>]
+  </li>
+</ul>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents01-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents01-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents01-expected.html
new file mode 100644
index 0000000..32ad03f
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents01-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    Here is some text
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents01-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents01-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents01-input.html
new file mode 100644
index 0000000..88a175c
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents01-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[Here is some text]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents02-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents02-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents02-expected.html
new file mode 100644
index 0000000..c6d3e67
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents02-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    is some
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents02-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents02-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents02-input.html
new file mode 100644
index 0000000..61585b0
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents02-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+Here [is some] text
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents03-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents03-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents03-expected.html
new file mode 100644
index 0000000..5c06a00
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents03-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    Here is
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents03-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents03-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents03-input.html
new file mode 100644
index 0000000..9030ac5
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents03-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[Here is] some text
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents04-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents04-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents04-expected.html
new file mode 100644
index 0000000..a4aabd7
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents04-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    some text
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents04-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents04-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents04-input.html
new file mode 100644
index 0000000..7607c7c
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents04-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+Here is [some text]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents05-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents05-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents05-expected.html
new file mode 100644
index 0000000..32ad03f
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents05-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    Here is some text
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents05-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents05-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents05-input.html
new file mode 100644
index 0000000..fcba8bd
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents05-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>[Here is some text]</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents06-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents06-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents06-expected.html
new file mode 100644
index 0000000..c6d3e67
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents06-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    is some
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents06-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents06-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents06-input.html
new file mode 100644
index 0000000..5c4108d
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents06-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here [is some] text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents07-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents07-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents07-expected.html
new file mode 100644
index 0000000..5c06a00
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents07-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    Here is
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents07-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents07-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents07-input.html
new file mode 100644
index 0000000..2d2fc95
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents07-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>[Here is] some text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents08-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents08-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents08-expected.html
new file mode 100644
index 0000000..a4aabd7
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents08-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    some text
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents08-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents08-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents08-input.html
new file mode 100644
index 0000000..41cdea1
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents08-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here is [some text]</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents09-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents09-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents09-expected.html
new file mode 100644
index 0000000..c359720
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents09-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    <p>Here is some text</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents09-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents09-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents09-input.html
new file mode 100644
index 0000000..4aed0e4
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents09-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[<p>Here is some text</p>]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents10-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents10-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents10-expected.html
new file mode 100644
index 0000000..315c6b3
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents10-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    <p>Here is</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents10-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents10-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents10-input.html
new file mode 100644
index 0000000..163f099
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents10-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+[<p>Here is] some text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents11-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents11-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents11-expected.html
new file mode 100644
index 0000000..9e13ca6
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents11-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    <p>some text</p>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents11-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents11-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents11-input.html
new file mode 100644
index 0000000..500c5b2
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents11-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here is [some text</p>]
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents12-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents12-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents12-expected.html
new file mode 100644
index 0000000..7ba5c9b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents12-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    <b><i><u>is some</u></i></b>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents12-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents12-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents12-input.html
new file mode 100644
index 0000000..76136f4
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents12-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here <b><i><u>[is some]</u></i></b> text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents13-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents13-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents13-expected.html
new file mode 100644
index 0000000..7ba5c9b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents13-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    <b><i><u>is some</u></i></b>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents13-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents13-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents13-input.html
new file mode 100644
index 0000000..1cf965b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents13-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here <b>[<i><u>is some]</u></i></b> text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents14-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents14-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents14-expected.html
new file mode 100644
index 0000000..7ba5c9b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents14-expected.html
@@ -0,0 +1,6 @@
+<html>
+  <head></head>
+  <body>
+    <b><i><u>is some</u></i></b>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents14-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents14-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents14-input.html
new file mode 100644
index 0000000..fd1b46b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents14-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here <b><i><u>[is some</u></i>]</b> text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents15-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents15-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents15-expected.html
new file mode 100644
index 0000000..80eac4a
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents15-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head></head>
+  <body>
+    Here
+    <b><i><u>is some</u></i></b>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents15-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents15-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents15-input.html
new file mode 100644
index 0000000..20d4149
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents15-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>[Here <b><i><u>is some</u></i>]</b> text</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents16-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents16-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents16-expected.html
new file mode 100644
index 0000000..975392a
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents16-expected.html
@@ -0,0 +1,7 @@
+<html>
+  <head></head>
+  <body>
+    <b><i><u>is some</u></i></b>
+    text
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents16-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents16-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents16-input.html
new file mode 100644
index 0000000..661f53d
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents16-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>Here [<b><i><u>is some</u></i></b> text]</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents17-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents17-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents17-expected.html
new file mode 100644
index 0000000..11b2035
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents17-expected.html
@@ -0,0 +1,8 @@
+<html>
+  <head></head>
+  <body>
+    Here
+    <b><i><u>is some</u></i></b>
+    text
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents17-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents17-input.html b/experiments/editorFramework/test/Layer0/range/cloneContents17-input.html
new file mode 100644
index 0000000..442efab
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents17-input.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+function performTest()
+{
+    var selectionRange = Selection_get();
+    var clonedElements = Range_cloneContents(selectionRange);
+    Selection_clear();
+    DOM_deleteAllChildren(document.body);
+
+    for (var i = 0; i < clonedElements.length; i++)
+        DOM_appendChild(document.body,clonedElements[i]);
+}
+</script>
+</head>
+<body>
+<p>[Here <b><i><u>is some</u></i></b> text]</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/range/cloneContents18-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/range/cloneContents18-expected.html b/experiments/editorFramework/test/Layer0/range/cloneContents18-expected.html
new file mode 100644
index 0000000..c135c64
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/range/cloneContents18-expected.html
@@ -0,0 +1,9 @@
+<html>
+  <head></head>
+  <body>
+    <p>
+      Here
+      <b><i><u>is some</u></i></b>
+    </p>
+  </body>
+</html>