@@ -63,53 +63,104 @@ describe("morphing operations", function () {
6363
6464 it ( "gracefully handling shifting a new softmatchable node into the front" , function ( ) {
6565 assertOps (
66- "<section><div></div><div></div ></section>" ,
67- "<section><div >New</div><div></div><div></div ></section>" ,
66+ "<section><a>A</a><a>B</a ></section>" ,
67+ "<section><a >New</a><a>A</a><a>B</a ></section>" ,
6868 [
6969 [
7070 "Morphed" ,
71- "<section><div></div><div></div ></section>" ,
72- "<section><div >New</div><div></div><div></div ></section>" ,
71+ "<section><a>A</a><a>B</a ></section>" ,
72+ "<section><a >New</a><a>A</a><a>B</a ></section>" ,
7373 ] ,
74- [ "Added" , "<div >New</div >" ] ,
75- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
76- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
74+ [ "Added" , "<a >New</a >" ] ,
75+ [ "Morphed" , "<a>A</a >" , "<a>A</a >" ] ,
76+ [ "Morphed" , "<a>B</a >" , "<a>B</a >" ] ,
7777 ] ,
7878 ) ;
7979 } ) ;
8080
8181 it ( "gracefully handling inserting a new softmatchable node into the middle" , function ( ) {
8282 assertOps (
83- "<section><div></div><div></div><div></div><div></div ></section>" ,
84- "<section><div></div><div></div><div >New</div><div></div><div></div ></section>" ,
83+ "<section><a>A</a><a>B</a><a>C</a><a>D</a ></section>" ,
84+ "<section><a>A</a><a>B</a><a >New</a><a>C</a><a>D</a ></section>" ,
8585 [
8686 [
8787 "Morphed" ,
88- "<section><div></div><div></div><div></div><div></div ></section>" ,
89- "<section><div></div><div></div><div >New</div><div></div><div></div ></section>" ,
88+ "<section><a>A</a><a>B</a><a>C</a><a>D</a ></section>" ,
89+ "<section><a>A</a><a>B</a><a >New</a><a>C</a><a>D</a ></section>" ,
9090 ] ,
91- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
92- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
93- [ "Added" , "<div >New</div >" ] ,
94- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
95- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
91+ [ "Morphed" , "<a>A</a >" , "<a>A</a >" ] ,
92+ [ "Morphed" , "<a>B</a >" , "<a>B</a >" ] ,
93+ [ "Added" , "<a >New</a >" ] ,
94+ [ "Morphed" , "<a>C</a >" , "<a>C</a >" ] ,
95+ [ "Morphed" , "<a>D</a >" , "<a>D</a >" ] ,
9696 ] ,
9797 ) ;
9898 } ) ;
9999
100100 it ( "gracefully handling pushing a new softmatchable node onto the end" , function ( ) {
101101 assertOps (
102- "<section><div></div><div></div></section>" ,
103- "<section><div></div><div></div><div>New</div></section>" ,
102+ "<section><a>A</a><a>B</a></section>" ,
103+ "<section><a>A</a><a>B</a><a>New</a></section>" ,
104+ [
105+ [
106+ "Morphed" ,
107+ "<section><a>A</a><a>B</a></section>" ,
108+ "<section><a>A</a><a>B</a><a>New</a></section>" ,
109+ ] ,
110+ [ "Morphed" , "<a>A</a>" , "<a>A</a>" ] ,
111+ [ "Morphed" , "<a>B</a>" , "<a>B</a>" ] ,
112+ [ "Added" , "<a>New</a>" ] ,
113+ ] ,
114+ ) ;
115+ } ) ;
116+
117+ it ( "gracefully handling removing a softmatchable node from the front" , function ( ) {
118+ assertOps (
119+ "<section><a>A</a><a>B</a><a>C</a></section>" ,
120+ "<section><a>B</a><a>C</a></section>" ,
121+ [
122+ [
123+ "Morphed" ,
124+ "<section><a>A</a><a>B</a><a>C</a></section>" ,
125+ "<section><a>B</a><a>C</a></section>" ,
126+ ] ,
127+ [ "Removed" , "<a>A</a>" ] ,
128+ [ "Morphed" , "<a>B</a>" , "<a>B</a>" ] ,
129+ [ "Morphed" , "<a>C</a>" , "<a>C</a>" ] ,
130+ ] ,
131+ ) ;
132+ } ) ;
133+
134+ it ( "gracefully handling removing a softmatchable node from the middle" , function ( ) {
135+ assertOps (
136+ "<section><a>A</a><a>B</a><a>C</a></section>" ,
137+ "<section><a>A</a><a>C</a></section>" ,
138+ [
139+ [
140+ "Morphed" ,
141+ "<section><a>A</a><a>B</a><a>C</a></section>" ,
142+ "<section><a>A</a><a>C</a></section>" ,
143+ ] ,
144+ [ "Morphed" , "<a>A</a>" , "<a>A</a>" ] ,
145+ [ "Removed" , "<a>B</a>" ] ,
146+ [ "Morphed" , "<a>C</a>" , "<a>C</a>" ] ,
147+ ] ,
148+ ) ;
149+ } ) ;
150+
151+ it ( "gracefully handling removing a softmatchable node from the end" , function ( ) {
152+ assertOps (
153+ "<section><a>A</a><a>B</a><a>C</a></section>" ,
154+ "<section><a>A</a><a>B</a></section>" ,
104155 [
105156 [
106157 "Morphed" ,
107- "<section><div></div><div></div ></section>" ,
108- "<section><div></div><div></div><div>New</div ></section>" ,
158+ "<section><a>A</a><a>B</a><a>C</a ></section>" ,
159+ "<section><a>A</a><a>B</a ></section>" ,
109160 ] ,
110- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
111- [ "Morphed" , "<div></div >" , "<div></div >" ] ,
112- [ "Added " , "<div>New</div >" ] ,
161+ [ "Morphed" , "<a>A</a >" , "<a>A</a >" ] ,
162+ [ "Morphed" , "<a>B</a >" , "<a>B</a >" ] ,
163+ [ "Removed " , "<a>C</a >" ] ,
113164 ] ,
114165 ) ;
115166 } ) ;
0 commit comments