Preserve overrides for various block commands
authorAryeh Gregor <AryehGregor+gitcommit@gmail.com>
Mon, 19 Sep 2011 16:09:00 -0600
changeset 604 3e4ef15b11a2
parent 603 41ebf20de282
child 605 fc58c8a39346
Preserve overrides for various block commands

Fixes: http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062
conformancetest/data.js
editing.html
implementation.js
source.html
tests.js
--- a/conformancetest/data.js	Wed Sep 21 09:38:11 2011 -0600
+++ b/conformancetest/data.js	Mon Sep 19 16:09:00 2011 -0600
@@ -24380,50 +24380,914 @@
 	"foo<b>a[]</b>bar",
 	{"bold":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["bold",""],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"bold":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["bold",""],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<b>a[]</b>bar</div>",
+	{"bold":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"bold":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<b>a[]</b>bar</blockquote>",
+	{"bold":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"bold":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["bold",""],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<b>a[]</b>bar</li></ol>",
+	{"bold":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"bold":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["bold",""],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<b>a[]</b>bar</li></ul>",
+	{"bold":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"bold":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["bold",""],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<b>a[]</b>bar</div>",
+	{"bold":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"bold":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["bold",""],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<b>a[]</b>bar</div>",
+	{"bold":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["justifyleft",""]],
+	"foo[]bar",
+	{"bold":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["bold",""],["justifyleft",""],["inserttext","a"]],
+	"foo<b>a[]</b>bar",
+	{"bold":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"bold":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["bold",""],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<b>a[]</b>bar</div>",
+	{"bold":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["outdent",""]],
+	"foo[]bar",
+	{"bold":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["bold",""],["outdent",""],["inserttext","a"]],
+	"foo<b>a[]</b>bar",
+	{"bold":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["italic",""],["inserttext","a"]],
 	"foo<i>a[]</i>bar",
 	{"italic":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["italic",""],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"italic":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["italic",""],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<i>a[]</i>bar</div>",
+	{"italic":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"italic":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<i>a[]</i>bar</blockquote>",
+	{"italic":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"italic":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["italic",""],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<i>a[]</i>bar</li></ol>",
+	{"italic":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"italic":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["italic",""],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<i>a[]</i>bar</li></ul>",
+	{"italic":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"italic":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["italic",""],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<i>a[]</i>bar</div>",
+	{"italic":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"italic":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["italic",""],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<i>a[]</i>bar</div>",
+	{"italic":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["justifyleft",""]],
+	"foo[]bar",
+	{"italic":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["italic",""],["justifyleft",""],["inserttext","a"]],
+	"foo<i>a[]</i>bar",
+	{"italic":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"italic":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["italic",""],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<i>a[]</i>bar</div>",
+	{"italic":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["outdent",""]],
+	"foo[]bar",
+	{"italic":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["italic",""],["outdent",""],["inserttext","a"]],
+	"foo<i>a[]</i>bar",
+	{"italic":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["strikethrough",""],["inserttext","a"]],
 	"foo<s>a[]</s>bar",
 	{"strikethrough":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["strikethrough",""],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["strikethrough",""],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<s>a[]</s>bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"strikethrough":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<s>a[]</s>bar</blockquote>",
+	{"strikethrough":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"strikethrough":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["strikethrough",""],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<s>a[]</s>bar</li></ol>",
+	{"strikethrough":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"strikethrough":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["strikethrough",""],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<s>a[]</s>bar</li></ul>",
+	{"strikethrough":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["strikethrough",""],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<s>a[]</s>bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["strikethrough",""],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<s>a[]</s>bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["justifyleft",""]],
+	"foo[]bar",
+	{"strikethrough":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["strikethrough",""],["justifyleft",""],["inserttext","a"]],
+	"foo<s>a[]</s>bar",
+	{"strikethrough":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["strikethrough",""],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<s>a[]</s>bar</div>",
+	{"strikethrough":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["outdent",""]],
+	"foo[]bar",
+	{"strikethrough":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["strikethrough",""],["outdent",""],["inserttext","a"]],
+	"foo<s>a[]</s>bar",
+	{"strikethrough":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["subscript",""],["inserttext","a"]],
 	"foo<sub>a[]</sub>bar",
 	{"subscript":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["subscript",""],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"subscript":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["subscript",""],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<sub>a[]</sub>bar</div>",
+	{"subscript":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"subscript":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<sub>a[]</sub>bar</blockquote>",
+	{"subscript":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"subscript":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["subscript",""],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<sub>a[]</sub>bar</li></ol>",
+	{"subscript":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"subscript":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["subscript",""],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<sub>a[]</sub>bar</li></ul>",
+	{"subscript":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"subscript":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["subscript",""],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<sub>a[]</sub>bar</div>",
+	{"subscript":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"subscript":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["subscript",""],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<sub>a[]</sub>bar</div>",
+	{"subscript":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["justifyleft",""]],
+	"foo[]bar",
+	{"subscript":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["subscript",""],["justifyleft",""],["inserttext","a"]],
+	"foo<sub>a[]</sub>bar",
+	{"subscript":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"subscript":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["subscript",""],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<sub>a[]</sub>bar</div>",
+	{"subscript":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["outdent",""]],
+	"foo[]bar",
+	{"subscript":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["subscript",""],["outdent",""],["inserttext","a"]],
+	"foo<sub>a[]</sub>bar",
+	{"subscript":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["superscript",""],["inserttext","a"]],
 	"foo<sup>a[]</sup>bar",
 	{"superscript":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["superscript",""],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"superscript":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["superscript",""],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<sup>a[]</sup>bar</div>",
+	{"superscript":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"superscript":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<sup>a[]</sup>bar</blockquote>",
+	{"superscript":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"superscript":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["superscript",""],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<sup>a[]</sup>bar</li></ol>",
+	{"superscript":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"superscript":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["superscript",""],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<sup>a[]</sup>bar</li></ul>",
+	{"superscript":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"superscript":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["superscript",""],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<sup>a[]</sup>bar</div>",
+	{"superscript":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"superscript":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["superscript",""],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<sup>a[]</sup>bar</div>",
+	{"superscript":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["justifyleft",""]],
+	"foo[]bar",
+	{"superscript":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["superscript",""],["justifyleft",""],["inserttext","a"]],
+	"foo<sup>a[]</sup>bar",
+	{"superscript":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"superscript":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["superscript",""],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<sup>a[]</sup>bar</div>",
+	{"superscript":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["outdent",""]],
+	"foo[]bar",
+	{"superscript":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["superscript",""],["outdent",""],["inserttext","a"]],
+	"foo<sup>a[]</sup>bar",
+	{"superscript":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["underline",""],["inserttext","a"]],
 	"foo<u>a[]</u>bar",
 	{"underline":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["underline",""],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"underline":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["underline",""],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<u>a[]</u>bar</div>",
+	{"underline":[false,false,"",false,true,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"underline":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<u>a[]</u>bar</blockquote>",
+	{"underline":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"underline":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["underline",""],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<u>a[]</u>bar</li></ol>",
+	{"underline":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"underline":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["underline",""],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<u>a[]</u>bar</li></ul>",
+	{"underline":[false,false,"",false,true,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"underline":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["underline",""],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<u>a[]</u>bar</div>",
+	{"underline":[false,false,"",false,true,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"underline":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["underline",""],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<u>a[]</u>bar</div>",
+	{"underline":[false,false,"",false,true,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["justifyleft",""]],
+	"foo[]bar",
+	{"underline":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["underline",""],["justifyleft",""],["inserttext","a"]],
+	"foo<u>a[]</u>bar",
+	{"underline":[false,false,"",false,true,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"underline":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["underline",""],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<u>a[]</u>bar</div>",
+	{"underline":[false,false,"",false,true,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["outdent",""]],
+	"foo[]bar",
+	{"underline":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["underline",""],["outdent",""],["inserttext","a"]],
+	"foo<u>a[]</u>bar",
+	{"underline":[false,false,"",false,true,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["backcolor","#00FFFF"],["inserttext","a"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
 	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["backcolor","#00FFFF"],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</blockquote>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</li></ol>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</li></ul>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifyleft",""]],
+	"foo[]bar",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifyleft",""],["inserttext","a"]],
+	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["outdent",""]],
+	"foo[]bar",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["backcolor","#00FFFF"],["outdent",""],["inserttext","a"]],
+	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
+	{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["createlink","http://www.google.com/"],["inserttext","a"]],
 	"foo<a href=\"http://www.google.com/\">a[]</a>bar",
 	{"createlink":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["createlink","http://www.google.com/"],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"createlink":[false,false,"",false,false,""],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<a href=\"http://www.google.com/\">a[]</a>bar</div>",
+	{"createlink":[false,false,"",false,false,""],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"createlink":[false,false,"",false,false,""],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<a href=\"http://www.google.com/\">a[]</a>bar</blockquote>",
+	{"createlink":[false,false,"",false,false,""],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"createlink":[false,false,"",false,false,""],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<a href=\"http://www.google.com/\">a[]</a>bar</li></ol>",
+	{"createlink":[false,false,"",false,false,""],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"createlink":[false,false,"",false,false,""],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<a href=\"http://www.google.com/\">a[]</a>bar</li></ul>",
+	{"createlink":[false,false,"",false,false,""],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"createlink":[false,false,"",false,false,""],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<a href=\"http://www.google.com/\">a[]</a>bar</div>",
+	{"createlink":[false,false,"",false,false,""],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"createlink":[false,false,"",false,false,""],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<a href=\"http://www.google.com/\">a[]</a>bar</div>",
+	{"createlink":[false,false,"",false,false,""],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifyleft",""]],
+	"foo[]bar",
+	{"createlink":[false,false,"",false,false,""],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifyleft",""],["inserttext","a"]],
+	"foo<a href=\"http://www.google.com/\">a[]</a>bar",
+	{"createlink":[false,false,"",false,false,""],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"createlink":[false,false,"",false,false,""],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<a href=\"http://www.google.com/\">a[]</a>bar</div>",
+	{"createlink":[false,false,"",false,false,""],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["outdent",""]],
+	"foo[]bar",
+	{"createlink":[false,false,"",false,false,""],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["createlink","http://www.google.com/"],["outdent",""],["inserttext","a"]],
+	"foo<a href=\"http://www.google.com/\">a[]</a>bar",
+	{"createlink":[false,false,"",false,false,""],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["fontname","sans-serif"],["inserttext","a"]],
 	"foo<font face=\"sans-serif\">a[]</font>bar",
 	{"fontname":[false,false,"serif",false,false,"sans-serif"],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["fontname","sans-serif"],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<font face=\"sans-serif\">a[]</font>bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<font face=\"sans-serif\">a[]</font>bar</blockquote>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<font face=\"sans-serif\">a[]</font>bar</li></ol>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<font face=\"sans-serif\">a[]</font>bar</li></ul>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<font face=\"sans-serif\">a[]</font>bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<font face=\"sans-serif\">a[]</font>bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifyleft",""]],
+	"foo[]bar",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifyleft",""],["inserttext","a"]],
+	"foo<font face=\"sans-serif\">a[]</font>bar",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<font face=\"sans-serif\">a[]</font>bar</div>",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["outdent",""]],
+	"foo[]bar",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontname","sans-serif"],["outdent",""],["inserttext","a"]],
+	"foo<font face=\"sans-serif\">a[]</font>bar",
+	{"fontname":[false,false,"serif",false,false,"sans-serif"],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["fontsize","4"],["inserttext","a"]],
 	"foo<font size=\"4\">a[]</font>bar",
 	{"fontsize":[false,false,"3",false,false,"4"],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["fontsize","4"],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["fontsize","4"],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<font size=\"4\">a[]</font>bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"fontsize":[false,false,"3",false,false,"4"],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<font size=\"4\">a[]</font>bar</blockquote>",
+	{"fontsize":[false,false,"3",false,false,"4"],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"fontsize":[false,false,"3",false,false,"4"],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["fontsize","4"],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<font size=\"4\">a[]</font>bar</li></ol>",
+	{"fontsize":[false,false,"3",false,false,"4"],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"fontsize":[false,false,"3",false,false,"4"],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["fontsize","4"],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<font size=\"4\">a[]</font>bar</li></ul>",
+	{"fontsize":[false,false,"3",false,false,"4"],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["fontsize","4"],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<font size=\"4\">a[]</font>bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["fontsize","4"],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<font size=\"4\">a[]</font>bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["justifyleft",""]],
+	"foo[]bar",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["fontsize","4"],["justifyleft",""],["inserttext","a"]],
+	"foo<font size=\"4\">a[]</font>bar",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["fontsize","4"],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<font size=\"4\">a[]</font>bar</div>",
+	{"fontsize":[false,false,"3",false,false,"4"],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["outdent",""]],
+	"foo[]bar",
+	{"fontsize":[false,false,"3",false,false,"4"],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["fontsize","4"],["outdent",""],["inserttext","a"]],
+	"foo<font size=\"4\">a[]</font>bar",
+	{"fontsize":[false,false,"3",false,false,"4"],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["forecolor","#0000FF"],["inserttext","a"]],
 	"foo<font color=\"#0000ff\">a[]</font>bar",
 	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["forecolor","#0000FF"],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<font color=\"#0000ff\">a[]</font>bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<font color=\"#0000ff\">a[]</font>bar</blockquote>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<font color=\"#0000ff\">a[]</font>bar</li></ol>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<font color=\"#0000ff\">a[]</font>bar</li></ul>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<font color=\"#0000ff\">a[]</font>bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<font color=\"#0000ff\">a[]</font>bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifyleft",""]],
+	"foo[]bar",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifyleft",""],["inserttext","a"]],
+	"foo<font color=\"#0000ff\">a[]</font>bar",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<font color=\"#0000ff\">a[]</font>bar</div>",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["outdent",""]],
+	"foo[]bar",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["forecolor","#0000FF"],["outdent",""],["inserttext","a"]],
+	"foo<font color=\"#0000ff\">a[]</font>bar",
+	{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["hilitecolor","#00FFFF"],["inserttext","a"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
 	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"inserttext":[false,false,"",false,false,""]}],
 ["foo[]bar",
+	[["hilitecolor","#00FFFF"],["formatblock","<div>"]],
+	"<div>foo[]bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"formatblock":[false,false,"",false,false,"div"]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["formatblock","<div>"],["inserttext","a"]],
+	"<div>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"formatblock":[false,false,"",false,false,"div"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["indent",""]],
+	"<blockquote>foo[]bar</blockquote>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"indent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["indent",""],["inserttext","a"]],
+	"<blockquote>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</blockquote>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"indent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["insertorderedlist",""]],
+	"<ol><li>foo[]bar</li></ol>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["insertorderedlist",""],["inserttext","a"]],
+	"<ol><li>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</li></ol>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["insertunorderedlist",""]],
+	"<ul><li>foo[]bar</li></ul>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertunorderedlist":[false,false,"",false,true,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["insertunorderedlist",""],["inserttext","a"]],
+	"<ul><li>foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</li></ul>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"insertunorderedlist":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifycenter",""]],
+	"<div style=\"text-align:center\">foo[]bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifycenter":[false,false,"left",false,true,"center"]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifycenter",""],["inserttext","a"]],
+	"<div style=\"text-align:center\">foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifycenter":[false,false,"left",false,true,"center"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifyfull",""]],
+	"<div style=\"text-align:justify\">foo[]bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyfull":[false,false,"left",false,true,"justify"]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifyfull",""],["inserttext","a"]],
+	"<div style=\"text-align:justify\">foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyfull":[false,false,"left",false,true,"justify"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifyleft",""]],
+	"foo[]bar",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyleft":[false,true,"left",false,true,"left"]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifyleft",""],["inserttext","a"]],
+	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyleft":[false,true,"left",false,true,"left"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifyright",""]],
+	"<div style=\"text-align:right\">foo[]bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyright":[false,false,"left",false,true,"right"]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["justifyright",""],["inserttext","a"]],
+	"<div style=\"text-align:right\">foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar</div>",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"justifyright":[false,false,"left",false,true,"right"],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["outdent",""]],
+	"foo[]bar",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"outdent":[false,false,"",false,false,""]}],
+["foo[]bar",
+	[["hilitecolor","#00FFFF"],["outdent",""],["inserttext","a"]],
+	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
+	{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"],"outdent":[false,false,"",false,false,""],"inserttext":[false,false,"",false,false,""]}],
+["foo[]bar",
 	[["superscript",""],["subscript",""],["inserttext","a"]],
 	"foo<sub>a[]</sub>bar",
 	{"superscript":[false,false,"",false,false,""],"subscript":[false,false,"",false,true,""],"inserttext":[false,false,"",false,false,""]}],
--- a/editing.html	Wed Sep 21 09:38:11 2011 -0600
+++ b/editing.html	Mon Sep 19 16:09:00 2011 -0600
@@ -6359,6 +6359,12 @@
 or "ul"):
 
 <ol>
+  <li>
+  <p class=comments><a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062">Bug 14062</a>.
+
+  <p><a href=#record-current-overrides>Record current overrides</a>, and let <var title="">overrides</var> be the
+  result.
+
   <li>Let <var title="">mode</var> be "disable" if the <a href="#selection's-list-state">selection's list
   state</a> is <var title="">tag name</var>, and "enable" otherwise.
 
@@ -6612,6 +6618,8 @@
 
     <li><a href=#fix-disallowed-ancestors>Fix disallowed ancestors</a> of the previous step's result.
   </ol>
+
+  <li><a href=#restore-states-and-values>Restore states and values</a> from <var title="">overrides</var>.
 </ol>
 
 
@@ -6651,6 +6659,12 @@
 "center", "justify", "left", or "right"):
 
 <ol>
+  <li>
+  <p class=comments><a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062">Bug 14062</a>.
+
+  <p><a href=#record-current-overrides>Record current overrides</a>, and let <var title="">overrides</var> be the
+  result.
+
   <li><a href=#block-extend>Block-extend</a> the <a href=#active-range>active range</a>, and let <var title="">new
   range</var> be the result.
 
@@ -6738,6 +6752,8 @@
     on the <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a>, then set its CSS property "text-align" to
     <var title="">alignment</var> and return the result.
   </ol>
+
+  <li><a href=#restore-states-and-values>Restore states and values</a> from <var title="">overrides</var>.
 </ol>
 
 
@@ -7262,6 +7278,12 @@
   <p>If <var title="">value</var> is not a <a href=#formattable-block-name>formattable block name</a>, abort
   these steps and do nothing.
 
+  <li>
+  <p class=comments><a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062">Bug 14062</a>.
+
+  <p><a href=#record-current-overrides>Record current overrides</a>, and let <var title="">overrides</var> be the
+  result.
+
   <li><a href=#block-extend>Block-extend</a> the <a href=#active-range>active range</a>, and let <var title="">new
   range</var> be the result.
 
@@ -7398,6 +7420,8 @@
     <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#context-object>context object</a>.  Then <a href=#fix-disallowed-ancestors>fix disallowed ancestors</a> of the
     result.
   </ol>
+
+  <li><a href=#restore-states-and-values>Restore states and values</a> from <var title="">overrides</var>.
 </ol>
 
 <p class=comments>Firefox 6.0a2 throws, Chrome 14 dev always returns false,
@@ -7775,6 +7799,12 @@
 <p><a href=#action>Action</a>:
 
 <ol>
+  <li>
+  <p class=comments><a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062">Bug 14062</a>.
+
+  <p><a href=#record-current-overrides>Record current overrides</a>, and let <var title="">overrides</var> be the
+  result.
+
   <li>Let <var title="">items</var> be a list of all <code class=external data-anolis-spec=html title="the li element"><a href=http://www.whatwg.org/html/#the-li-element>li</a></code>s that are
   <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#ancestor-container title="ancestor container">ancestor containers</a> of the <a href=#active-range>active range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a>
   and/or <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-end title=concept-range-end>end</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>.
@@ -7819,6 +7849,8 @@
 
     <li><a href=#indent>Indent</a> <var title="">sublist</var>.
   </ol>
+
+  <li><a href=#restore-states-and-values>Restore states and values</a> from <var title="">overrides</var>.
 </ol>
 
 
@@ -8926,6 +8958,12 @@
 <p><a href=#action>Action</a>:
 
 <ol>
+  <li>
+  <p class=comments><a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062">Bug 14062</a>.
+
+  <p><a href=#record-current-overrides>Record current overrides</a>, and let <var title="">overrides</var> be the
+  result.
+
   <li>Let <var title="">items</var> be a list of all <code class=external data-anolis-spec=html title="the li element"><a href=http://www.whatwg.org/html/#the-li-element>li</a></code>s that are
   <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#ancestor-container title="ancestor container">ancestor containers</a> of the <a href=#active-range>active range</a>'s <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-start title=concept-range-start>start</a>
   and/or <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-range-end title=concept-range-end>end</a> <a class=external data-anolis-spec=domrange href=http://html5.org/specs/dom-range.html#concept-boundary-point-node title=concept-boundary-point-node>node</a>.
@@ -9001,6 +9039,8 @@
 
     <li><a href=#restore-the-values>Restore the values</a> from <var title="">values</var>.
   </ol>
+
+  <li><a href=#restore-states-and-values>Restore states and values</a> from <var title="">overrides</var>.
 </ol>
 
 
--- a/implementation.js	Wed Sep 21 09:38:11 2011 -0600
+++ b/implementation.js	Mon Sep 19 16:09:00 2011 -0600
@@ -5450,6 +5450,9 @@
 //@{
 
 function toggleLists(tagName) {
+	// "Record current overrides, and let overrides be the result."
+	var overrides = recordCurrentOverrides();
+
 	// "Let mode be "disable" if the selection's list state is tag name, and
 	// "enable" otherwise."
 	var mode = getSelectionListState() == tagName ? "disable" : "enable";
@@ -5724,6 +5727,9 @@
 			));
 		}
 	}
+
+	// "Restore states and values from overrides."
+	restoreStatesAndValues(overrides);
 }
 
 
@@ -5732,6 +5738,9 @@
 //@{
 
 function justifySelection(alignment) {
+	// "Record current overrides, and let overrides be the result."
+	var overrides = recordCurrentOverrides();
+
 	// "Block-extend the active range, and let new range be the result."
 	var newRange = blockExtend(globalRange);
 
@@ -5840,6 +5849,9 @@
 			}
 		);
 	}
+
+	// "Restore states and values from overrides."
+	restoreStatesAndValues(overrides);
 }
 
 
@@ -6249,6 +6261,9 @@
 			return;
 		}
 
+		// "Record current overrides, and let overrides be the result."
+		var overrides = recordCurrentOverrides();
+
 		// "Block-extend the active range, and let new range be the result."
 		var newRange = blockExtend(getActiveRange());
 
@@ -6350,6 +6365,9 @@
 					: function() { return false },
 				function() { return document.createElement(value) }));
 		}
+
+		// "Restore states and values from overrides."
+		restoreStatesAndValues(overrides);
 	}, indeterm: function() {
 		// "Block-extend the active range, and let new range be the result."
 		var newRange = blockExtend(getActiveRange());
@@ -6687,6 +6705,9 @@
 //@{
 commands.indent = {
 	action: function() {
+		// "Record current overrides, and let overrides be the result."
+		var overrides = recordCurrentOverrides();
+
 		// "Let items be a list of all lis that are ancestor containers of the
 		// active range's start and/or end node."
 		//
@@ -6757,6 +6778,9 @@
 			// "Indent sublist."
 			indentNodes(sublist);
 		}
+
+		// "Restore states and values from overrides."
+		restoreStatesAndValues(overrides);
 	}
 };
 
@@ -7707,6 +7731,9 @@
 //@{
 commands.outdent = {
 	action: function() {
+		// "Record current overrides, and let overrides be the result."
+		var overrides = recordCurrentOverrides();
+
 		// "Let items be a list of all lis that are ancestor containers of the
 		// range's start and/or end node."
 		//
@@ -7798,6 +7825,9 @@
 			// "Restore the values from values."
 			restoreValues(values);
 		}
+
+		// "Restore states and values from overrides."
+		restoreStatesAndValues(overrides);
 	}
 };
 
--- a/source.html	Wed Sep 21 09:38:11 2011 -0600
+++ b/source.html	Mon Sep 19 16:09:00 2011 -0600
@@ -6405,6 +6405,13 @@
 or "ul"):
 
 <ol>
+  <li>
+  <p class=comments><a
+  href=http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062>Bug 14062</a>.
+
+  <p><span>Record current overrides</span>, and let <var>overrides</var> be the
+  result.
+
   <li>Let <var>mode</var> be "disable" if the <span>selection's list
   state</span> is <var>tag name</var>, and "enable" otherwise.
 
@@ -6661,6 +6668,8 @@
 
     <li><span>Fix disallowed ancestors</span> of the previous step's result.
   </ol>
+
+  <li><span>Restore states and values</span> from <var>overrides</var>.
 </ol>
 
 <!-- @} -->
@@ -6701,6 +6710,13 @@
 "center", "justify", "left", or "right"):
 
 <ol>
+  <li>
+  <p class=comments><a
+  href=http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062>Bug 14062</a>.
+
+  <p><span>Record current overrides</span>, and let <var>overrides</var> be the
+  result.
+
   <li><span>Block-extend</span> the <span>active range</span>, and let <var>new
   range</var> be the result.
 
@@ -6790,6 +6806,8 @@
     on the [[contextobject]], then set its CSS property "text-align" to
     <var>alignment</var> and return the result.
   </ol>
+
+  <li><span>Restore states and values</span> from <var>overrides</var>.
 </ol>
 
 <!-- @} -->
@@ -7319,6 +7337,13 @@
   <p>If <var>value</var> is not a <span>formattable block name</span>, abort
   these steps and do nothing.
 
+  <li>
+  <p class=comments><a
+  href=http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062>Bug 14062</a>.
+
+  <p><span>Record current overrides</span>, and let <var>overrides</var> be the
+  result.
+
   <li><span>Block-extend</span> the <span>active range</span>, and let <var>new
   range</var> be the result.
 
@@ -7455,6 +7480,8 @@
     [[contextobject]].  Then <span>fix disallowed ancestors</span> of the
     result.
   </ol>
+
+  <li><span>Restore states and values</span> from <var>overrides</var>.
 </ol>
 
 <p class=comments>Firefox 6.0a2 throws, Chrome 14 dev always returns false,
@@ -7835,6 +7862,13 @@
 <p><span>Action</span>:
 
 <ol>
+  <li>
+  <p class=comments><a
+  href=http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062>Bug 14062</a>.
+
+  <p><span>Record current overrides</span>, and let <var>overrides</var> be the
+  result.
+
   <li>Let <var>items</var> be a list of all [[li]]s that are
   [[ancestorcontainers]] of the <span>active range</span>'s [[rangestart]]
   and/or [[rangeend]] [[bpnode]].
@@ -7879,6 +7913,8 @@
 
     <li><span>Indent</span> <var>sublist</var>.
   </ol>
+
+  <li><span>Restore states and values</span> from <var>overrides</var>.
 </ol>
 
 <!-- @} -->
@@ -8997,6 +9033,13 @@
 <p><span>Action</span>:
 
 <ol>
+  <li>
+  <p class=comments><a
+  href=http://www.w3.org/Bugs/Public/show_bug.cgi?id=14062>Bug 14062</a>.
+
+  <p><span>Record current overrides</span>, and let <var>overrides</var> be the
+  result.
+
   <li>Let <var>items</var> be a list of all [[li]]s that are
   [[ancestorcontainers]] of the <span>active range</span>'s [[rangestart]]
   and/or [[rangeend]] [[bpnode]].
@@ -9072,6 +9115,8 @@
 
     <li><span>Restore the values</span> from <var>values</var>.
   </ol>
+
+  <li><span>Restore states and values</span> from <var>overrides</var>.
 </ol>
 <!-- @} -->
 
--- a/tests.js	Wed Sep 21 09:38:11 2011 -0600
+++ b/tests.js	Mon Sep 19 16:09:00 2011 -0600
@@ -3624,46 +3624,274 @@
 	quasit: ['foo[bar]baz'],
 	multitest: [
 	//@{
-		// Insertion-affecting state
-		['foo[]bar', 'bold', ['inserttext', 'a']],
-		['foo[]bar', 'italic', ['inserttext', 'a']],
-		['foo[]bar', 'strikethrough', ['inserttext', 'a']],
-		['foo[]bar', 'subscript', ['inserttext', 'a']],
-		['foo[]bar', 'superscript', ['inserttext', 'a']],
-		['foo[]bar', 'underline', ['inserttext', 'a']],
-
-		// Insertion-affecting value
-		['foo[]bar', 'backcolor', ['inserttext', 'a']],
-		['foo[]bar', 'createlink', ['inserttext', 'a']],
-		['foo[]bar', 'fontname', ['inserttext', 'a']],
-		['foo[]bar', 'fontsize', ['inserttext', 'a']],
-		['foo[]bar', 'forecolor', ['inserttext', 'a']],
-		['foo[]bar', 'hilitecolor', ['inserttext', 'a']],
+		// Insertion-affecting state.  Test that insertText works right, and
+		// test that various block commands preserve the state.
+		['foo[]bar', 'bold', 'inserttext'],
+		['foo[]bar', 'bold', 'formatblock'],
+		['foo[]bar', 'bold', 'formatblock', 'inserttext'],
+		['foo[]bar', 'bold', 'indent'],
+		['foo[]bar', 'bold', 'indent', 'inserttext'],
+		['foo[]bar', 'bold', 'insertorderedlist'],
+		['foo[]bar', 'bold', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'bold', 'insertunorderedlist'],
+		['foo[]bar', 'bold', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'bold', 'justifycenter'],
+		['foo[]bar', 'bold', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'bold', 'justifyfull'],
+		['foo[]bar', 'bold', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'bold', 'justifyleft'],
+		['foo[]bar', 'bold', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'bold', 'justifyright'],
+		['foo[]bar', 'bold', 'justifyright', 'inserttext'],
+		['foo[]bar', 'bold', 'outdent'],
+		['foo[]bar', 'bold', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'italic', 'inserttext'],
+		['foo[]bar', 'italic', 'formatblock'],
+		['foo[]bar', 'italic', 'formatblock', 'inserttext'],
+		['foo[]bar', 'italic', 'indent'],
+		['foo[]bar', 'italic', 'indent', 'inserttext'],
+		['foo[]bar', 'italic', 'insertorderedlist'],
+		['foo[]bar', 'italic', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'italic', 'insertunorderedlist'],
+		['foo[]bar', 'italic', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'italic', 'justifycenter'],
+		['foo[]bar', 'italic', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'italic', 'justifyfull'],
+		['foo[]bar', 'italic', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'italic', 'justifyleft'],
+		['foo[]bar', 'italic', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'italic', 'justifyright'],
+		['foo[]bar', 'italic', 'justifyright', 'inserttext'],
+		['foo[]bar', 'italic', 'outdent'],
+		['foo[]bar', 'italic', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'strikethrough', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'formatblock'],
+		['foo[]bar', 'strikethrough', 'formatblock', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'indent'],
+		['foo[]bar', 'strikethrough', 'indent', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'insertorderedlist'],
+		['foo[]bar', 'strikethrough', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'insertunorderedlist'],
+		['foo[]bar', 'strikethrough', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'justifycenter'],
+		['foo[]bar', 'strikethrough', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'justifyfull'],
+		['foo[]bar', 'strikethrough', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'justifyleft'],
+		['foo[]bar', 'strikethrough', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'justifyright'],
+		['foo[]bar', 'strikethrough', 'justifyright', 'inserttext'],
+		['foo[]bar', 'strikethrough', 'outdent'],
+		['foo[]bar', 'strikethrough', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'subscript', 'inserttext'],
+		['foo[]bar', 'subscript', 'formatblock'],
+		['foo[]bar', 'subscript', 'formatblock', 'inserttext'],
+		['foo[]bar', 'subscript', 'indent'],
+		['foo[]bar', 'subscript', 'indent', 'inserttext'],
+		['foo[]bar', 'subscript', 'insertorderedlist'],
+		['foo[]bar', 'subscript', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'subscript', 'insertunorderedlist'],
+		['foo[]bar', 'subscript', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'subscript', 'justifycenter'],
+		['foo[]bar', 'subscript', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'subscript', 'justifyfull'],
+		['foo[]bar', 'subscript', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'subscript', 'justifyleft'],
+		['foo[]bar', 'subscript', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'subscript', 'justifyright'],
+		['foo[]bar', 'subscript', 'justifyright', 'inserttext'],
+		['foo[]bar', 'subscript', 'outdent'],
+		['foo[]bar', 'subscript', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'superscript', 'inserttext'],
+		['foo[]bar', 'superscript', 'formatblock'],
+		['foo[]bar', 'superscript', 'formatblock', 'inserttext'],
+		['foo[]bar', 'superscript', 'indent'],
+		['foo[]bar', 'superscript', 'indent', 'inserttext'],
+		['foo[]bar', 'superscript', 'insertorderedlist'],
+		['foo[]bar', 'superscript', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'superscript', 'insertunorderedlist'],
+		['foo[]bar', 'superscript', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'superscript', 'justifycenter'],
+		['foo[]bar', 'superscript', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'superscript', 'justifyfull'],
+		['foo[]bar', 'superscript', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'superscript', 'justifyleft'],
+		['foo[]bar', 'superscript', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'superscript', 'justifyright'],
+		['foo[]bar', 'superscript', 'justifyright', 'inserttext'],
+		['foo[]bar', 'superscript', 'outdent'],
+		['foo[]bar', 'superscript', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'underline', 'inserttext'],
+		['foo[]bar', 'underline', 'formatblock'],
+		['foo[]bar', 'underline', 'formatblock', 'inserttext'],
+		['foo[]bar', 'underline', 'indent'],
+		['foo[]bar', 'underline', 'indent', 'inserttext'],
+		['foo[]bar', 'underline', 'insertorderedlist'],
+		['foo[]bar', 'underline', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'underline', 'insertunorderedlist'],
+		['foo[]bar', 'underline', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'underline', 'justifycenter'],
+		['foo[]bar', 'underline', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'underline', 'justifyfull'],
+		['foo[]bar', 'underline', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'underline', 'justifyleft'],
+		['foo[]bar', 'underline', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'underline', 'justifyright'],
+		['foo[]bar', 'underline', 'justifyright', 'inserttext'],
+		['foo[]bar', 'underline', 'outdent'],
+		['foo[]bar', 'underline', 'outdent', 'inserttext'],
+
+		// Insertion-affecting value.  Test that insertText works right, and
+		// test that various block commands preserve the value.
+		['foo[]bar', 'backcolor', 'inserttext'],
+		['foo[]bar', 'backcolor', 'formatblock'],
+		['foo[]bar', 'backcolor', 'formatblock', 'inserttext'],
+		['foo[]bar', 'backcolor', 'indent'],
+		['foo[]bar', 'backcolor', 'indent', 'inserttext'],
+		['foo[]bar', 'backcolor', 'insertorderedlist'],
+		['foo[]bar', 'backcolor', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'backcolor', 'insertunorderedlist'],
+		['foo[]bar', 'backcolor', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'backcolor', 'justifycenter'],
+		['foo[]bar', 'backcolor', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'backcolor', 'justifyfull'],
+		['foo[]bar', 'backcolor', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'backcolor', 'justifyleft'],
+		['foo[]bar', 'backcolor', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'backcolor', 'justifyright'],
+		['foo[]bar', 'backcolor', 'justifyright', 'inserttext'],
+		['foo[]bar', 'backcolor', 'outdent'],
+		['foo[]bar', 'backcolor', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'createlink', 'inserttext'],
+		['foo[]bar', 'createlink', 'formatblock'],
+		['foo[]bar', 'createlink', 'formatblock', 'inserttext'],
+		['foo[]bar', 'createlink', 'indent'],
+		['foo[]bar', 'createlink', 'indent', 'inserttext'],
+		['foo[]bar', 'createlink', 'insertorderedlist'],
+		['foo[]bar', 'createlink', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'createlink', 'insertunorderedlist'],
+		['foo[]bar', 'createlink', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'createlink', 'justifycenter'],
+		['foo[]bar', 'createlink', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'createlink', 'justifyfull'],
+		['foo[]bar', 'createlink', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'createlink', 'justifyleft'],
+		['foo[]bar', 'createlink', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'createlink', 'justifyright'],
+		['foo[]bar', 'createlink', 'justifyright', 'inserttext'],
+		['foo[]bar', 'createlink', 'outdent'],
+		['foo[]bar', 'createlink', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'fontname', 'inserttext'],
+		['foo[]bar', 'fontname', 'formatblock'],
+		['foo[]bar', 'fontname', 'formatblock', 'inserttext'],
+		['foo[]bar', 'fontname', 'indent'],
+		['foo[]bar', 'fontname', 'indent', 'inserttext'],
+		['foo[]bar', 'fontname', 'insertorderedlist'],
+		['foo[]bar', 'fontname', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'fontname', 'insertunorderedlist'],
+		['foo[]bar', 'fontname', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'fontname', 'justifycenter'],
+		['foo[]bar', 'fontname', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'fontname', 'justifyfull'],
+		['foo[]bar', 'fontname', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'fontname', 'justifyleft'],
+		['foo[]bar', 'fontname', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'fontname', 'justifyright'],
+		['foo[]bar', 'fontname', 'justifyright', 'inserttext'],
+		['foo[]bar', 'fontname', 'outdent'],
+		['foo[]bar', 'fontname', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'fontsize', 'inserttext'],
+		['foo[]bar', 'fontsize', 'formatblock'],
+		['foo[]bar', 'fontsize', 'formatblock', 'inserttext'],
+		['foo[]bar', 'fontsize', 'indent'],
+		['foo[]bar', 'fontsize', 'indent', 'inserttext'],
+		['foo[]bar', 'fontsize', 'insertorderedlist'],
+		['foo[]bar', 'fontsize', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'fontsize', 'insertunorderedlist'],
+		['foo[]bar', 'fontsize', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'fontsize', 'justifycenter'],
+		['foo[]bar', 'fontsize', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'fontsize', 'justifyfull'],
+		['foo[]bar', 'fontsize', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'fontsize', 'justifyleft'],
+		['foo[]bar', 'fontsize', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'fontsize', 'justifyright'],
+		['foo[]bar', 'fontsize', 'justifyright', 'inserttext'],
+		['foo[]bar', 'fontsize', 'outdent'],
+		['foo[]bar', 'fontsize', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'forecolor', 'inserttext'],
+		['foo[]bar', 'forecolor', 'formatblock'],
+		['foo[]bar', 'forecolor', 'formatblock', 'inserttext'],
+		['foo[]bar', 'forecolor', 'indent'],
+		['foo[]bar', 'forecolor', 'indent', 'inserttext'],
+		['foo[]bar', 'forecolor', 'insertorderedlist'],
+		['foo[]bar', 'forecolor', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'forecolor', 'insertunorderedlist'],
+		['foo[]bar', 'forecolor', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'forecolor', 'justifycenter'],
+		['foo[]bar', 'forecolor', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'forecolor', 'justifyfull'],
+		['foo[]bar', 'forecolor', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'forecolor', 'justifyleft'],
+		['foo[]bar', 'forecolor', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'forecolor', 'justifyright'],
+		['foo[]bar', 'forecolor', 'justifyright', 'inserttext'],
+		['foo[]bar', 'forecolor', 'outdent'],
+		['foo[]bar', 'forecolor', 'outdent', 'inserttext'],
+
+		['foo[]bar', 'hilitecolor', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'formatblock'],
+		['foo[]bar', 'hilitecolor', 'formatblock', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'indent'],
+		['foo[]bar', 'hilitecolor', 'indent', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'insertorderedlist'],
+		['foo[]bar', 'hilitecolor', 'insertorderedlist', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'insertunorderedlist'],
+		['foo[]bar', 'hilitecolor', 'insertunorderedlist', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'justifycenter'],
+		['foo[]bar', 'hilitecolor', 'justifycenter', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'justifyfull'],
+		['foo[]bar', 'hilitecolor', 'justifyfull', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'justifyleft'],
+		['foo[]bar', 'hilitecolor', 'justifyleft', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'justifyright'],
+		['foo[]bar', 'hilitecolor', 'justifyright', 'inserttext'],
+		['foo[]bar', 'hilitecolor', 'outdent'],
+		['foo[]bar', 'hilitecolor', 'outdent', 'inserttext'],
 
 		// Test things that interfere with each other
-		['foo[]bar', 'superscript', 'subscript', ['inserttext', 'a']],
-		['foo[]bar', 'subscript', 'superscript', ['inserttext', 'a']],
-
-		['foo[]bar', 'createlink', ['forecolor', '#0000FF'], ['inserttext', 'a']],
-		['foo[]bar', ['forecolor', '#0000FF'], 'createlink', ['inserttext', 'a']],
-		['foo[]bar', 'createlink', ['forecolor', 'blue'], ['inserttext', 'a']],
-		['foo[]bar', ['forecolor', 'blue'], 'createlink', ['inserttext', 'a']],
-		['foo[]bar', 'createlink', ['forecolor', 'brown'], ['inserttext', 'a']],
-		['foo[]bar', ['forecolor', 'brown'], 'createlink', ['inserttext', 'a']],
-		['foo[]bar', 'createlink', ['forecolor', 'black'], ['inserttext', 'a']],
-		['foo[]bar', ['forecolor', 'black'], 'createlink', ['inserttext', 'a']],
-		['foo[]bar', 'createlink', 'underline', ['inserttext', 'a']],
-		['foo[]bar', 'underline', 'createlink', ['inserttext', 'a']],
-		['foo[]bar', 'createlink', 'underline', 'underline', ['inserttext', 'a']],
-		['foo[]bar', 'underline', 'underline', 'createlink', ['inserttext', 'a']],
-
-		['foo[]bar', 'subscript', ['fontsize', '2'], ['inserttext', 'a']],
-		['foo[]bar', ['fontsize', '2'], 'subscript', ['inserttext', 'a']],
-		['foo[]bar', 'subscript', ['fontsize', '3'], ['inserttext', 'a']],
-		['foo[]bar', ['fontsize', '3'], 'subscript', ['inserttext', 'a']],
-
-		['foo[]bar', ['hilitecolor', 'aqua'], ['backcolor', 'tan'], ['inserttext', 'a']],
-		['foo[]bar', ['backcolor', 'tan'], ['hilitecolor', 'aqua'], ['inserttext', 'a']],
+		['foo[]bar', 'superscript', 'subscript', 'inserttext'],
+		['foo[]bar', 'subscript', 'superscript', 'inserttext'],
+
+		['foo[]bar', 'createlink', ['forecolor', '#0000FF'], 'inserttext'],
+		['foo[]bar', ['forecolor', '#0000FF'], 'createlink', 'inserttext'],
+		['foo[]bar', 'createlink', ['forecolor', 'blue'], 'inserttext'],
+		['foo[]bar', ['forecolor', 'blue'], 'createlink', 'inserttext'],
+		['foo[]bar', 'createlink', ['forecolor', 'brown'], 'inserttext'],
+		['foo[]bar', ['forecolor', 'brown'], 'createlink', 'inserttext'],
+		['foo[]bar', 'createlink', ['forecolor', 'black'], 'inserttext'],
+		['foo[]bar', ['forecolor', 'black'], 'createlink', 'inserttext'],
+		['foo[]bar', 'createlink', 'underline', 'inserttext'],
+		['foo[]bar', 'underline', 'createlink', 'inserttext'],
+		['foo[]bar', 'createlink', 'underline', 'underline', 'inserttext'],
+		['foo[]bar', 'underline', 'underline', 'createlink', 'inserttext'],
+
+		['foo[]bar', 'subscript', ['fontsize', '2'], 'inserttext'],
+		['foo[]bar', ['fontsize', '2'], 'subscript', 'inserttext'],
+		['foo[]bar', 'subscript', ['fontsize', '3'], 'inserttext'],
+		['foo[]bar', ['fontsize', '3'], 'subscript', 'inserttext'],
+
+		['foo[]bar', ['hilitecolor', 'aqua'], ['backcolor', 'tan'], 'inserttext'],
+		['foo[]bar', ['backcolor', 'tan'], ['hilitecolor', 'aqua'], 'inserttext'],
 
 
 		// The following are all just inserttext tests that we took from there,