Skip to content

Commit c250312

Browse files
improve addition churn test readability, and add removal tests as well.
1 parent 719f66b commit c250312

File tree

1 file changed

+74
-23
lines changed

1 file changed

+74
-23
lines changed

test/ops.js

Lines changed: 74 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)