Browse Source

More exact assertions.

Herbert Vojčík 9 years ago
parent
commit
873c875f55
2 changed files with 26 additions and 24 deletions
  1. 17 16
      src/DOMite-Tests.js
  2. 9 8
      src/DOMite-Tests.st

+ 17 - 16
src/DOMite-Tests.js

@@ -17,6 +17,7 @@ return $core.withContext(function($ctx1) {
 self["@fixtureDiv"]=$recv(document)._createElement_("div");
 $recv($recv(document)._body())._appendChild_(self["@fixtureDiv"]);
 $recv(self["@fixtureDiv"])._setAttribute_to_("id","fixture");
+$recv(self["@fixtureDiv"])._innerHTML_("sentinel");
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.DOMiteTest)});
@@ -24,10 +25,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "setUp\x0a\x09fixtureDiv := document createElement: 'div'.\x0a\x09document body appendChild: fixtureDiv.\x0a\x09fixtureDiv setAttribute: 'id' to: 'fixture'",
+source: "setUp\x0a\x09fixtureDiv := document createElement: 'div'.\x0a\x09document body appendChild: fixtureDiv.\x0a\x09fixtureDiv setAttribute: 'id' to: 'fixture'.\x0a\x09fixtureDiv innerHTML: 'sentinel'",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["createElement:", "appendChild:", "body", "setAttribute:to:"]
+messageSends: ["createElement:", "appendChild:", "body", "setAttribute:to:", "innerHTML:"]
 }),
 $globals.DOMiteTest);
 
@@ -193,7 +194,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
 $recv(d)._insertDomite_($recv($Domite())._newElement_("p"));
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("><p></p></div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p></div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testInsertElement",{d:d},$globals.DOMiteTest)});
@@ -201,7 +202,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testInsertElement\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertDomite: (Domite newElement: 'p').\x0a\x09self assert: (document body innerHTML endsWith: '><p></p></div>')",
+source: "testInsertElement\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertDomite: (Domite newElement: 'p').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p></div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "insertDomite:", "newElement:", "assert:", "endsWith:", "innerHTML", "body"]
@@ -231,7 +232,7 @@ $ctx1.sendIdx["insertDomite:"]=1;
 s=$recv($Domite())._newElement_("span");
 $recv(p)._insertDomite_(s);
 $recv(s)._insertString_("dom-mite");
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("><p><span>dom-mite</span></p></div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevel",{d:d,p:p,s:s},$globals.DOMiteTest)});
@@ -239,7 +240,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testInsertElementTwoLevel\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: s.\x0a\x09s insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '><p><span>dom-mite</span></p></div>')",
+source: "testInsertElementTwoLevel\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: s.\x0a\x09s insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "newElement:", "insertDomite:", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
@@ -304,7 +305,7 @@ $9=$recv($Domite())._open();
 $recv($9)._insertString_("dom-mite");
 $10=$recv($9)._yourself();
 $recv(s)._insertDomite_($10);
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("><p><span>dom-mite</span></p></div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
@@ -312,7 +313,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testInsertElementTwoLevelViaFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: (Domite open insertDomite: p; yourself).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: (Domite open insertDomite: s; yourself).\x0a\x09s insertDomite: (Domite open insertString: 'dom-mite'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: '><p><span>dom-mite</span></p></div>')",
+source: "testInsertElementTwoLevelViaFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: (Domite open insertDomite: p; yourself).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: (Domite open insertDomite: s; yourself).\x0a\x09s insertDomite: (Domite open insertString: 'dom-mite'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "newElement:", "insertDomite:", "open", "yourself", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
@@ -421,7 +422,7 @@ $recv($17)._insertDomite_($18);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["insertDomite:"]=7;
 //>>excludeEnd("ctx");
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("><p><span>dom-mite</span></p></div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaTwoLevelFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
@@ -429,7 +430,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testInsertElementTwoLevelViaTwoLevelFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: (Domite open insertDomite: (Domite open insertDomite: p; yourself); yourself).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: (Domite open insertDomite: (Domite open insertDomite: s; yourself); yourself).\x0a\x09s insertDomite: (Domite open insertDomite: (Domite open insertString: 'dom-mite'; yourself); yourself).\x0a\x09self assert: (document body innerHTML endsWith: '><p><span>dom-mite</span></p></div>')",
+source: "testInsertElementTwoLevelViaTwoLevelFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: (Domite open insertDomite: (Domite open insertDomite: p; yourself); yourself).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: (Domite open insertDomite: (Domite open insertDomite: s; yourself); yourself).\x0a\x09s insertDomite: (Domite open insertDomite: (Domite open insertString: 'dom-mite'; yourself); yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "newElement:", "insertDomite:", "open", "yourself", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
@@ -449,7 +450,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
 $recv(d)._insertString_("a foo in a bar");
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">a foo in a bar</div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testInsertString",{d:d},$globals.DOMiteTest)});
@@ -457,7 +458,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testInsertString\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertString: 'a foo in a bar'.\x0a\x09self assert: (document body innerHTML endsWith: '>a foo in a bar</div>')",
+source: "testInsertString\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertString: 'a foo in a bar'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
@@ -481,7 +482,7 @@ $1=$recv($Domite())._open();
 $recv($1)._insertString_("a foo in a bar");
 $2=$recv($1)._yourself();
 $recv(d)._insertDomite_($2);
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">a foo in a bar</div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testInsertStringInFragment",{d:d},$globals.DOMiteTest)});
@@ -489,7 +490,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertDomite: (Domite open insertString: 'a foo in a bar'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>a foo in a bar</div>')",
+source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertDomite: (Domite open insertString: 'a foo in a bar'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "insertDomite:", "insertString:", "open", "yourself", "assert:", "endsWith:", "innerHTML", "body"]
@@ -519,7 +520,7 @@ $ctx1.sendIdx["insertDomite:"]=1;
 s=$recv($Domite())._newElement_("span");
 $recv(d)._insertDomite_(s);
 $recv(d)._insertString_("dom-mite");
-self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("><p></p><span></span>dom-mite</div>"));
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p><span></span>dom-mite</div>"));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s},$globals.DOMiteTest)});
@@ -527,7 +528,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testMultipleInserts\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d insertDomite: s.\x0a\x09d insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '><p></p><span></span>dom-mite</div>')",
+source: "testMultipleInserts\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d insertDomite: s.\x0a\x09d insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p><span></span>dom-mite</div>')",
 referencedClasses: ["Domite"],
 //>>excludeEnd("ide");
 messageSends: ["fromElement:", "newElement:", "insertDomite:", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]

+ 9 - 8
src/DOMite-Tests.st

@@ -8,7 +8,8 @@ TestCase subclass: #DOMiteTest
 setUp
 	fixtureDiv := document createElement: 'div'.
 	document body appendChild: fixtureDiv.
-	fixtureDiv setAttribute: 'id' to: 'fixture'
+	fixtureDiv setAttribute: 'id' to: 'fixture'.
+	fixtureDiv innerHTML: 'sentinel'
 !
 
 tearDown
@@ -42,7 +43,7 @@ testInsertElement
 	| d |
 	d := Domite fromElement: fixtureDiv.
 	d insertDomite: (Domite newElement: 'p').
-	self assert: (document body innerHTML endsWith: '><p></p></div>')
+	self assert: (document body innerHTML endsWith: '>sentinel<p></p></div>')
 !
 
 testInsertElementTwoLevel
@@ -53,7 +54,7 @@ testInsertElementTwoLevel
 	s := Domite newElement: 'span'.
 	p insertDomite: s.
 	s insertString: 'dom-mite'.
-	self assert: (document body innerHTML endsWith: '><p><span>dom-mite</span></p></div>')
+	self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')
 !
 
 testInsertElementTwoLevelViaFragments
@@ -64,7 +65,7 @@ testInsertElementTwoLevelViaFragments
 	s := Domite newElement: 'span'.
 	p insertDomite: (Domite open insertDomite: s; yourself).
 	s insertDomite: (Domite open insertString: 'dom-mite'; yourself).
-	self assert: (document body innerHTML endsWith: '><p><span>dom-mite</span></p></div>')
+	self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')
 !
 
 testInsertElementTwoLevelViaTwoLevelFragments
@@ -75,21 +76,21 @@ testInsertElementTwoLevelViaTwoLevelFragments
 	s := Domite newElement: 'span'.
 	p insertDomite: (Domite open insertDomite: (Domite open insertDomite: s; yourself); yourself).
 	s insertDomite: (Domite open insertDomite: (Domite open insertString: 'dom-mite'; yourself); yourself).
-	self assert: (document body innerHTML endsWith: '><p><span>dom-mite</span></p></div>')
+	self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')
 !
 
 testInsertString
 	| d |
 	d := Domite fromElement: fixtureDiv.
 	d insertString: 'a foo in a bar'.
-	self assert: (document body innerHTML endsWith: '>a foo in a bar</div>')
+	self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')
 !
 
 testInsertStringInFragment
 	| d |
 	d := Domite fromElement: fixtureDiv.
 	d insertDomite: (Domite open insertString: 'a foo in a bar'; yourself).
-	self assert: (document body innerHTML endsWith: '>a foo in a bar</div>')
+	self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')
 !
 
 testMultipleInserts
@@ -100,7 +101,7 @@ testMultipleInserts
 	s := Domite newElement: 'span'.
 	d insertDomite: s.
 	d insertString: 'dom-mite'.
-	self assert: (document body innerHTML endsWith: '><p></p><span></span>dom-mite</div>')
+	self assert: (document body innerHTML endsWith: '>sentinel<p></p><span></span>dom-mite</div>')
 !
 
 testMultipleInsertsWithClear