Browse Source

Tests for rendering plain (ST & JS) objects.

Herbert Vojčík 7 years ago
parent
commit
7e3466a36e
2 changed files with 75 additions and 0 deletions
  1. 60 0
      src/DOMite-Tests.js
  2. 15 0
      src/DOMite-Tests.st

+ 60 - 0
src/DOMite-Tests.js

@@ -704,6 +704,66 @@ messageSends: ["at:", "testedClass", "<<", "newStream", "assertBodyEndsWith:"]
 }),
 $globals.DOMiteTest);
 
+$core.addMethod(
+$core.method({
+selector: "testInsertStringifiedJSObject",
+protocol: 'testing',
+fn: function (){
+var self=this;
+var d,obj;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1;
+d=$recv(self._testedClass())._fromElement_(self["@fixtureDiv"]);
+obj=$recv($globals.JSON)._parse_("{}");
+$recv(d).__lt_lt(obj);
+$1=$recv(">sentinel".__comma($recv(obj)._asString())).__comma("</div>");
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx[","]=1;
+//>>excludeEnd("ctx");
+self._assertBodyEndsWith_($1);
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"testInsertStringifiedJSObject",{d:d,obj:obj},$globals.DOMiteTest)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "testInsertStringifiedJSObject\x0a\x09| d obj |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09obj := JSON parse: '{}'.\x0a\x09d << obj.\x0a\x09self assertBodyEndsWith: '>sentinel', obj asString, '</div>'",
+referencedClasses: ["JSON"],
+//>>excludeEnd("ide");
+messageSends: ["fromElement:", "testedClass", "parse:", "<<", "assertBodyEndsWith:", ",", "asString"]
+}),
+$globals.DOMiteTest);
+
+$core.addMethod(
+$core.method({
+selector: "testInsertStringifiedNumber",
+protocol: 'testing',
+fn: function (){
+var self=this;
+var d;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+d=$recv(self._testedClass())._fromElement_(self["@fixtureDiv"]);
+$recv(d).__lt_lt((42));
+self._assertBodyEndsWith_(">sentinel42</div>");
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"testInsertStringifiedNumber",{d:d},$globals.DOMiteTest)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "testInsertStringifiedNumber\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << 42.\x0a\x09self assertBodyEndsWith: '>sentinel42</div>'",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["fromElement:", "testedClass", "<<", "assertBodyEndsWith:"]
+}),
+$globals.DOMiteTest);
+
 $core.addMethod(
 $core.method({
 selector: "testInsertTable",

+ 15 - 0
src/DOMite-Tests.st

@@ -142,6 +142,21 @@ testInsertStringInFragment
 	self assertBodyEndsWith: '>sentinela-foo--in-a-bar</div>'
 !
 
+testInsertStringifiedJSObject
+	| d obj |
+	d := self testedClass fromElement: fixtureDiv.
+	obj := JSON parse: '{}'.
+	d << obj.
+	self assertBodyEndsWith: '>sentinel', obj asString, '</div>'
+!
+
+testInsertStringifiedNumber
+	| d |
+	d := self testedClass fromElement: fixtureDiv.
+	d << 42.
+	self assertBodyEndsWith: '>sentinel42</div>'
+!
+
 testInsertTable
 	| d tbl tr |
 	d := self testedClass at: 'html body div#fixture'.