Browse Source

Tests for use of clearHere

Herbert Vojčík 9 years ago
parent
commit
1330785808
2 changed files with 112 additions and 0 deletions
  1. 86 0
      src/DOMite-Tests.js
  2. 26 0
      src/DOMite-Tests.st

+ 86 - 0
src/DOMite-Tests.js

@@ -534,5 +534,91 @@ messageSends: ["fromElement:", "newElement:", "insertDomite:", "insertString:",
 }),
 $globals.DOMiteTest);
 
+$core.addMethod(
+$core.method({
+selector: "testMultipleInsertsWithClear",
+protocol: 'testing',
+fn: function (){
+var self=this;
+var d,p,s;
+function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
+p=$recv($Domite())._newElement_("p");
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["newElement:"]=1;
+//>>excludeEnd("ctx");
+$recv(d)._insertDomite_(p);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["insertDomite:"]=1;
+//>>excludeEnd("ctx");
+s=$recv($Domite())._newElement_("span");
+$recv(d)._insertDomite_(s);
+$recv(d)._clearHere();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["clearHere"]=1;
+//>>excludeEnd("ctx");
+$recv(d)._insertString_("dom-mite");
+$recv(d)._clearHere();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["clearHere"]=2;
+//>>excludeEnd("ctx");
+$recv(d)._clearHere();
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("></div>"));
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s},$globals.DOMiteTest)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "testMultipleInsertsWithClear\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 clearHere.\x0a\x09d insertString: 'dom-mite'.\x0a\x09d clearHere.\x0a\x09d clearHere.\x0a\x09self assert: (document body innerHTML endsWith: '></div>')",
+referencedClasses: ["Domite"],
+//>>excludeEnd("ide");
+messageSends: ["fromElement:", "newElement:", "insertDomite:", "clearHere", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
+}),
+$globals.DOMiteTest);
+
+$core.addMethod(
+$core.method({
+selector: "testMultipleInsertsWithClearInBetween",
+protocol: 'testing',
+fn: function (){
+var self=this;
+var d,p,s;
+function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
+p=$recv($Domite())._newElement_("p");
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["newElement:"]=1;
+//>>excludeEnd("ctx");
+$recv(d)._insertDomite_(p);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["insertDomite:"]=1;
+//>>excludeEnd("ctx");
+s=$recv($Domite())._newElement_("span");
+$recv(d)._insertDomite_(s);
+$recv(d)._clearHere();
+$recv(d)._insertString_("dom-mite");
+self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">dom-mite</div>"));
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s},$globals.DOMiteTest)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "testMultipleInsertsWithClearInBetween\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 clearHere.\x0a\x09d insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>dom-mite</div>')",
+referencedClasses: ["Domite"],
+//>>excludeEnd("ide");
+messageSends: ["fromElement:", "newElement:", "insertDomite:", "clearHere", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
+}),
+$globals.DOMiteTest);
+
 
 });

+ 26 - 0
src/DOMite-Tests.st

@@ -101,5 +101,31 @@ testMultipleInserts
 	d insertDomite: s.
 	d insertString: 'dom-mite'.
 	self assert: (document body innerHTML endsWith: '><p></p><span></span>dom-mite</div>')
+!
+
+testMultipleInsertsWithClear
+	| d p s |
+	d := Domite fromElement: fixtureDiv.
+	p := Domite newElement: 'p'.
+	d insertDomite: p.
+	s := Domite newElement: 'span'.
+	d insertDomite: s.
+	d clearHere.
+	d insertString: 'dom-mite'.
+	d clearHere.
+	d clearHere.
+	self assert: (document body innerHTML endsWith: '></div>')
+!
+
+testMultipleInsertsWithClearInBetween
+	| d p s |
+	d := Domite fromElement: fixtureDiv.
+	p := Domite newElement: 'p'.
+	d insertDomite: p.
+	s := Domite newElement: 'span'.
+	d insertDomite: s.
+	d clearHere.
+	d insertString: 'dom-mite'.
+	self assert: (document body innerHTML endsWith: '>dom-mite</div>')
 ! !