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:14 UTC

[07/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/selection/positions-inner01b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner01b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner01b-expected.html
new file mode 100644
index 0000000..976d11d
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner01b-expected.html
@@ -0,0 +1,27 @@
+From "one two [three] four five"
+To   "one [two three four] five"
+
+"|one two three four five"   ->   "|one two "     ->   "|one "             ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two "     ->   "o|ne "             ->   YES/YES
+"on|e two three four five"   ->   "on|e two "     ->   "on|e "             ->   YES/YES
+"one| two three four five"   ->   "one| two "     ->   "one| "             ->   YES/YES
+"one |two three four five"   ->   "one |two "     ->   "|two three four"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo "     ->   "t|wo three four"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o "     ->   "tw|o three four"   ->   YES/YES
+"one two| three four five"   ->   "one two| "     ->   "two| three four"   ->   YES/YES
+"one two |three four five"   ->   "|three"        ->   "two |three four"   ->   YES/YES
+"one two t|hree four five"   ->   "t|hree"        ->   "two t|hree four"   ->   YES/YES
+"one two th|ree four five"   ->   "th|ree"        ->   "two th|ree four"   ->   YES/YES
+"one two thr|ee four five"   ->   "thr|ee"        ->   "two thr|ee four"   ->   YES/YES
+"one two thre|e four five"   ->   "thre|e"        ->   "two thre|e four"   ->   YES/YES
+"one two three| four five"   ->   "three|"        ->   "two three| four"   ->   YES/YES
+"one two three |four five"   ->   " |four five"   ->   "two three |four"   ->   YES/YES
+"one two three f|our five"   ->   " f|our five"   ->   "two three f|our"   ->   YES/YES
+"one two three fo|ur five"   ->   " fo|ur five"   ->   "two three fo|ur"   ->   YES/YES
+"one two three fou|r five"   ->   " fou|r five"   ->   "two three fou|r"   ->   YES/YES
+"one two three four| five"   ->   " four| five"   ->   "two three four|"   ->   YES/YES
+"one two three four |five"   ->   " four |five"   ->   " |five"            ->   YES/YES
+"one two three four f|ive"   ->   " four f|ive"   ->   " f|ive"            ->   YES/YES
+"one two three four fi|ve"   ->   " four fi|ve"   ->   " fi|ve"            ->   YES/YES
+"one two three four fiv|e"   ->   " four fiv|e"   ->   " fiv|e"            ->   YES/YES
+"one two three four five|"   ->   " four five|"   ->   " five|"            ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner01b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner01b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner01b-input.html
new file mode 100644
index 0000000..767dfc2
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner01b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two [three] four five"
+    // To   "one [two three four] five"
+    return positionTest(8,13,4,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner02a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner02a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner02a-expected.html
new file mode 100644
index 0000000..80f55d9
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner02a-expected.html
@@ -0,0 +1,27 @@
+From "one [two three four] five"
+To   "one [two three] four five"
+
+"|one two three four five"   ->   "|one "             ->   "|one "         ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "             ->   "o|ne "         ->   YES/YES
+"on|e two three four five"   ->   "on|e "             ->   "on|e "         ->   YES/YES
+"one| two three four five"   ->   "one| "             ->   "one| "         ->   YES/YES
+"one |two three four five"   ->   "|two three four"   ->   "|two three"    ->   YES/YES
+"one t|wo three four five"   ->   "t|wo three four"   ->   "t|wo three"    ->   YES/YES
+"one tw|o three four five"   ->   "tw|o three four"   ->   "tw|o three"    ->   YES/YES
+"one two| three four five"   ->   "two| three four"   ->   "two| three"    ->   YES/YES
+"one two |three four five"   ->   "two |three four"   ->   "two |three"    ->   YES/YES
+"one two t|hree four five"   ->   "two t|hree four"   ->   "two t|hree"    ->   YES/YES
+"one two th|ree four five"   ->   "two th|ree four"   ->   "two th|ree"    ->   YES/YES
+"one two thr|ee four five"   ->   "two thr|ee four"   ->   "two thr|ee"    ->   YES/YES
+"one two thre|e four five"   ->   "two thre|e four"   ->   "two thre|e"    ->   YES/YES
+"one two three| four five"   ->   "two three| four"   ->   "two three|"    ->   YES/YES
+"one two three |four five"   ->   "two three |four"   ->   " |four five"   ->   YES/YES
+"one two three f|our five"   ->   "two three f|our"   ->   " f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "two three fo|ur"   ->   " fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "two three fou|r"   ->   " fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "two three four|"   ->   " four| five"   ->   YES/YES
+"one two three four |five"   ->   " |five"            ->   " four |five"   ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"            ->   " four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"            ->   " four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"            ->   " four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   " five|"            ->   " four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner02a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner02a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner02a-input.html
new file mode 100644
index 0000000..0059baf
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner02a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two three four] five"
+    // To   "one [two three] four five"
+    return positionTest(4,18,4,13);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner02b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner02b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner02b-expected.html
new file mode 100644
index 0000000..bdd8487
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner02b-expected.html
@@ -0,0 +1,27 @@
+From "one [two three] four five"
+To   "one [two three four] five"
+
+"|one two three four five"   ->   "|one "         ->   "|one "             ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "         ->   "o|ne "             ->   YES/YES
+"on|e two three four five"   ->   "on|e "         ->   "on|e "             ->   YES/YES
+"one| two three four five"   ->   "one| "         ->   "one| "             ->   YES/YES
+"one |two three four five"   ->   "|two three"    ->   "|two three four"   ->   YES/YES
+"one t|wo three four five"   ->   "t|wo three"    ->   "t|wo three four"   ->   YES/YES
+"one tw|o three four five"   ->   "tw|o three"    ->   "tw|o three four"   ->   YES/YES
+"one two| three four five"   ->   "two| three"    ->   "two| three four"   ->   YES/YES
+"one two |three four five"   ->   "two |three"    ->   "two |three four"   ->   YES/YES
+"one two t|hree four five"   ->   "two t|hree"    ->   "two t|hree four"   ->   YES/YES
+"one two th|ree four five"   ->   "two th|ree"    ->   "two th|ree four"   ->   YES/YES
+"one two thr|ee four five"   ->   "two thr|ee"    ->   "two thr|ee four"   ->   YES/YES
+"one two thre|e four five"   ->   "two thre|e"    ->   "two thre|e four"   ->   YES/YES
+"one two three| four five"   ->   "two three|"    ->   "two three| four"   ->   YES/YES
+"one two three |four five"   ->   " |four five"   ->   "two three |four"   ->   YES/YES
+"one two three f|our five"   ->   " f|our five"   ->   "two three f|our"   ->   YES/YES
+"one two three fo|ur five"   ->   " fo|ur five"   ->   "two three fo|ur"   ->   YES/YES
+"one two three fou|r five"   ->   " fou|r five"   ->   "two three fou|r"   ->   YES/YES
+"one two three four| five"   ->   " four| five"   ->   "two three four|"   ->   YES/YES
+"one two three four |five"   ->   " four |five"   ->   " |five"            ->   YES/YES
+"one two three four f|ive"   ->   " four f|ive"   ->   " f|ive"            ->   YES/YES
+"one two three four fi|ve"   ->   " four fi|ve"   ->   " fi|ve"            ->   YES/YES
+"one two three four fiv|e"   ->   " four fiv|e"   ->   " fiv|e"            ->   YES/YES
+"one two three four five|"   ->   " four five|"   ->   " five|"            ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner02b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner02b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner02b-input.html
new file mode 100644
index 0000000..21fa1cd
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner02b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two three] four five"
+    // To   "one [two three four] five"
+    return positionTest(4,13,4,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner03a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner03a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner03a-expected.html
new file mode 100644
index 0000000..ee4f5f0
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner03a-expected.html
@@ -0,0 +1,27 @@
+From "one [two three four] five"
+To   "one two [three four] five"
+
+"|one two three four five"   ->   "|one "             ->   "|one two "     ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "             ->   "o|ne two "     ->   YES/YES
+"on|e two three four five"   ->   "on|e "             ->   "on|e two "     ->   YES/YES
+"one| two three four five"   ->   "one| "             ->   "one| two "     ->   YES/YES
+"one |two three four five"   ->   "|two three four"   ->   "one |two "     ->   YES/YES
+"one t|wo three four five"   ->   "t|wo three four"   ->   "one t|wo "     ->   YES/YES
+"one tw|o three four five"   ->   "tw|o three four"   ->   "one tw|o "     ->   YES/YES
+"one two| three four five"   ->   "two| three four"   ->   "one two| "     ->   YES/YES
+"one two |three four five"   ->   "two |three four"   ->   "|three four"   ->   YES/YES
+"one two t|hree four five"   ->   "two t|hree four"   ->   "t|hree four"   ->   YES/YES
+"one two th|ree four five"   ->   "two th|ree four"   ->   "th|ree four"   ->   YES/YES
+"one two thr|ee four five"   ->   "two thr|ee four"   ->   "thr|ee four"   ->   YES/YES
+"one two thre|e four five"   ->   "two thre|e four"   ->   "thre|e four"   ->   YES/YES
+"one two three| four five"   ->   "two three| four"   ->   "three| four"   ->   YES/YES
+"one two three |four five"   ->   "two three |four"   ->   "three |four"   ->   YES/YES
+"one two three f|our five"   ->   "two three f|our"   ->   "three f|our"   ->   YES/YES
+"one two three fo|ur five"   ->   "two three fo|ur"   ->   "three fo|ur"   ->   YES/YES
+"one two three fou|r five"   ->   "two three fou|r"   ->   "three fou|r"   ->   YES/YES
+"one two three four| five"   ->   "two three four|"   ->   "three four|"   ->   YES/YES
+"one two three four |five"   ->   " |five"            ->   " |five"        ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"            ->   " f|ive"        ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"            ->   " fi|ve"        ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"            ->   " fiv|e"        ->   YES/YES
+"one two three four five|"   ->   " five|"            ->   " five|"        ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner03a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner03a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner03a-input.html
new file mode 100644
index 0000000..8de3c1b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner03a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two three four] five"
+    // To   "one two [three four] five"
+    return positionTest(4,18,8,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner03b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner03b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner03b-expected.html
new file mode 100644
index 0000000..317fe97
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner03b-expected.html
@@ -0,0 +1,27 @@
+From "one two [three four] five"
+To   "one [two three four] five"
+
+"|one two three four five"   ->   "|one two "     ->   "|one "             ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two "     ->   "o|ne "             ->   YES/YES
+"on|e two three four five"   ->   "on|e two "     ->   "on|e "             ->   YES/YES
+"one| two three four five"   ->   "one| two "     ->   "one| "             ->   YES/YES
+"one |two three four five"   ->   "one |two "     ->   "|two three four"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo "     ->   "t|wo three four"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o "     ->   "tw|o three four"   ->   YES/YES
+"one two| three four five"   ->   "one two| "     ->   "two| three four"   ->   YES/YES
+"one two |three four five"   ->   "|three four"   ->   "two |three four"   ->   YES/YES
+"one two t|hree four five"   ->   "t|hree four"   ->   "two t|hree four"   ->   YES/YES
+"one two th|ree four five"   ->   "th|ree four"   ->   "two th|ree four"   ->   YES/YES
+"one two thr|ee four five"   ->   "thr|ee four"   ->   "two thr|ee four"   ->   YES/YES
+"one two thre|e four five"   ->   "thre|e four"   ->   "two thre|e four"   ->   YES/YES
+"one two three| four five"   ->   "three| four"   ->   "two three| four"   ->   YES/YES
+"one two three |four five"   ->   "three |four"   ->   "two three |four"   ->   YES/YES
+"one two three f|our five"   ->   "three f|our"   ->   "two three f|our"   ->   YES/YES
+"one two three fo|ur five"   ->   "three fo|ur"   ->   "two three fo|ur"   ->   YES/YES
+"one two three fou|r five"   ->   "three fou|r"   ->   "two three fou|r"   ->   YES/YES
+"one two three four| five"   ->   "three four|"   ->   "two three four|"   ->   YES/YES
+"one two three four |five"   ->   " |five"        ->   " |five"            ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"        ->   " f|ive"            ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"        ->   " fi|ve"            ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"        ->   " fiv|e"            ->   YES/YES
+"one two three four five|"   ->   " five|"        ->   " five|"            ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner03b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner03b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner03b-input.html
new file mode 100644
index 0000000..d1ed09b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner03b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two [three four] five"
+    // To   "one [two three four] five"
+    return positionTest(8,18,4,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner04a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner04a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner04a-expected.html
new file mode 100644
index 0000000..c959aff
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner04a-expected.html
@@ -0,0 +1,27 @@
+From "one [two three] four five"
+To   "one two [three four] five"
+
+"|one two three four five"   ->   "|one "         ->   "|one two "     ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "         ->   "o|ne two "     ->   YES/YES
+"on|e two three four five"   ->   "on|e "         ->   "on|e two "     ->   YES/YES
+"one| two three four five"   ->   "one| "         ->   "one| two "     ->   YES/YES
+"one |two three four five"   ->   "|two three"    ->   "one |two "     ->   YES/YES
+"one t|wo three four five"   ->   "t|wo three"    ->   "one t|wo "     ->   YES/YES
+"one tw|o three four five"   ->   "tw|o three"    ->   "one tw|o "     ->   YES/YES
+"one two| three four five"   ->   "two| three"    ->   "one two| "     ->   YES/YES
+"one two |three four five"   ->   "two |three"    ->   "|three four"   ->   YES/YES
+"one two t|hree four five"   ->   "two t|hree"    ->   "t|hree four"   ->   YES/YES
+"one two th|ree four five"   ->   "two th|ree"    ->   "th|ree four"   ->   YES/YES
+"one two thr|ee four five"   ->   "two thr|ee"    ->   "thr|ee four"   ->   YES/YES
+"one two thre|e four five"   ->   "two thre|e"    ->   "thre|e four"   ->   YES/YES
+"one two three| four five"   ->   "two three|"    ->   "three| four"   ->   YES/YES
+"one two three |four five"   ->   " |four five"   ->   "three |four"   ->   YES/YES
+"one two three f|our five"   ->   " f|our five"   ->   "three f|our"   ->   YES/YES
+"one two three fo|ur five"   ->   " fo|ur five"   ->   "three fo|ur"   ->   YES/YES
+"one two three fou|r five"   ->   " fou|r five"   ->   "three fou|r"   ->   YES/YES
+"one two three four| five"   ->   " four| five"   ->   "three four|"   ->   YES/YES
+"one two three four |five"   ->   " four |five"   ->   " |five"        ->   YES/YES
+"one two three four f|ive"   ->   " four f|ive"   ->   " f|ive"        ->   YES/YES
+"one two three four fi|ve"   ->   " four fi|ve"   ->   " fi|ve"        ->   YES/YES
+"one two three four fiv|e"   ->   " four fiv|e"   ->   " fiv|e"        ->   YES/YES
+"one two three four five|"   ->   " four five|"   ->   " five|"        ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner04a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner04a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner04a-input.html
new file mode 100644
index 0000000..b6ee197
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner04a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two three] four five"
+    // To   "one two [three four] five"
+    return positionTest(4,13,8,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner04b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner04b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner04b-expected.html
new file mode 100644
index 0000000..a2c875b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner04b-expected.html
@@ -0,0 +1,27 @@
+From "one two [three four] five"
+To   "one [two three] four five"
+
+"|one two three four five"   ->   "|one two "     ->   "|one "         ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two "     ->   "o|ne "         ->   YES/YES
+"on|e two three four five"   ->   "on|e two "     ->   "on|e "         ->   YES/YES
+"one| two three four five"   ->   "one| two "     ->   "one| "         ->   YES/YES
+"one |two three four five"   ->   "one |two "     ->   "|two three"    ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo "     ->   "t|wo three"    ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o "     ->   "tw|o three"    ->   YES/YES
+"one two| three four five"   ->   "one two| "     ->   "two| three"    ->   YES/YES
+"one two |three four five"   ->   "|three four"   ->   "two |three"    ->   YES/YES
+"one two t|hree four five"   ->   "t|hree four"   ->   "two t|hree"    ->   YES/YES
+"one two th|ree four five"   ->   "th|ree four"   ->   "two th|ree"    ->   YES/YES
+"one two thr|ee four five"   ->   "thr|ee four"   ->   "two thr|ee"    ->   YES/YES
+"one two thre|e four five"   ->   "thre|e four"   ->   "two thre|e"    ->   YES/YES
+"one two three| four five"   ->   "three| four"   ->   "two three|"    ->   YES/YES
+"one two three |four five"   ->   "three |four"   ->   " |four five"   ->   YES/YES
+"one two three f|our five"   ->   "three f|our"   ->   " f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "three fo|ur"   ->   " fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "three fou|r"   ->   " fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "three four|"   ->   " four| five"   ->   YES/YES
+"one two three four |five"   ->   " |five"        ->   " four |five"   ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"        ->   " four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"        ->   " four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"        ->   " four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   " five|"        ->   " four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner04b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner04b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner04b-input.html
new file mode 100644
index 0000000..09fe48e
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner04b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two [three four] five"
+    // To   "one [two three] four five"
+    return positionTest(8,18,4,13);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner05a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner05a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner05a-expected.html
new file mode 100644
index 0000000..9a47890
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner05a-expected.html
@@ -0,0 +1,27 @@
+From "one [two th]ree four five"
+To   "one two th[ree four] five"
+
+"|one two three four five"   ->   "|one "            ->   "|one two th"   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "            ->   "o|ne two th"   ->   YES/YES
+"on|e two three four five"   ->   "on|e "            ->   "on|e two th"   ->   YES/YES
+"one| two three four five"   ->   "one| "            ->   "one| two th"   ->   YES/YES
+"one |two three four five"   ->   "|two th"          ->   "one |two th"   ->   YES/YES
+"one t|wo three four five"   ->   "t|wo th"          ->   "one t|wo th"   ->   YES/YES
+"one tw|o three four five"   ->   "tw|o th"          ->   "one tw|o th"   ->   YES/YES
+"one two| three four five"   ->   "two| th"          ->   "one two| th"   ->   YES/YES
+"one two |three four five"   ->   "two |th"          ->   "one two |th"   ->   YES/YES
+"one two t|hree four five"   ->   "two t|h"          ->   "one two t|h"   ->   YES/YES
+"one two th|ree four five"   ->   "two th|"          ->   "|ree four"     ->   YES/YES
+"one two thr|ee four five"   ->   "r|ee four five"   ->   "r|ee four"     ->   YES/YES
+"one two thre|e four five"   ->   "re|e four five"   ->   "re|e four"     ->   YES/YES
+"one two three| four five"   ->   "ree| four five"   ->   "ree| four"     ->   YES/YES
+"one two three |four five"   ->   "ree |four five"   ->   "ree |four"     ->   YES/YES
+"one two three f|our five"   ->   "ree f|our five"   ->   "ree f|our"     ->   YES/YES
+"one two three fo|ur five"   ->   "ree fo|ur five"   ->   "ree fo|ur"     ->   YES/YES
+"one two three fou|r five"   ->   "ree fou|r five"   ->   "ree fou|r"     ->   YES/YES
+"one two three four| five"   ->   "ree four| five"   ->   "ree four|"     ->   YES/YES
+"one two three four |five"   ->   "ree four |five"   ->   " |five"        ->   YES/YES
+"one two three four f|ive"   ->   "ree four f|ive"   ->   " f|ive"        ->   YES/YES
+"one two three four fi|ve"   ->   "ree four fi|ve"   ->   " fi|ve"        ->   YES/YES
+"one two three four fiv|e"   ->   "ree four fiv|e"   ->   " fiv|e"        ->   YES/YES
+"one two three four five|"   ->   "ree four five|"   ->   " five|"        ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner05a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner05a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner05a-input.html
new file mode 100644
index 0000000..a01dfcb
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner05a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two th]ree four five"
+    // To   "one two th[ree four] five"
+    return positionTest(4,10,10,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner05b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner05b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner05b-expected.html
new file mode 100644
index 0000000..a21cdd2
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner05b-expected.html
@@ -0,0 +1,27 @@
+From "one two th[ree four] five"
+To   "one [two th]ree four five"
+
+"|one two three four five"   ->   "|one two th"   ->   "|one "            ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two th"   ->   "o|ne "            ->   YES/YES
+"on|e two three four five"   ->   "on|e two th"   ->   "on|e "            ->   YES/YES
+"one| two three four five"   ->   "one| two th"   ->   "one| "            ->   YES/YES
+"one |two three four five"   ->   "one |two th"   ->   "|two th"          ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo th"   ->   "t|wo th"          ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o th"   ->   "tw|o th"          ->   YES/YES
+"one two| three four five"   ->   "one two| th"   ->   "two| th"          ->   YES/YES
+"one two |three four five"   ->   "one two |th"   ->   "two |th"          ->   YES/YES
+"one two t|hree four five"   ->   "one two t|h"   ->   "two t|h"          ->   YES/YES
+"one two th|ree four five"   ->   "|ree four"     ->   "two th|"          ->   YES/YES
+"one two thr|ee four five"   ->   "r|ee four"     ->   "r|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "re|e four"     ->   "re|e four five"   ->   YES/YES
+"one two three| four five"   ->   "ree| four"     ->   "ree| four five"   ->   YES/YES
+"one two three |four five"   ->   "ree |four"     ->   "ree |four five"   ->   YES/YES
+"one two three f|our five"   ->   "ree f|our"     ->   "ree f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "ree fo|ur"     ->   "ree fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "ree fou|r"     ->   "ree fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "ree four|"     ->   "ree four| five"   ->   YES/YES
+"one two three four |five"   ->   " |five"        ->   "ree four |five"   ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"        ->   "ree four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"        ->   "ree four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"        ->   "ree four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   " five|"        ->   "ree four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner05b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner05b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner05b-input.html
new file mode 100644
index 0000000..1bb20d2
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner05b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two th[ree four] five"
+    // To   "one [two th]ree four five"
+    return positionTest(10,18,4,10);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner06a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner06a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner06a-expected.html
new file mode 100644
index 0000000..1db9e73
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner06a-expected.html
@@ -0,0 +1,27 @@
+From "one [two] three four five"
+To   "one two three [four] five"
+
+"|one two three four five"   ->   "|one "               ->   "|one two three "   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "               ->   "o|ne two three "   ->   YES/YES
+"on|e two three four five"   ->   "on|e "               ->   "on|e two three "   ->   YES/YES
+"one| two three four five"   ->   "one| "               ->   "one| two three "   ->   YES/YES
+"one |two three four five"   ->   "|two"                ->   "one |two three "   ->   YES/YES
+"one t|wo three four five"   ->   "t|wo"                ->   "one t|wo three "   ->   YES/YES
+"one tw|o three four five"   ->   "tw|o"                ->   "one tw|o three "   ->   YES/YES
+"one two| three four five"   ->   "two|"                ->   "one two| three "   ->   YES/YES
+"one two |three four five"   ->   " |three four five"   ->   "one two |three "   ->   YES/YES
+"one two t|hree four five"   ->   " t|hree four five"   ->   "one two t|hree "   ->   YES/YES
+"one two th|ree four five"   ->   " th|ree four five"   ->   "one two th|ree "   ->   YES/YES
+"one two thr|ee four five"   ->   " thr|ee four five"   ->   "one two thr|ee "   ->   YES/YES
+"one two thre|e four five"   ->   " thre|e four five"   ->   "one two thre|e "   ->   YES/YES
+"one two three| four five"   ->   " three| four five"   ->   "one two three| "   ->   YES/YES
+"one two three |four five"   ->   " three |four five"   ->   "|four"             ->   YES/YES
+"one two three f|our five"   ->   " three f|our five"   ->   "f|our"             ->   YES/YES
+"one two three fo|ur five"   ->   " three fo|ur five"   ->   "fo|ur"             ->   YES/YES
+"one two three fou|r five"   ->   " three fou|r five"   ->   "fou|r"             ->   YES/YES
+"one two three four| five"   ->   " three four| five"   ->   "four|"             ->   YES/YES
+"one two three four |five"   ->   " three four |five"   ->   " |five"            ->   YES/YES
+"one two three four f|ive"   ->   " three four f|ive"   ->   " f|ive"            ->   YES/YES
+"one two three four fi|ve"   ->   " three four fi|ve"   ->   " fi|ve"            ->   YES/YES
+"one two three four fiv|e"   ->   " three four fiv|e"   ->   " fiv|e"            ->   YES/YES
+"one two three four five|"   ->   " three four five|"   ->   " five|"            ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner06a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner06a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner06a-input.html
new file mode 100644
index 0000000..2ecc068
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner06a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two] three four five"
+    // To   "one two three [four] five"
+    return positionTest(4,7,14,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner06b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner06b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-inner06b-expected.html
new file mode 100644
index 0000000..c93a016
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner06b-expected.html
@@ -0,0 +1,27 @@
+From "one two three [four] five"
+To   "one [two] three four five"
+
+"|one two three four five"   ->   "|one two three "   ->   "|one "               ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two three "   ->   "o|ne "               ->   YES/YES
+"on|e two three four five"   ->   "on|e two three "   ->   "on|e "               ->   YES/YES
+"one| two three four five"   ->   "one| two three "   ->   "one| "               ->   YES/YES
+"one |two three four five"   ->   "one |two three "   ->   "|two"                ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo three "   ->   "t|wo"                ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o three "   ->   "tw|o"                ->   YES/YES
+"one two| three four five"   ->   "one two| three "   ->   "two|"                ->   YES/YES
+"one two |three four five"   ->   "one two |three "   ->   " |three four five"   ->   YES/YES
+"one two t|hree four five"   ->   "one two t|hree "   ->   " t|hree four five"   ->   YES/YES
+"one two th|ree four five"   ->   "one two th|ree "   ->   " th|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "one two thr|ee "   ->   " thr|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "one two thre|e "   ->   " thre|e four five"   ->   YES/YES
+"one two three| four five"   ->   "one two three| "   ->   " three| four five"   ->   YES/YES
+"one two three |four five"   ->   "|four"             ->   " three |four five"   ->   YES/YES
+"one two three f|our five"   ->   "f|our"             ->   " three f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "fo|ur"             ->   " three fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "fou|r"             ->   " three fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "four|"             ->   " three four| five"   ->   YES/YES
+"one two three four |five"   ->   " |five"            ->   " three four |five"   ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"            ->   " three four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"            ->   " three four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"            ->   " three four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   " five|"            ->   " three four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-inner06b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-inner06b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-inner06b-input.html
new file mode 100644
index 0000000..696557b
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-inner06b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two three [four] five"
+    // To   "one [two] three four five"
+    return positionTest(14,18,4,7);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer01a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer01a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer01a-expected.html
new file mode 100644
index 0000000..2f0a340
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer01a-expected.html
@@ -0,0 +1,27 @@
+From "[one two three four five]"
+To   "one two [three] four five"
+
+"|one two three four five"   ->   "|one two three four five"   ->   "|one two "     ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two three four five"   ->   "o|ne two "     ->   YES/YES
+"on|e two three four five"   ->   "on|e two three four five"   ->   "on|e two "     ->   YES/YES
+"one| two three four five"   ->   "one| two three four five"   ->   "one| two "     ->   YES/YES
+"one |two three four five"   ->   "one |two three four five"   ->   "one |two "     ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo three four five"   ->   "one t|wo "     ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o three four five"   ->   "one tw|o "     ->   YES/YES
+"one two| three four five"   ->   "one two| three four five"   ->   "one two| "     ->   YES/YES
+"one two |three four five"   ->   "one two |three four five"   ->   "|three"        ->   YES/YES
+"one two t|hree four five"   ->   "one two t|hree four five"   ->   "t|hree"        ->   YES/YES
+"one two th|ree four five"   ->   "one two th|ree four five"   ->   "th|ree"        ->   YES/YES
+"one two thr|ee four five"   ->   "one two thr|ee four five"   ->   "thr|ee"        ->   YES/YES
+"one two thre|e four five"   ->   "one two thre|e four five"   ->   "thre|e"        ->   YES/YES
+"one two three| four five"   ->   "one two three| four five"   ->   "three|"        ->   YES/YES
+"one two three |four five"   ->   "one two three |four five"   ->   " |four five"   ->   YES/YES
+"one two three f|our five"   ->   "one two three f|our five"   ->   " f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "one two three fo|ur five"   ->   " fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "one two three fou|r five"   ->   " fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "one two three four| five"   ->   " four| five"   ->   YES/YES
+"one two three four |five"   ->   "one two three four |five"   ->   " four |five"   ->   YES/YES
+"one two three four f|ive"   ->   "one two three four f|ive"   ->   " four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   "one two three four fi|ve"   ->   " four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   "one two three four fiv|e"   ->   " four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   "one two three four five|"   ->   " four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer01a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer01a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer01a-input.html
new file mode 100644
index 0000000..973f777
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer01a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "[one two three four five]"
+    // To   "one two [three] four five"
+    return positionTest(0,23,8,13);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer01b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer01b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer01b-expected.html
new file mode 100644
index 0000000..c6f5b68
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer01b-expected.html
@@ -0,0 +1,27 @@
+From "one two [three] four five"
+To   "[one two three four five]"
+
+"|one two three four five"   ->   "|one two "     ->   "|one two three four five"   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two "     ->   "o|ne two three four five"   ->   YES/YES
+"on|e two three four five"   ->   "on|e two "     ->   "on|e two three four five"   ->   YES/YES
+"one| two three four five"   ->   "one| two "     ->   "one| two three four five"   ->   YES/YES
+"one |two three four five"   ->   "one |two "     ->   "one |two three four five"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo "     ->   "one t|wo three four five"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o "     ->   "one tw|o three four five"   ->   YES/YES
+"one two| three four five"   ->   "one two| "     ->   "one two| three four five"   ->   YES/YES
+"one two |three four five"   ->   "|three"        ->   "one two |three four five"   ->   YES/YES
+"one two t|hree four five"   ->   "t|hree"        ->   "one two t|hree four five"   ->   YES/YES
+"one two th|ree four five"   ->   "th|ree"        ->   "one two th|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "thr|ee"        ->   "one two thr|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "thre|e"        ->   "one two thre|e four five"   ->   YES/YES
+"one two three| four five"   ->   "three|"        ->   "one two three| four five"   ->   YES/YES
+"one two three |four five"   ->   " |four five"   ->   "one two three |four five"   ->   YES/YES
+"one two three f|our five"   ->   " f|our five"   ->   "one two three f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   " fo|ur five"   ->   "one two three fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   " fou|r five"   ->   "one two three fou|r five"   ->   YES/YES
+"one two three four| five"   ->   " four| five"   ->   "one two three four| five"   ->   YES/YES
+"one two three four |five"   ->   " four |five"   ->   "one two three four |five"   ->   YES/YES
+"one two three four f|ive"   ->   " four f|ive"   ->   "one two three four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   " four fi|ve"   ->   "one two three four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   " four fiv|e"   ->   "one two three four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   " four five|"   ->   "one two three four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer01b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer01b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer01b-input.html
new file mode 100644
index 0000000..f2e3427
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer01b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two [three] four five"
+    // To   "[one two three four five]"
+    return positionTest(8,13,0,23);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer02a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer02a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer02a-expected.html
new file mode 100644
index 0000000..e49852d
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer02a-expected.html
@@ -0,0 +1,27 @@
+From "[one two three four] five"
+To   "[one two three] four five"
+
+"|one two three four five"   ->   "|one two three four"   ->   "|one two three"   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two three four"   ->   "o|ne two three"   ->   YES/YES
+"on|e two three four five"   ->   "on|e two three four"   ->   "on|e two three"   ->   YES/YES
+"one| two three four five"   ->   "one| two three four"   ->   "one| two three"   ->   YES/YES
+"one |two three four five"   ->   "one |two three four"   ->   "one |two three"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo three four"   ->   "one t|wo three"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o three four"   ->   "one tw|o three"   ->   YES/YES
+"one two| three four five"   ->   "one two| three four"   ->   "one two| three"   ->   YES/YES
+"one two |three four five"   ->   "one two |three four"   ->   "one two |three"   ->   YES/YES
+"one two t|hree four five"   ->   "one two t|hree four"   ->   "one two t|hree"   ->   YES/YES
+"one two th|ree four five"   ->   "one two th|ree four"   ->   "one two th|ree"   ->   YES/YES
+"one two thr|ee four five"   ->   "one two thr|ee four"   ->   "one two thr|ee"   ->   YES/YES
+"one two thre|e four five"   ->   "one two thre|e four"   ->   "one two thre|e"   ->   YES/YES
+"one two three| four five"   ->   "one two three| four"   ->   "one two three|"   ->   YES/YES
+"one two three |four five"   ->   "one two three |four"   ->   " |four five"      ->   YES/YES
+"one two three f|our five"   ->   "one two three f|our"   ->   " f|our five"      ->   YES/YES
+"one two three fo|ur five"   ->   "one two three fo|ur"   ->   " fo|ur five"      ->   YES/YES
+"one two three fou|r five"   ->   "one two three fou|r"   ->   " fou|r five"      ->   YES/YES
+"one two three four| five"   ->   "one two three four|"   ->   " four| five"      ->   YES/YES
+"one two three four |five"   ->   " |five"                ->   " four |five"      ->   YES/YES
+"one two three four f|ive"   ->   " f|ive"                ->   " four f|ive"      ->   YES/YES
+"one two three four fi|ve"   ->   " fi|ve"                ->   " four fi|ve"      ->   YES/YES
+"one two three four fiv|e"   ->   " fiv|e"                ->   " four fiv|e"      ->   YES/YES
+"one two three four five|"   ->   " five|"                ->   " four five|"      ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer02a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer02a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer02a-input.html
new file mode 100644
index 0000000..5427340
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer02a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "[one two three four] five"
+    // To   "[one two three] four five"
+    return positionTest(0,18,0,13);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer02b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer02b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer02b-expected.html
new file mode 100644
index 0000000..b796419
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer02b-expected.html
@@ -0,0 +1,27 @@
+From "[one two three] four five"
+To   "[one two three four] five"
+
+"|one two three four five"   ->   "|one two three"   ->   "|one two three four"   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two three"   ->   "o|ne two three four"   ->   YES/YES
+"on|e two three four five"   ->   "on|e two three"   ->   "on|e two three four"   ->   YES/YES
+"one| two three four five"   ->   "one| two three"   ->   "one| two three four"   ->   YES/YES
+"one |two three four five"   ->   "one |two three"   ->   "one |two three four"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo three"   ->   "one t|wo three four"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o three"   ->   "one tw|o three four"   ->   YES/YES
+"one two| three four five"   ->   "one two| three"   ->   "one two| three four"   ->   YES/YES
+"one two |three four five"   ->   "one two |three"   ->   "one two |three four"   ->   YES/YES
+"one two t|hree four five"   ->   "one two t|hree"   ->   "one two t|hree four"   ->   YES/YES
+"one two th|ree four five"   ->   "one two th|ree"   ->   "one two th|ree four"   ->   YES/YES
+"one two thr|ee four five"   ->   "one two thr|ee"   ->   "one two thr|ee four"   ->   YES/YES
+"one two thre|e four five"   ->   "one two thre|e"   ->   "one two thre|e four"   ->   YES/YES
+"one two three| four five"   ->   "one two three|"   ->   "one two three| four"   ->   YES/YES
+"one two three |four five"   ->   " |four five"      ->   "one two three |four"   ->   YES/YES
+"one two three f|our five"   ->   " f|our five"      ->   "one two three f|our"   ->   YES/YES
+"one two three fo|ur five"   ->   " fo|ur five"      ->   "one two three fo|ur"   ->   YES/YES
+"one two three fou|r five"   ->   " fou|r five"      ->   "one two three fou|r"   ->   YES/YES
+"one two three four| five"   ->   " four| five"      ->   "one two three four|"   ->   YES/YES
+"one two three four |five"   ->   " four |five"      ->   " |five"                ->   YES/YES
+"one two three four f|ive"   ->   " four f|ive"      ->   " f|ive"                ->   YES/YES
+"one two three four fi|ve"   ->   " four fi|ve"      ->   " fi|ve"                ->   YES/YES
+"one two three four fiv|e"   ->   " four fiv|e"      ->   " fiv|e"                ->   YES/YES
+"one two three four five|"   ->   " four five|"      ->   " five|"                ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer02b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer02b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer02b-input.html
new file mode 100644
index 0000000..2d1e691
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer02b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "[one two three] four five"
+    // To   "[one two three four] five"
+    return positionTest(0,13,0,18);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer03a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer03a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer03a-expected.html
new file mode 100644
index 0000000..700efd8
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer03a-expected.html
@@ -0,0 +1,27 @@
+From "one [two three four five]"
+To   "one two [three four five]"
+
+"|one two three four five"   ->   "|one "                  ->   "|one two "          ->   YES/YES
+"o|ne two three four five"   ->   "o|ne "                  ->   "o|ne two "          ->   YES/YES
+"on|e two three four five"   ->   "on|e "                  ->   "on|e two "          ->   YES/YES
+"one| two three four five"   ->   "one| "                  ->   "one| two "          ->   YES/YES
+"one |two three four five"   ->   "|two three four five"   ->   "one |two "          ->   YES/YES
+"one t|wo three four five"   ->   "t|wo three four five"   ->   "one t|wo "          ->   YES/YES
+"one tw|o three four five"   ->   "tw|o three four five"   ->   "one tw|o "          ->   YES/YES
+"one two| three four five"   ->   "two| three four five"   ->   "one two| "          ->   YES/YES
+"one two |three four five"   ->   "two |three four five"   ->   "|three four five"   ->   YES/YES
+"one two t|hree four five"   ->   "two t|hree four five"   ->   "t|hree four five"   ->   YES/YES
+"one two th|ree four five"   ->   "two th|ree four five"   ->   "th|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "two thr|ee four five"   ->   "thr|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "two thre|e four five"   ->   "thre|e four five"   ->   YES/YES
+"one two three| four five"   ->   "two three| four five"   ->   "three| four five"   ->   YES/YES
+"one two three |four five"   ->   "two three |four five"   ->   "three |four five"   ->   YES/YES
+"one two three f|our five"   ->   "two three f|our five"   ->   "three f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "two three fo|ur five"   ->   "three fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "two three fou|r five"   ->   "three fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "two three four| five"   ->   "three four| five"   ->   YES/YES
+"one two three four |five"   ->   "two three four |five"   ->   "three four |five"   ->   YES/YES
+"one two three four f|ive"   ->   "two three four f|ive"   ->   "three four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   "two three four fi|ve"   ->   "three four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   "two three four fiv|e"   ->   "three four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   "two three four five|"   ->   "three four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer03a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer03a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer03a-input.html
new file mode 100644
index 0000000..e782120
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer03a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one [two three four five]"
+    // To   "one two [three four five]"
+    return positionTest(4,23,8,23);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer03b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer03b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer03b-expected.html
new file mode 100644
index 0000000..d226f07
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer03b-expected.html
@@ -0,0 +1,27 @@
+From "one two [three four five]"
+To   "one [two three four five]"
+
+"|one two three four five"   ->   "|one two "          ->   "|one "                  ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two "          ->   "o|ne "                  ->   YES/YES
+"on|e two three four five"   ->   "on|e two "          ->   "on|e "                  ->   YES/YES
+"one| two three four five"   ->   "one| two "          ->   "one| "                  ->   YES/YES
+"one |two three four five"   ->   "one |two "          ->   "|two three four five"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo "          ->   "t|wo three four five"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o "          ->   "tw|o three four five"   ->   YES/YES
+"one two| three four five"   ->   "one two| "          ->   "two| three four five"   ->   YES/YES
+"one two |three four five"   ->   "|three four five"   ->   "two |three four five"   ->   YES/YES
+"one two t|hree four five"   ->   "t|hree four five"   ->   "two t|hree four five"   ->   YES/YES
+"one two th|ree four five"   ->   "th|ree four five"   ->   "two th|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "thr|ee four five"   ->   "two thr|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "thre|e four five"   ->   "two thre|e four five"   ->   YES/YES
+"one two three| four five"   ->   "three| four five"   ->   "two three| four five"   ->   YES/YES
+"one two three |four five"   ->   "three |four five"   ->   "two three |four five"   ->   YES/YES
+"one two three f|our five"   ->   "three f|our five"   ->   "two three f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "three fo|ur five"   ->   "two three fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "three fou|r five"   ->   "two three fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "three four| five"   ->   "two three four| five"   ->   YES/YES
+"one two three four |five"   ->   "three four |five"   ->   "two three four |five"   ->   YES/YES
+"one two three four f|ive"   ->   "three four f|ive"   ->   "two three four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   "three four fi|ve"   ->   "two three four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   "three four fiv|e"   ->   "two three four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   "three four five|"   ->   "two three four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer03b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer03b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer03b-input.html
new file mode 100644
index 0000000..39deb56
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer03b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two [three four five]"
+    // To   "one [two three four five]"
+    return positionTest(8,23,4,23);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer04a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer04a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer04a-expected.html
new file mode 100644
index 0000000..795fe46
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer04a-expected.html
@@ -0,0 +1,27 @@
+From "[one two three] four five"
+To   "one two [three four five]"
+
+"|one two three four five"   ->   "|one two three"   ->   "|one two "          ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two three"   ->   "o|ne two "          ->   YES/YES
+"on|e two three four five"   ->   "on|e two three"   ->   "on|e two "          ->   YES/YES
+"one| two three four five"   ->   "one| two three"   ->   "one| two "          ->   YES/YES
+"one |two three four five"   ->   "one |two three"   ->   "one |two "          ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo three"   ->   "one t|wo "          ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o three"   ->   "one tw|o "          ->   YES/YES
+"one two| three four five"   ->   "one two| three"   ->   "one two| "          ->   YES/YES
+"one two |three four five"   ->   "one two |three"   ->   "|three four five"   ->   YES/YES
+"one two t|hree four five"   ->   "one two t|hree"   ->   "t|hree four five"   ->   YES/YES
+"one two th|ree four five"   ->   "one two th|ree"   ->   "th|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "one two thr|ee"   ->   "thr|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "one two thre|e"   ->   "thre|e four five"   ->   YES/YES
+"one two three| four five"   ->   "one two three|"   ->   "three| four five"   ->   YES/YES
+"one two three |four five"   ->   " |four five"      ->   "three |four five"   ->   YES/YES
+"one two three f|our five"   ->   " f|our five"      ->   "three f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   " fo|ur five"      ->   "three fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   " fou|r five"      ->   "three fou|r five"   ->   YES/YES
+"one two three four| five"   ->   " four| five"      ->   "three four| five"   ->   YES/YES
+"one two three four |five"   ->   " four |five"      ->   "three four |five"   ->   YES/YES
+"one two three four f|ive"   ->   " four f|ive"      ->   "three four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   " four fi|ve"      ->   "three four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   " four fiv|e"      ->   "three four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   " four five|"      ->   "three four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer04a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer04a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer04a-input.html
new file mode 100644
index 0000000..6bf497c
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer04a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "[one two three] four five"
+    // To   "one two [three four five]"
+    return positionTest(0,13,8,23);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer04b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer04b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer04b-expected.html
new file mode 100644
index 0000000..c4cba59
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer04b-expected.html
@@ -0,0 +1,27 @@
+From "one two [three four five]"
+To   "[one two three] four five"
+
+"|one two three four five"   ->   "|one two "          ->   "|one two three"   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two "          ->   "o|ne two three"   ->   YES/YES
+"on|e two three four five"   ->   "on|e two "          ->   "on|e two three"   ->   YES/YES
+"one| two three four five"   ->   "one| two "          ->   "one| two three"   ->   YES/YES
+"one |two three four five"   ->   "one |two "          ->   "one |two three"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo "          ->   "one t|wo three"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o "          ->   "one tw|o three"   ->   YES/YES
+"one two| three four five"   ->   "one two| "          ->   "one two| three"   ->   YES/YES
+"one two |three four five"   ->   "|three four five"   ->   "one two |three"   ->   YES/YES
+"one two t|hree four five"   ->   "t|hree four five"   ->   "one two t|hree"   ->   YES/YES
+"one two th|ree four five"   ->   "th|ree four five"   ->   "one two th|ree"   ->   YES/YES
+"one two thr|ee four five"   ->   "thr|ee four five"   ->   "one two thr|ee"   ->   YES/YES
+"one two thre|e four five"   ->   "thre|e four five"   ->   "one two thre|e"   ->   YES/YES
+"one two three| four five"   ->   "three| four five"   ->   "one two three|"   ->   YES/YES
+"one two three |four five"   ->   "three |four five"   ->   " |four five"      ->   YES/YES
+"one two three f|our five"   ->   "three f|our five"   ->   " f|our five"      ->   YES/YES
+"one two three fo|ur five"   ->   "three fo|ur five"   ->   " fo|ur five"      ->   YES/YES
+"one two three fou|r five"   ->   "three fou|r five"   ->   " fou|r five"      ->   YES/YES
+"one two three four| five"   ->   "three four| five"   ->   " four| five"      ->   YES/YES
+"one two three four |five"   ->   "three four |five"   ->   " four |five"      ->   YES/YES
+"one two three four f|ive"   ->   "three four f|ive"   ->   " four f|ive"      ->   YES/YES
+"one two three four fi|ve"   ->   "three four fi|ve"   ->   " four fi|ve"      ->   YES/YES
+"one two three four fiv|e"   ->   "three four fiv|e"   ->   " four fiv|e"      ->   YES/YES
+"one two three four five|"   ->   "three four five|"   ->   " four five|"      ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer04b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer04b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer04b-input.html
new file mode 100644
index 0000000..0274d11
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer04b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two [three four five]"
+    // To   "[one two three] four five"
+    return positionTest(8,23,0,13);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer05a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer05a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer05a-expected.html
new file mode 100644
index 0000000..6fd6d7c
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer05a-expected.html
@@ -0,0 +1,27 @@
+From "[one two th]ree four five"
+To   "one two th[ree four five]"
+
+"|one two three four five"   ->   "|one two th"      ->   "|one two th"      ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two th"      ->   "o|ne two th"      ->   YES/YES
+"on|e two three four five"   ->   "on|e two th"      ->   "on|e two th"      ->   YES/YES
+"one| two three four five"   ->   "one| two th"      ->   "one| two th"      ->   YES/YES
+"one |two three four five"   ->   "one |two th"      ->   "one |two th"      ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo th"      ->   "one t|wo th"      ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o th"      ->   "one tw|o th"      ->   YES/YES
+"one two| three four five"   ->   "one two| th"      ->   "one two| th"      ->   YES/YES
+"one two |three four five"   ->   "one two |th"      ->   "one two |th"      ->   YES/YES
+"one two t|hree four five"   ->   "one two t|h"      ->   "one two t|h"      ->   YES/YES
+"one two th|ree four five"   ->   "one two th|"      ->   "|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "r|ee four five"   ->   "r|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "re|e four five"   ->   "re|e four five"   ->   YES/YES
+"one two three| four five"   ->   "ree| four five"   ->   "ree| four five"   ->   YES/YES
+"one two three |four five"   ->   "ree |four five"   ->   "ree |four five"   ->   YES/YES
+"one two three f|our five"   ->   "ree f|our five"   ->   "ree f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "ree fo|ur five"   ->   "ree fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "ree fou|r five"   ->   "ree fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "ree four| five"   ->   "ree four| five"   ->   YES/YES
+"one two three four |five"   ->   "ree four |five"   ->   "ree four |five"   ->   YES/YES
+"one two three four f|ive"   ->   "ree four f|ive"   ->   "ree four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   "ree four fi|ve"   ->   "ree four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   "ree four fiv|e"   ->   "ree four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   "ree four five|"   ->   "ree four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer05a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer05a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer05a-input.html
new file mode 100644
index 0000000..ca45336
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer05a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "[one two th]ree four five"
+    // To   "one two th[ree four five]"
+    return positionTest(0,10,10,23);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer05b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer05b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer05b-expected.html
new file mode 100644
index 0000000..1068614
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer05b-expected.html
@@ -0,0 +1,27 @@
+From "one two th[ree four five]"
+To   "[one two th]ree four five"
+
+"|one two three four five"   ->   "|one two th"      ->   "|one two th"      ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two th"      ->   "o|ne two th"      ->   YES/YES
+"on|e two three four five"   ->   "on|e two th"      ->   "on|e two th"      ->   YES/YES
+"one| two three four five"   ->   "one| two th"      ->   "one| two th"      ->   YES/YES
+"one |two three four five"   ->   "one |two th"      ->   "one |two th"      ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo th"      ->   "one t|wo th"      ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o th"      ->   "one tw|o th"      ->   YES/YES
+"one two| three four five"   ->   "one two| th"      ->   "one two| th"      ->   YES/YES
+"one two |three four five"   ->   "one two |th"      ->   "one two |th"      ->   YES/YES
+"one two t|hree four five"   ->   "one two t|h"      ->   "one two t|h"      ->   YES/YES
+"one two th|ree four five"   ->   "|ree four five"   ->   "one two th|"      ->   YES/YES
+"one two thr|ee four five"   ->   "r|ee four five"   ->   "r|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "re|e four five"   ->   "re|e four five"   ->   YES/YES
+"one two three| four five"   ->   "ree| four five"   ->   "ree| four five"   ->   YES/YES
+"one two three |four five"   ->   "ree |four five"   ->   "ree |four five"   ->   YES/YES
+"one two three f|our five"   ->   "ree f|our five"   ->   "ree f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "ree fo|ur five"   ->   "ree fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "ree fou|r five"   ->   "ree fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "ree four| five"   ->   "ree four| five"   ->   YES/YES
+"one two three four |five"   ->   "ree four |five"   ->   "ree four |five"   ->   YES/YES
+"one two three four f|ive"   ->   "ree four f|ive"   ->   "ree four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   "ree four fi|ve"   ->   "ree four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   "ree four fiv|e"   ->   "ree four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   "ree four five|"   ->   "ree four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer05b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer05b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer05b-input.html
new file mode 100644
index 0000000..de3a6fd
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer05b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two th[ree four five]"
+    // To   "[one two th]ree four five"
+    return positionTest(10,23,0,10);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer06a-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer06a-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer06a-expected.html
new file mode 100644
index 0000000..09d1581
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer06a-expected.html
@@ -0,0 +1,27 @@
+From "[one] two three four five"
+To   "one two three four [five]"
+
+"|one two three four five"   ->   "|one"                    ->   "|one two three four "   ->   YES/YES
+"o|ne two three four five"   ->   "o|ne"                    ->   "o|ne two three four "   ->   YES/YES
+"on|e two three four five"   ->   "on|e"                    ->   "on|e two three four "   ->   YES/YES
+"one| two three four five"   ->   "one|"                    ->   "one| two three four "   ->   YES/YES
+"one |two three four five"   ->   " |two three four five"   ->   "one |two three four "   ->   YES/YES
+"one t|wo three four five"   ->   " t|wo three four five"   ->   "one t|wo three four "   ->   YES/YES
+"one tw|o three four five"   ->   " tw|o three four five"   ->   "one tw|o three four "   ->   YES/YES
+"one two| three four five"   ->   " two| three four five"   ->   "one two| three four "   ->   YES/YES
+"one two |three four five"   ->   " two |three four five"   ->   "one two |three four "   ->   YES/YES
+"one two t|hree four five"   ->   " two t|hree four five"   ->   "one two t|hree four "   ->   YES/YES
+"one two th|ree four five"   ->   " two th|ree four five"   ->   "one two th|ree four "   ->   YES/YES
+"one two thr|ee four five"   ->   " two thr|ee four five"   ->   "one two thr|ee four "   ->   YES/YES
+"one two thre|e four five"   ->   " two thre|e four five"   ->   "one two thre|e four "   ->   YES/YES
+"one two three| four five"   ->   " two three| four five"   ->   "one two three| four "   ->   YES/YES
+"one two three |four five"   ->   " two three |four five"   ->   "one two three |four "   ->   YES/YES
+"one two three f|our five"   ->   " two three f|our five"   ->   "one two three f|our "   ->   YES/YES
+"one two three fo|ur five"   ->   " two three fo|ur five"   ->   "one two three fo|ur "   ->   YES/YES
+"one two three fou|r five"   ->   " two three fou|r five"   ->   "one two three fou|r "   ->   YES/YES
+"one two three four| five"   ->   " two three four| five"   ->   "one two three four| "   ->   YES/YES
+"one two three four |five"   ->   " two three four |five"   ->   "|five"                  ->   YES/YES
+"one two three four f|ive"   ->   " two three four f|ive"   ->   "f|ive"                  ->   YES/YES
+"one two three four fi|ve"   ->   " two three four fi|ve"   ->   "fi|ve"                  ->   YES/YES
+"one two three four fiv|e"   ->   " two three four fiv|e"   ->   "fiv|e"                  ->   YES/YES
+"one two three four five|"   ->   " two three four five|"   ->   "five|"                  ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer06a-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer06a-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer06a-input.html
new file mode 100644
index 0000000..40832f9
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer06a-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "[one] two three four five"
+    // To   "one two three four [five]"
+    return positionTest(0,3,19,23);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer06b-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer06b-expected.html b/experiments/editorFramework/test/Layer0/selection/positions-outer06b-expected.html
new file mode 100644
index 0000000..8927be4
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer06b-expected.html
@@ -0,0 +1,27 @@
+From "one two three four [five]"
+To   "[one] two three four five"
+
+"|one two three four five"   ->   "|one two three four "   ->   "|one"                    ->   YES/YES
+"o|ne two three four five"   ->   "o|ne two three four "   ->   "o|ne"                    ->   YES/YES
+"on|e two three four five"   ->   "on|e two three four "   ->   "on|e"                    ->   YES/YES
+"one| two three four five"   ->   "one| two three four "   ->   "one|"                    ->   YES/YES
+"one |two three four five"   ->   "one |two three four "   ->   " |two three four five"   ->   YES/YES
+"one t|wo three four five"   ->   "one t|wo three four "   ->   " t|wo three four five"   ->   YES/YES
+"one tw|o three four five"   ->   "one tw|o three four "   ->   " tw|o three four five"   ->   YES/YES
+"one two| three four five"   ->   "one two| three four "   ->   " two| three four five"   ->   YES/YES
+"one two |three four five"   ->   "one two |three four "   ->   " two |three four five"   ->   YES/YES
+"one two t|hree four five"   ->   "one two t|hree four "   ->   " two t|hree four five"   ->   YES/YES
+"one two th|ree four five"   ->   "one two th|ree four "   ->   " two th|ree four five"   ->   YES/YES
+"one two thr|ee four five"   ->   "one two thr|ee four "   ->   " two thr|ee four five"   ->   YES/YES
+"one two thre|e four five"   ->   "one two thre|e four "   ->   " two thre|e four five"   ->   YES/YES
+"one two three| four five"   ->   "one two three| four "   ->   " two three| four five"   ->   YES/YES
+"one two three |four five"   ->   "one two three |four "   ->   " two three |four five"   ->   YES/YES
+"one two three f|our five"   ->   "one two three f|our "   ->   " two three f|our five"   ->   YES/YES
+"one two three fo|ur five"   ->   "one two three fo|ur "   ->   " two three fo|ur five"   ->   YES/YES
+"one two three fou|r five"   ->   "one two three fou|r "   ->   " two three fou|r five"   ->   YES/YES
+"one two three four| five"   ->   "one two three four| "   ->   " two three four| five"   ->   YES/YES
+"one two three four |five"   ->   "|five"                  ->   " two three four |five"   ->   YES/YES
+"one two three four f|ive"   ->   "f|ive"                  ->   " two three four f|ive"   ->   YES/YES
+"one two three four fi|ve"   ->   "fi|ve"                  ->   " two three four fi|ve"   ->   YES/YES
+"one two three four fiv|e"   ->   "fiv|e"                  ->   " two three four fiv|e"   ->   YES/YES
+"one two three four five|"   ->   "five|"                  ->   " two three four five|"   ->   YES/YES

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/positions-outer06b-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/positions-outer06b-input.html b/experiments/editorFramework/test/Layer0/selection/positions-outer06b-input.html
new file mode 100644
index 0000000..58fa0b4
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/positions-outer06b-input.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="PositionTests.js"></script>
+<script>
+function performTest()
+{
+    // From "one two three four [five]"
+    // To   "[one] two three four five"
+    return positionTest(19,23,0,3);
+}
+</script>
+</head>
+<body>
+<p>one two three four five</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-expected.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-expected.html b/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-expected.html
new file mode 100644
index 0000000..ea62a25
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-expected.html
@@ -0,0 +1,43 @@
+<html>
+  <head>
+    <link href="../generic.css" rel="stylesheet"/>
+  </head>
+  <body>
+    <div class="uxwrite-selection">
+      <table id="item1" width="100%">
+        <colgroup>
+          <col width="25%"/>
+          <col width="25%"/>
+          <col width="25%"/>
+          <col width="25%"/>
+        </colgroup>
+        <tbody>
+          <tr>
+            <td>One</td>
+            <td>Two</td>
+            <td>Three</td>
+            <td>Four</td>
+          </tr>
+          <tr>
+            <td>Five</td>
+            <td>Six</td>
+            <td>Seven</td>
+            <td>Eight</td>
+          </tr>
+          <tr>
+            <td>Nine</td>
+            <td>Ten</td>
+            <td>Eleven</td>
+            <td>Twelve</td>
+          </tr>
+          <tr>
+            <td>Thirteen</td>
+            <td>Fourteen</td>
+            <td>Fifteen</td>
+            <td>Sixteen</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/0633908a/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-input.html
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-input.html b/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-input.html
new file mode 100644
index 0000000..baf1d44
--- /dev/null
+++ b/experiments/editorFramework/test/Layer0/selection/selectAll-from-table01-input.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link href="../generic.css" rel="stylesheet"/>
+<script>
+function performTest()
+{
+    Outline_init();
+    PostponedActions_perform();
+
+    outputOptions.keepSelectionHighlights = true;
+    Selection_selectAll();
+//    showSelection();
+}
+</script>
+</head>
+<body>
+  <table width="100%">
+    <col width="25%">
+    <col width="25%">
+    <col width="25%">
+    <col width="25%">
+    <tr>
+      <td>[One</td>
+      <td>Two</td>
+      <td>Three</td>
+      <td>Four</td>
+    </tr>
+    <tr>
+      <td>Five</td>
+      <td>Six]</td>
+      <td>Seven</td>
+      <td>Eight</td>
+    </tr>
+    <tr>
+      <td>Nine</td>
+      <td>Ten</td>
+      <td>Eleven</td>
+      <td>Twelve</td>
+    </tr>
+    <tr>
+      <td>Thirteen</td>
+      <td>Fourteen</td>
+      <td>Fifteen</td>
+      <td>Sixteen</td>
+    </tr>
+  </table>
+</body>
+</html>