DOMite-Tests.js 41 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102
  1. define(["amber/boot", "amber_core/SUnit"], function($boot){"use strict";
  2. if(!$boot.nilAsReceiver)$boot.nilAsReceiver=$boot.nil;
  3. if(!("nilAsValue" in $boot))$boot.nilAsValue=$boot.nilAsReceiver;
  4. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  5. if(!$boot.nilAsClass)$boot.nilAsClass=$boot.dnu;
  6. $core.addPackage("DOMite-Tests");
  7. $core.packages["DOMite-Tests"].innerEval = function (expr) { return eval(expr); };
  8. $core.packages["DOMite-Tests"].transport = {"type":"amd","amdNamespace":"domite"};
  9. $core.addClass("DOMiteTest", $globals.TestCase, ["fixtureDiv"], "DOMite-Tests");
  10. $core.addMethod(
  11. $core.method({
  12. selector: "assertBodyEndsWith:",
  13. protocol: "testing",
  14. fn: function (aString){
  15. var self=this,$self=this;
  16. var sanitizedBody,sanitizedAssertion;
  17. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  18. return $core.withContext(function($ctx1) {
  19. //>>excludeEnd("ctx");
  20. var $2,$3,$1;
  21. sanitizedBody=$recv($recv($recv(document)._body())._innerHTML())._replace_with_("\x5cs*","");
  22. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  23. $ctx1.sendIdx["replace:with:"]=1;
  24. //>>excludeEnd("ctx");
  25. sanitizedAssertion=$recv(aString)._replace_with_("\x5cs*","");
  26. $2=$recv(sanitizedBody)._size();
  27. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  28. $ctx1.sendIdx["size"]=1;
  29. //>>excludeEnd("ctx");
  30. $3=$recv(sanitizedAssertion)._size();
  31. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  32. $ctx1.sendIdx["size"]=2;
  33. //>>excludeEnd("ctx");
  34. $1=$recv($2).__gt_eq($3);
  35. $self._assert_($1);
  36. $self._assert_equals_($recv(sanitizedBody)._last_($recv(sanitizedAssertion)._size()),sanitizedAssertion);
  37. return self;
  38. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  39. }, function($ctx1) {$ctx1.fill(self,"assertBodyEndsWith:",{aString:aString,sanitizedBody:sanitizedBody,sanitizedAssertion:sanitizedAssertion},$globals.DOMiteTest)});
  40. //>>excludeEnd("ctx");
  41. },
  42. //>>excludeStart("ide", pragmas.excludeIdeData);
  43. args: ["aString"],
  44. source: "assertBodyEndsWith: aString\x0a\x09| sanitizedBody sanitizedAssertion |\x0a\x09sanitizedBody := document body innerHTML replace: '\x5cs*' with: ''.\x0a\x09sanitizedAssertion := aString replace: '\x5cs*' with: ''.\x0a\x09self assert: sanitizedBody size >= sanitizedAssertion size.\x0a\x09self\x0a\x09\x09assert: (sanitizedBody last: sanitizedAssertion size)\x0a\x09\x09equals: sanitizedAssertion",
  45. referencedClasses: [],
  46. //>>excludeEnd("ide");
  47. messageSends: ["replace:with:", "innerHTML", "body", "assert:", ">=", "size", "assert:equals:", "last:"]
  48. }),
  49. $globals.DOMiteTest);
  50. $core.addMethod(
  51. $core.method({
  52. selector: "setUp",
  53. protocol: "fixture",
  54. fn: function (){
  55. var self=this,$self=this;
  56. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  57. return $core.withContext(function($ctx1) {
  58. //>>excludeEnd("ctx");
  59. $self["@fixtureDiv"]=$recv(document)._createElement_("div");
  60. $recv($recv(document)._body())._appendChild_($self["@fixtureDiv"]);
  61. $recv($self["@fixtureDiv"])._setAttribute_to_("id","fixture");
  62. $recv($self["@fixtureDiv"])._innerHTML_("sentinel");
  63. return self;
  64. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  65. }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.DOMiteTest)});
  66. //>>excludeEnd("ctx");
  67. },
  68. //>>excludeStart("ide", pragmas.excludeIdeData);
  69. args: [],
  70. source: "setUp\x0a\x09fixtureDiv := document createElement: 'div'.\x0a\x09document body appendChild: fixtureDiv.\x0a\x09fixtureDiv setAttribute: 'id' to: 'fixture'.\x0a\x09fixtureDiv innerHTML: 'sentinel'",
  71. referencedClasses: [],
  72. //>>excludeEnd("ide");
  73. messageSends: ["createElement:", "appendChild:", "body", "setAttribute:to:", "innerHTML:"]
  74. }),
  75. $globals.DOMiteTest);
  76. $core.addMethod(
  77. $core.method({
  78. selector: "tearDown",
  79. protocol: "fixture",
  80. fn: function (){
  81. var self=this,$self=this;
  82. var lastChild;
  83. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  84. return $core.withContext(function($ctx1) {
  85. //>>excludeEnd("ctx");
  86. var $1;
  87. $1=$recv(document)._body();
  88. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  89. $ctx1.sendIdx["body"]=1;
  90. //>>excludeEnd("ctx");
  91. lastChild=$recv($1)._lastChild();
  92. $self._assert_equals_(lastChild,$self["@fixtureDiv"]);
  93. $recv($recv(document)._body())._removeChild_(lastChild);
  94. return self;
  95. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  96. }, function($ctx1) {$ctx1.fill(self,"tearDown",{lastChild:lastChild},$globals.DOMiteTest)});
  97. //>>excludeEnd("ctx");
  98. },
  99. //>>excludeStart("ide", pragmas.excludeIdeData);
  100. args: [],
  101. source: "tearDown\x0a\x09| lastChild |\x0a\x09lastChild := document body lastChild.\x0a\x09self assert: lastChild equals: fixtureDiv.\x0a\x09document body removeChild: lastChild",
  102. referencedClasses: [],
  103. //>>excludeEnd("ide");
  104. messageSends: ["lastChild", "body", "assert:equals:", "removeChild:"]
  105. }),
  106. $globals.DOMiteTest);
  107. $core.addMethod(
  108. $core.method({
  109. selector: "testDefaultInsertElement",
  110. protocol: "testing",
  111. fn: function (){
  112. var self=this,$self=this;
  113. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  114. return $core.withContext(function($ctx1) {
  115. //>>excludeEnd("ctx");
  116. var $2,$1,$3;
  117. $2=$self._testedClass();
  118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  119. $ctx1.sendIdx["testedClass"]=1;
  120. //>>excludeEnd("ctx");
  121. $1=$recv($2)._new();
  122. $recv($1).__lt_lt($recv($self._testedClass())._newElement_("p"));
  123. $self._assertBodyEndsWith_("<p></p>");
  124. $3=$recv(document)._body();
  125. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  126. $ctx1.sendIdx["body"]=1;
  127. //>>excludeEnd("ctx");
  128. $recv($3)._removeChild_($recv($recv(document)._body())._lastChild());
  129. return self;
  130. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  131. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertElement",{},$globals.DOMiteTest)});
  132. //>>excludeEnd("ctx");
  133. },
  134. //>>excludeStart("ide", pragmas.excludeIdeData);
  135. args: [],
  136. source: "testDefaultInsertElement\x0a\x0a\x09self testedClass new << (self testedClass newElement: 'p').\x0a\x09self assertBodyEndsWith: '<p></p>'.\x0a\x09document body removeChild: document body lastChild",
  137. referencedClasses: [],
  138. //>>excludeEnd("ide");
  139. messageSends: ["<<", "new", "testedClass", "newElement:", "assertBodyEndsWith:", "removeChild:", "body", "lastChild"]
  140. }),
  141. $globals.DOMiteTest);
  142. $core.addMethod(
  143. $core.method({
  144. selector: "testDefaultInsertString",
  145. protocol: "testing",
  146. fn: function (){
  147. var self=this,$self=this;
  148. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  149. return $core.withContext(function($ctx1) {
  150. //>>excludeEnd("ctx");
  151. var $1;
  152. $recv($recv($self._testedClass())._new()).__lt_lt("a-foo--in-a-bar");
  153. $self._assertBodyEndsWith_("a-foo--in-a-bar");
  154. $1=$recv(document)._body();
  155. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  156. $ctx1.sendIdx["body"]=1;
  157. //>>excludeEnd("ctx");
  158. $recv($1)._removeChild_($recv($recv(document)._body())._lastChild());
  159. return self;
  160. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  161. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertString",{},$globals.DOMiteTest)});
  162. //>>excludeEnd("ctx");
  163. },
  164. //>>excludeStart("ide", pragmas.excludeIdeData);
  165. args: [],
  166. source: "testDefaultInsertString\x0a\x09self testedClass new << 'a-foo--in-a-bar'.\x0a\x09self assertBodyEndsWith: 'a-foo--in-a-bar'.\x0a\x09document body removeChild: document body lastChild",
  167. referencedClasses: [],
  168. //>>excludeEnd("ide");
  169. messageSends: ["<<", "new", "testedClass", "assertBodyEndsWith:", "removeChild:", "body", "lastChild"]
  170. }),
  171. $globals.DOMiteTest);
  172. $core.addMethod(
  173. $core.method({
  174. selector: "testDefaultInsertStringInFragment",
  175. protocol: "testing",
  176. fn: function (){
  177. var self=this,$self=this;
  178. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  179. return $core.withContext(function($ctx1) {
  180. //>>excludeEnd("ctx");
  181. var $2,$1,$3;
  182. $2=$self._testedClass();
  183. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  184. $ctx1.sendIdx["testedClass"]=1;
  185. //>>excludeEnd("ctx");
  186. $1=$recv($2)._new();
  187. $recv($1).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("a-foo--in-a-bar"));
  188. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  189. $ctx1.sendIdx["<<"]=1;
  190. //>>excludeEnd("ctx");
  191. $self._assertBodyEndsWith_("a-foo--in-a-bar");
  192. $3=$recv(document)._body();
  193. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  194. $ctx1.sendIdx["body"]=1;
  195. //>>excludeEnd("ctx");
  196. $recv($3)._removeChild_($recv($recv(document)._body())._lastChild());
  197. return self;
  198. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  199. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertStringInFragment",{},$globals.DOMiteTest)});
  200. //>>excludeEnd("ctx");
  201. },
  202. //>>excludeStart("ide", pragmas.excludeIdeData);
  203. args: [],
  204. source: "testDefaultInsertStringInFragment\x0a\x09self testedClass new << (self testedClass newStream << 'a-foo--in-a-bar').\x0a\x09self assertBodyEndsWith: 'a-foo--in-a-bar'.\x0a\x09document body removeChild: document body lastChild",
  205. referencedClasses: [],
  206. //>>excludeEnd("ide");
  207. messageSends: ["<<", "new", "testedClass", "newStream", "assertBodyEndsWith:", "removeChild:", "body", "lastChild"]
  208. }),
  209. $globals.DOMiteTest);
  210. $core.addMethod(
  211. $core.method({
  212. selector: "testFromBadSelectorIsInvalid",
  213. protocol: "testing",
  214. fn: function (){
  215. var self=this,$self=this;
  216. var d;
  217. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  218. return $core.withContext(function($ctx1) {
  219. //>>excludeEnd("ctx");
  220. var $1,$2,$3,$4;
  221. $1=$self._testedClass();
  222. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  223. $ctx1.sendIdx["testedClass"]=1;
  224. //>>excludeEnd("ctx");
  225. d=$recv($1)._at_("#goo");
  226. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  227. $ctx1.sendIdx["at:"]=1;
  228. //>>excludeEnd("ctx");
  229. $2=$recv(d)._isInvalid();
  230. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  231. $ctx1.sendIdx["isInvalid"]=1;
  232. //>>excludeEnd("ctx");
  233. $self._assert_($2);
  234. $3=$self._testedClass();
  235. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  236. $ctx1.sendIdx["testedClass"]=2;
  237. //>>excludeEnd("ctx");
  238. d=$recv($3)._at_("body");
  239. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  240. $ctx1.sendIdx["at:"]=2;
  241. //>>excludeEnd("ctx");
  242. $4=$recv(d)._isInvalid();
  243. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  244. $ctx1.sendIdx["isInvalid"]=2;
  245. //>>excludeEnd("ctx");
  246. $self._deny_($4);
  247. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  248. $ctx1.sendIdx["deny:"]=1;
  249. //>>excludeEnd("ctx");
  250. d=$recv($self._testedClass())._at_("html body div#fixture");
  251. $self._deny_($recv(d)._isInvalid());
  252. return self;
  253. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  254. }, function($ctx1) {$ctx1.fill(self,"testFromBadSelectorIsInvalid",{d:d},$globals.DOMiteTest)});
  255. //>>excludeEnd("ctx");
  256. },
  257. //>>excludeStart("ide", pragmas.excludeIdeData);
  258. args: [],
  259. source: "testFromBadSelectorIsInvalid\x0a\x09| d |\x0a\x09d := self testedClass at: '#goo'.\x0a\x09self assert: d isInvalid.\x0a\x09d := self testedClass at: 'body'.\x0a\x09self deny: d isInvalid.\x0a\x09d := self testedClass at: 'html body div#fixture'.\x0a\x09self deny: d isInvalid",
  260. referencedClasses: [],
  261. //>>excludeEnd("ide");
  262. messageSends: ["at:", "testedClass", "assert:", "isInvalid", "deny:"]
  263. }),
  264. $globals.DOMiteTest);
  265. $core.addMethod(
  266. $core.method({
  267. selector: "testInsertDomNode",
  268. protocol: "testing",
  269. fn: function (){
  270. var self=this,$self=this;
  271. var d;
  272. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  273. return $core.withContext(function($ctx1) {
  274. //>>excludeEnd("ctx");
  275. d=$recv($self._testedClass())._fromElement_($self["@fixtureDiv"]);
  276. $recv(d).__lt_lt($recv(document)._createElement_("pre"));
  277. $self._assertBodyEndsWith_(">sentinel<pre></pre></div>");
  278. return self;
  279. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  280. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNode",{d:d},$globals.DOMiteTest)});
  281. //>>excludeEnd("ctx");
  282. },
  283. //>>excludeStart("ide", pragmas.excludeIdeData);
  284. args: [],
  285. source: "testInsertDomNode\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << (document createElement: 'pre').\x0a\x09self assertBodyEndsWith: '>sentinel<pre></pre></div>'",
  286. referencedClasses: [],
  287. //>>excludeEnd("ide");
  288. messageSends: ["fromElement:", "testedClass", "<<", "createElement:", "assertBodyEndsWith:"]
  289. }),
  290. $globals.DOMiteTest);
  291. $core.addMethod(
  292. $core.method({
  293. selector: "testInsertDomNodeInFragment",
  294. protocol: "testing",
  295. fn: function (){
  296. var self=this,$self=this;
  297. var d;
  298. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  299. return $core.withContext(function($ctx1) {
  300. //>>excludeEnd("ctx");
  301. var $1;
  302. $1=$self._testedClass();
  303. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  304. $ctx1.sendIdx["testedClass"]=1;
  305. //>>excludeEnd("ctx");
  306. d=$recv($1)._at_("#fixture");
  307. $recv(d).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt($recv(document)._createElement_("script")));
  308. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  309. $ctx1.sendIdx["<<"]=1;
  310. //>>excludeEnd("ctx");
  311. $self._assertBodyEndsWith_(">sentinel<script></script></div>");
  312. return self;
  313. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  314. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNodeInFragment",{d:d},$globals.DOMiteTest)});
  315. //>>excludeEnd("ctx");
  316. },
  317. //>>excludeStart("ide", pragmas.excludeIdeData);
  318. args: [],
  319. source: "testInsertDomNodeInFragment\x0a\x09| d |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09d << (self testedClass newStream << (document createElement: 'script')).\x0a\x09self assertBodyEndsWith: '>sentinel<script></script></div>'",
  320. referencedClasses: [],
  321. //>>excludeEnd("ide");
  322. messageSends: ["at:", "testedClass", "<<", "newStream", "createElement:", "assertBodyEndsWith:"]
  323. }),
  324. $globals.DOMiteTest);
  325. $core.addMethod(
  326. $core.method({
  327. selector: "testInsertDomNodeInRawDomFragment",
  328. protocol: "testing",
  329. fn: function (){
  330. var self=this,$self=this;
  331. var d,f;
  332. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  333. return $core.withContext(function($ctx1) {
  334. //>>excludeEnd("ctx");
  335. d=$recv($self._testedClass())._at_("#fixture");
  336. f=$recv(document)._createDocumentFragment();
  337. $recv(f)._appendChild_($recv(document)._createElement_("script"));
  338. $recv(d).__lt_lt(f);
  339. $self._assertBodyEndsWith_(">sentinel<script></script></div>");
  340. return self;
  341. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  342. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNodeInRawDomFragment",{d:d,f:f},$globals.DOMiteTest)});
  343. //>>excludeEnd("ctx");
  344. },
  345. //>>excludeStart("ide", pragmas.excludeIdeData);
  346. args: [],
  347. source: "testInsertDomNodeInRawDomFragment\x0a\x09| d f |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09f := document createDocumentFragment.\x0a\x09f appendChild: (document createElement: 'script').\x0a\x09d << f.\x0a\x09self assertBodyEndsWith: '>sentinel<script></script></div>'",
  348. referencedClasses: [],
  349. //>>excludeEnd("ide");
  350. messageSends: ["at:", "testedClass", "createDocumentFragment", "appendChild:", "createElement:", "<<", "assertBodyEndsWith:"]
  351. }),
  352. $globals.DOMiteTest);
  353. $core.addMethod(
  354. $core.method({
  355. selector: "testInsertElement",
  356. protocol: "testing",
  357. fn: function (){
  358. var self=this,$self=this;
  359. var d;
  360. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  361. return $core.withContext(function($ctx1) {
  362. //>>excludeEnd("ctx");
  363. var $1;
  364. $1=$self._testedClass();
  365. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  366. $ctx1.sendIdx["testedClass"]=1;
  367. //>>excludeEnd("ctx");
  368. d=$recv($1)._at_("html body div#fixture");
  369. $recv(d).__lt_lt($recv($self._testedClass())._newElement_("p"));
  370. $self._assertBodyEndsWith_(">sentinel<p></p></div>");
  371. return self;
  372. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  373. }, function($ctx1) {$ctx1.fill(self,"testInsertElement",{d:d},$globals.DOMiteTest)});
  374. //>>excludeEnd("ctx");
  375. },
  376. //>>excludeStart("ide", pragmas.excludeIdeData);
  377. args: [],
  378. source: "testInsertElement\x0a\x09| d |\x0a\x09d := self testedClass at: 'html body div#fixture'.\x0a\x09d << (self testedClass newElement: 'p').\x0a\x09self assertBodyEndsWith: '>sentinel<p></p></div>'",
  379. referencedClasses: [],
  380. //>>excludeEnd("ide");
  381. messageSends: ["at:", "testedClass", "<<", "newElement:", "assertBodyEndsWith:"]
  382. }),
  383. $globals.DOMiteTest);
  384. $core.addMethod(
  385. $core.method({
  386. selector: "testInsertElementTwoLevel",
  387. protocol: "testing",
  388. fn: function (){
  389. var self=this,$self=this;
  390. var d,p,s;
  391. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  392. return $core.withContext(function($ctx1) {
  393. //>>excludeEnd("ctx");
  394. var $1,$2;
  395. $1=$self._testedClass();
  396. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  397. $ctx1.sendIdx["testedClass"]=1;
  398. //>>excludeEnd("ctx");
  399. d=$recv($1)._fromElement_($self["@fixtureDiv"]);
  400. $2=$self._testedClass();
  401. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  402. $ctx1.sendIdx["testedClass"]=2;
  403. //>>excludeEnd("ctx");
  404. p=$recv($2)._newElement_("p");
  405. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  406. $ctx1.sendIdx["newElement:"]=1;
  407. //>>excludeEnd("ctx");
  408. $recv(d).__lt_lt(p);
  409. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  410. $ctx1.sendIdx["<<"]=1;
  411. //>>excludeEnd("ctx");
  412. s=$recv($self._testedClass())._newElement_("span");
  413. $recv(p).__lt_lt(s);
  414. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  415. $ctx1.sendIdx["<<"]=2;
  416. //>>excludeEnd("ctx");
  417. $recv(s).__lt_lt("dom-mite");
  418. $self._assertBodyEndsWith_(">sentinel<p><span>dom-mite</span></p></div>");
  419. return self;
  420. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  421. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevel",{d:d,p:p,s:s},$globals.DOMiteTest)});
  422. //>>excludeEnd("ctx");
  423. },
  424. //>>excludeStart("ide", pragmas.excludeIdeData);
  425. args: [],
  426. source: "testInsertElementTwoLevel\x0a\x09| d p s |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09p := self testedClass newElement: 'p'.\x0a\x09d << p.\x0a\x09s := self testedClass newElement: 'span'.\x0a\x09p << s.\x0a\x09s << 'dom-mite'.\x0a\x09self assertBodyEndsWith: '>sentinel<p><span>dom-mite</span></p></div>'",
  427. referencedClasses: [],
  428. //>>excludeEnd("ide");
  429. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  430. }),
  431. $globals.DOMiteTest);
  432. $core.addMethod(
  433. $core.method({
  434. selector: "testInsertElementTwoLevelViaFragments",
  435. protocol: "testing",
  436. fn: function (){
  437. var self=this,$self=this;
  438. var d,p,s;
  439. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  440. return $core.withContext(function($ctx1) {
  441. //>>excludeEnd("ctx");
  442. var $1,$2,$3,$6,$5,$4,$7,$8,$11,$10,$9;
  443. $1=$self._testedClass();
  444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  445. $ctx1.sendIdx["testedClass"]=1;
  446. //>>excludeEnd("ctx");
  447. d=$recv($1)._at_("#fixture");
  448. $2=$self._testedClass();
  449. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  450. $ctx1.sendIdx["testedClass"]=2;
  451. //>>excludeEnd("ctx");
  452. p=$recv($2)._newElement_("p");
  453. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  454. $ctx1.sendIdx["newElement:"]=1;
  455. //>>excludeEnd("ctx");
  456. $3=d;
  457. $6=$self._testedClass();
  458. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  459. $ctx1.sendIdx["testedClass"]=3;
  460. //>>excludeEnd("ctx");
  461. $5=$recv($6)._newStream();
  462. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  463. $ctx1.sendIdx["newStream"]=1;
  464. //>>excludeEnd("ctx");
  465. $4=$recv($5).__lt_lt(p);
  466. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  467. $ctx1.sendIdx["<<"]=2;
  468. //>>excludeEnd("ctx");
  469. $recv($3).__lt_lt($4);
  470. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  471. $ctx1.sendIdx["<<"]=1;
  472. //>>excludeEnd("ctx");
  473. $7=$self._testedClass();
  474. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  475. $ctx1.sendIdx["testedClass"]=4;
  476. //>>excludeEnd("ctx");
  477. s=$recv($7)._newElement_("span");
  478. $8=p;
  479. $11=$self._testedClass();
  480. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  481. $ctx1.sendIdx["testedClass"]=5;
  482. //>>excludeEnd("ctx");
  483. $10=$recv($11)._newStream();
  484. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  485. $ctx1.sendIdx["newStream"]=2;
  486. //>>excludeEnd("ctx");
  487. $9=$recv($10).__lt_lt(s);
  488. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  489. $ctx1.sendIdx["<<"]=4;
  490. //>>excludeEnd("ctx");
  491. $recv($8).__lt_lt($9);
  492. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  493. $ctx1.sendIdx["<<"]=3;
  494. //>>excludeEnd("ctx");
  495. $recv(s).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("dom-mite"));
  496. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  497. $ctx1.sendIdx["<<"]=5;
  498. //>>excludeEnd("ctx");
  499. $self._assertBodyEndsWith_(">sentinel<p><span>dom-mite</span></p></div>");
  500. return self;
  501. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  502. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  503. //>>excludeEnd("ctx");
  504. },
  505. //>>excludeStart("ide", pragmas.excludeIdeData);
  506. args: [],
  507. source: "testInsertElementTwoLevelViaFragments\x0a\x09| d p s |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09p := self testedClass newElement: 'p'.\x0a\x09d << (self testedClass newStream << p).\x0a\x09s := self testedClass newElement: 'span'.\x0a\x09p << (self testedClass newStream << s).\x0a\x09s << (self testedClass newStream << 'dom-mite').\x0a\x09self assertBodyEndsWith: '>sentinel<p><span>dom-mite</span></p></div>'",
  508. referencedClasses: [],
  509. //>>excludeEnd("ide");
  510. messageSends: ["at:", "testedClass", "newElement:", "<<", "newStream", "assertBodyEndsWith:"]
  511. }),
  512. $globals.DOMiteTest);
  513. $core.addMethod(
  514. $core.method({
  515. selector: "testInsertElementTwoLevelViaTwoLevelFragments",
  516. protocol: "testing",
  517. fn: function (){
  518. var self=this,$self=this;
  519. var d,p,s;
  520. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  521. return $core.withContext(function($ctx1) {
  522. //>>excludeEnd("ctx");
  523. var $1,$2,$3,$6,$5,$9,$8,$7,$4,$10,$11,$14,$13,$17,$16,$15,$12,$18,$21,$20,$19;
  524. $1=$self._testedClass();
  525. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  526. $ctx1.sendIdx["testedClass"]=1;
  527. //>>excludeEnd("ctx");
  528. d=$recv($1)._fromElement_($self["@fixtureDiv"]);
  529. $2=$self._testedClass();
  530. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  531. $ctx1.sendIdx["testedClass"]=2;
  532. //>>excludeEnd("ctx");
  533. p=$recv($2)._newElement_("p");
  534. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  535. $ctx1.sendIdx["newElement:"]=1;
  536. //>>excludeEnd("ctx");
  537. $3=d;
  538. $6=$self._testedClass();
  539. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  540. $ctx1.sendIdx["testedClass"]=3;
  541. //>>excludeEnd("ctx");
  542. $5=$recv($6)._newStream();
  543. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  544. $ctx1.sendIdx["newStream"]=1;
  545. //>>excludeEnd("ctx");
  546. $9=$self._testedClass();
  547. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  548. $ctx1.sendIdx["testedClass"]=4;
  549. //>>excludeEnd("ctx");
  550. $8=$recv($9)._newStream();
  551. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  552. $ctx1.sendIdx["newStream"]=2;
  553. //>>excludeEnd("ctx");
  554. $7=$recv($8).__lt_lt(p);
  555. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  556. $ctx1.sendIdx["<<"]=3;
  557. //>>excludeEnd("ctx");
  558. $4=$recv($5).__lt_lt($7);
  559. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  560. $ctx1.sendIdx["<<"]=2;
  561. //>>excludeEnd("ctx");
  562. $recv($3).__lt_lt($4);
  563. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  564. $ctx1.sendIdx["<<"]=1;
  565. //>>excludeEnd("ctx");
  566. $10=$self._testedClass();
  567. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  568. $ctx1.sendIdx["testedClass"]=5;
  569. //>>excludeEnd("ctx");
  570. s=$recv($10)._newElement_("span");
  571. $11=p;
  572. $14=$self._testedClass();
  573. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  574. $ctx1.sendIdx["testedClass"]=6;
  575. //>>excludeEnd("ctx");
  576. $13=$recv($14)._newStream();
  577. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  578. $ctx1.sendIdx["newStream"]=3;
  579. //>>excludeEnd("ctx");
  580. $17=$self._testedClass();
  581. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  582. $ctx1.sendIdx["testedClass"]=7;
  583. //>>excludeEnd("ctx");
  584. $16=$recv($17)._newStream();
  585. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  586. $ctx1.sendIdx["newStream"]=4;
  587. //>>excludeEnd("ctx");
  588. $15=$recv($16).__lt_lt(s);
  589. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  590. $ctx1.sendIdx["<<"]=6;
  591. //>>excludeEnd("ctx");
  592. $12=$recv($13).__lt_lt($15);
  593. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  594. $ctx1.sendIdx["<<"]=5;
  595. //>>excludeEnd("ctx");
  596. $recv($11).__lt_lt($12);
  597. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  598. $ctx1.sendIdx["<<"]=4;
  599. //>>excludeEnd("ctx");
  600. $18=s;
  601. $21=$self._testedClass();
  602. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  603. $ctx1.sendIdx["testedClass"]=8;
  604. //>>excludeEnd("ctx");
  605. $20=$recv($21)._newStream();
  606. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  607. $ctx1.sendIdx["newStream"]=5;
  608. //>>excludeEnd("ctx");
  609. $19=$recv($20).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("dom-mite"));
  610. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  611. $ctx1.sendIdx["<<"]=8;
  612. //>>excludeEnd("ctx");
  613. $recv($18).__lt_lt($19);
  614. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  615. $ctx1.sendIdx["<<"]=7;
  616. //>>excludeEnd("ctx");
  617. $self._assertBodyEndsWith_(">sentinel<p><span>dom-mite</span></p></div>");
  618. return self;
  619. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  620. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaTwoLevelFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  621. //>>excludeEnd("ctx");
  622. },
  623. //>>excludeStart("ide", pragmas.excludeIdeData);
  624. args: [],
  625. source: "testInsertElementTwoLevelViaTwoLevelFragments\x0a\x09| d p s |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09p := self testedClass newElement: 'p'.\x0a\x09d << (self testedClass newStream << (self testedClass newStream << p)).\x0a\x09s := self testedClass newElement: 'span'.\x0a\x09p << (self testedClass newStream << (self testedClass newStream << s)).\x0a\x09s << (self testedClass newStream << (self testedClass newStream << 'dom-mite')).\x0a\x09self assertBodyEndsWith: '>sentinel<p><span>dom-mite</span></p></div>'",
  626. referencedClasses: [],
  627. //>>excludeEnd("ide");
  628. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "newStream", "assertBodyEndsWith:"]
  629. }),
  630. $globals.DOMiteTest);
  631. $core.addMethod(
  632. $core.method({
  633. selector: "testInsertString",
  634. protocol: "testing",
  635. fn: function (){
  636. var self=this,$self=this;
  637. var d;
  638. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  639. return $core.withContext(function($ctx1) {
  640. //>>excludeEnd("ctx");
  641. d=$recv($self._testedClass())._fromElement_($self["@fixtureDiv"]);
  642. $recv(d).__lt_lt("a-foo--in-a-bar");
  643. $self._assertBodyEndsWith_(">sentinela-foo--in-a-bar</div>");
  644. return self;
  645. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  646. }, function($ctx1) {$ctx1.fill(self,"testInsertString",{d:d},$globals.DOMiteTest)});
  647. //>>excludeEnd("ctx");
  648. },
  649. //>>excludeStart("ide", pragmas.excludeIdeData);
  650. args: [],
  651. source: "testInsertString\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << 'a-foo--in-a-bar'.\x0a\x09self assertBodyEndsWith: '>sentinela-foo--in-a-bar</div>'",
  652. referencedClasses: [],
  653. //>>excludeEnd("ide");
  654. messageSends: ["fromElement:", "testedClass", "<<", "assertBodyEndsWith:"]
  655. }),
  656. $globals.DOMiteTest);
  657. $core.addMethod(
  658. $core.method({
  659. selector: "testInsertStringInFragment",
  660. protocol: "testing",
  661. fn: function (){
  662. var self=this,$self=this;
  663. var d;
  664. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  665. return $core.withContext(function($ctx1) {
  666. //>>excludeEnd("ctx");
  667. var $1;
  668. $1=$self._testedClass();
  669. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  670. $ctx1.sendIdx["testedClass"]=1;
  671. //>>excludeEnd("ctx");
  672. d=$recv($1)._at_("#fixture");
  673. $recv(d).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("a-foo--in-a-bar"));
  674. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  675. $ctx1.sendIdx["<<"]=1;
  676. //>>excludeEnd("ctx");
  677. $self._assertBodyEndsWith_(">sentinela-foo--in-a-bar</div>");
  678. return self;
  679. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  680. }, function($ctx1) {$ctx1.fill(self,"testInsertStringInFragment",{d:d},$globals.DOMiteTest)});
  681. //>>excludeEnd("ctx");
  682. },
  683. //>>excludeStart("ide", pragmas.excludeIdeData);
  684. args: [],
  685. source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09d << (self testedClass newStream << 'a-foo--in-a-bar').\x0a\x09self assertBodyEndsWith: '>sentinela-foo--in-a-bar</div>'",
  686. referencedClasses: [],
  687. //>>excludeEnd("ide");
  688. messageSends: ["at:", "testedClass", "<<", "newStream", "assertBodyEndsWith:"]
  689. }),
  690. $globals.DOMiteTest);
  691. $core.addMethod(
  692. $core.method({
  693. selector: "testInsertStringifiedJSObject",
  694. protocol: "testing",
  695. fn: function (){
  696. var self=this,$self=this;
  697. var d,obj;
  698. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  699. return $core.withContext(function($ctx1) {
  700. //>>excludeEnd("ctx");
  701. var $1;
  702. d=$recv($self._testedClass())._fromElement_($self["@fixtureDiv"]);
  703. obj=$recv($globals.JSON)._parse_("{}");
  704. $recv(d).__lt_lt(obj);
  705. $1=$recv(">sentinel".__comma($recv(obj)._asString())).__comma("</div>");
  706. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  707. $ctx1.sendIdx[","]=1;
  708. //>>excludeEnd("ctx");
  709. $self._assertBodyEndsWith_($1);
  710. return self;
  711. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  712. }, function($ctx1) {$ctx1.fill(self,"testInsertStringifiedJSObject",{d:d,obj:obj},$globals.DOMiteTest)});
  713. //>>excludeEnd("ctx");
  714. },
  715. //>>excludeStart("ide", pragmas.excludeIdeData);
  716. args: [],
  717. 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>'",
  718. referencedClasses: ["JSON"],
  719. //>>excludeEnd("ide");
  720. messageSends: ["fromElement:", "testedClass", "parse:", "<<", "assertBodyEndsWith:", ",", "asString"]
  721. }),
  722. $globals.DOMiteTest);
  723. $core.addMethod(
  724. $core.method({
  725. selector: "testInsertStringifiedNumber",
  726. protocol: "testing",
  727. fn: function (){
  728. var self=this,$self=this;
  729. var d;
  730. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  731. return $core.withContext(function($ctx1) {
  732. //>>excludeEnd("ctx");
  733. d=$recv($self._testedClass())._fromElement_($self["@fixtureDiv"]);
  734. $recv(d).__lt_lt((42));
  735. $self._assertBodyEndsWith_(">sentinel42</div>");
  736. return self;
  737. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  738. }, function($ctx1) {$ctx1.fill(self,"testInsertStringifiedNumber",{d:d},$globals.DOMiteTest)});
  739. //>>excludeEnd("ctx");
  740. },
  741. //>>excludeStart("ide", pragmas.excludeIdeData);
  742. args: [],
  743. source: "testInsertStringifiedNumber\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << 42.\x0a\x09self assertBodyEndsWith: '>sentinel42</div>'",
  744. referencedClasses: [],
  745. //>>excludeEnd("ide");
  746. messageSends: ["fromElement:", "testedClass", "<<", "assertBodyEndsWith:"]
  747. }),
  748. $globals.DOMiteTest);
  749. $core.addMethod(
  750. $core.method({
  751. selector: "testInsertTable",
  752. protocol: "testing",
  753. fn: function (){
  754. var self=this,$self=this;
  755. var d,tbl,tr;
  756. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  757. return $core.withContext(function($ctx1) {
  758. //>>excludeEnd("ctx");
  759. var $1,$2,$3,$4,$7,$6,$5,$8,$11,$10,$9,$12,$15,$14,$13,$16,$17,$20,$19,$18,$21,$24,$23,$22,$25,$26;
  760. $1=$self._testedClass();
  761. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  762. $ctx1.sendIdx["testedClass"]=1;
  763. //>>excludeEnd("ctx");
  764. d=$recv($1)._at_("html body div#fixture");
  765. $2=$self._testedClass();
  766. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  767. $ctx1.sendIdx["testedClass"]=2;
  768. //>>excludeEnd("ctx");
  769. tbl=$recv($2)._newElement_("table");
  770. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  771. $ctx1.sendIdx["newElement:"]=1;
  772. //>>excludeEnd("ctx");
  773. $3=$self._testedClass();
  774. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  775. $ctx1.sendIdx["testedClass"]=3;
  776. //>>excludeEnd("ctx");
  777. tr=$recv($3)._newElement_("tr");
  778. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  779. $ctx1.sendIdx["newElement:"]=2;
  780. //>>excludeEnd("ctx");
  781. $4=tr;
  782. $7=$self._testedClass();
  783. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  784. $ctx1.sendIdx["testedClass"]=4;
  785. //>>excludeEnd("ctx");
  786. $6=$recv($7)._newElement_("td");
  787. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  788. $ctx1.sendIdx["newElement:"]=3;
  789. //>>excludeEnd("ctx");
  790. $5=$recv($6).__lt_lt("A");
  791. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  792. $ctx1.sendIdx["<<"]=2;
  793. //>>excludeEnd("ctx");
  794. $recv($4).__lt_lt($5);
  795. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  796. $ctx1.sendIdx["<<"]=1;
  797. //>>excludeEnd("ctx");
  798. $8=tr;
  799. $11=$self._testedClass();
  800. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  801. $ctx1.sendIdx["testedClass"]=5;
  802. //>>excludeEnd("ctx");
  803. $10=$recv($11)._newElement_("td");
  804. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  805. $ctx1.sendIdx["newElement:"]=4;
  806. //>>excludeEnd("ctx");
  807. $9=$recv($10).__lt_lt("B");
  808. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  809. $ctx1.sendIdx["<<"]=4;
  810. //>>excludeEnd("ctx");
  811. $recv($8).__lt_lt($9);
  812. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  813. $ctx1.sendIdx["<<"]=3;
  814. //>>excludeEnd("ctx");
  815. $12=tr;
  816. $15=$self._testedClass();
  817. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  818. $ctx1.sendIdx["testedClass"]=6;
  819. //>>excludeEnd("ctx");
  820. $14=$recv($15)._newElement_("td");
  821. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  822. $ctx1.sendIdx["newElement:"]=5;
  823. //>>excludeEnd("ctx");
  824. $13=$recv($14).__lt_lt("C");
  825. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  826. $ctx1.sendIdx["<<"]=6;
  827. //>>excludeEnd("ctx");
  828. $recv($12).__lt_lt($13);
  829. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  830. $ctx1.sendIdx["<<"]=5;
  831. //>>excludeEnd("ctx");
  832. $recv(tbl).__lt_lt(tr);
  833. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  834. $ctx1.sendIdx["<<"]=7;
  835. //>>excludeEnd("ctx");
  836. $16=$self._testedClass();
  837. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  838. $ctx1.sendIdx["testedClass"]=7;
  839. //>>excludeEnd("ctx");
  840. tr=$recv($16)._newElement_("tr");
  841. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  842. $ctx1.sendIdx["newElement:"]=6;
  843. //>>excludeEnd("ctx");
  844. $17=tr;
  845. $20=$self._testedClass();
  846. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  847. $ctx1.sendIdx["testedClass"]=8;
  848. //>>excludeEnd("ctx");
  849. $19=$recv($20)._newElement_("td");
  850. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  851. $ctx1.sendIdx["newElement:"]=7;
  852. //>>excludeEnd("ctx");
  853. $18=$recv($19).__lt_lt("D");
  854. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  855. $ctx1.sendIdx["<<"]=9;
  856. //>>excludeEnd("ctx");
  857. $recv($17).__lt_lt($18);
  858. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  859. $ctx1.sendIdx["<<"]=8;
  860. //>>excludeEnd("ctx");
  861. $21=tr;
  862. $24=$self._testedClass();
  863. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  864. $ctx1.sendIdx["testedClass"]=9;
  865. //>>excludeEnd("ctx");
  866. $23=$recv($24)._newElement_("td");
  867. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  868. $ctx1.sendIdx["newElement:"]=8;
  869. //>>excludeEnd("ctx");
  870. $22=$recv($23).__lt_lt("E");
  871. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  872. $ctx1.sendIdx["<<"]=11;
  873. //>>excludeEnd("ctx");
  874. $recv($21).__lt_lt($22);
  875. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  876. $ctx1.sendIdx["<<"]=10;
  877. //>>excludeEnd("ctx");
  878. $25=tr;
  879. $26=$recv($recv($self._testedClass())._newElement_("td")).__lt_lt("F");
  880. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  881. $ctx1.sendIdx["<<"]=13;
  882. //>>excludeEnd("ctx");
  883. $recv($25).__lt_lt($26);
  884. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  885. $ctx1.sendIdx["<<"]=12;
  886. //>>excludeEnd("ctx");
  887. $recv(tbl).__lt_lt(tr);
  888. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  889. $ctx1.sendIdx["<<"]=14;
  890. //>>excludeEnd("ctx");
  891. $recv(d).__lt_lt(tbl);
  892. $self._assertBodyEndsWith_(">sentinel<table><tr><td>A</td><td>B</td><td>C</td></tr><tr><td>D</td><td>E</td><td>F</td></tr></table></div>");
  893. return self;
  894. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  895. }, function($ctx1) {$ctx1.fill(self,"testInsertTable",{d:d,tbl:tbl,tr:tr},$globals.DOMiteTest)});
  896. //>>excludeEnd("ctx");
  897. },
  898. //>>excludeStart("ide", pragmas.excludeIdeData);
  899. args: [],
  900. source: "testInsertTable\x0a\x09| d tbl tr |\x0a\x09d := self testedClass at: 'html body div#fixture'.\x0a\x09tbl := self testedClass newElement: 'table'.\x0a\x09\x0a\x09tr := self testedClass newElement: 'tr'.\x0a\x09tr << ((self testedClass newElement: 'td') << 'A').\x0a\x09tr << ((self testedClass newElement: 'td') << 'B').\x0a\x09tr << ((self testedClass newElement: 'td') << 'C').\x0a\x09\x0a\x09tbl << tr.\x0a\x09\x0a\x09tr := self testedClass newElement: 'tr'.\x0a\x09tr << ((self testedClass newElement: 'td') << 'D').\x0a\x09tr << ((self testedClass newElement: 'td') << 'E').\x0a\x09tr << ((self testedClass newElement: 'td') << 'F').\x0a\x09\x0a\x09tbl << tr.\x0a\x09d << tbl.\x0a\x09 \x0a\x09self assertBodyEndsWith: '>sentinel<table><tr><td>A</td><td>B</td><td>C</td></tr><tr><td>D</td><td>E</td><td>F</td></tr></table></div>'",
  901. referencedClasses: [],
  902. //>>excludeEnd("ide");
  903. messageSends: ["at:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  904. }),
  905. $globals.DOMiteTest);
  906. $core.addMethod(
  907. $core.method({
  908. selector: "testMultipleInserts",
  909. protocol: "testing",
  910. fn: function (){
  911. var self=this,$self=this;
  912. var d,p,s;
  913. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  914. return $core.withContext(function($ctx1) {
  915. //>>excludeEnd("ctx");
  916. var $1,$2;
  917. $1=$self._testedClass();
  918. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  919. $ctx1.sendIdx["testedClass"]=1;
  920. //>>excludeEnd("ctx");
  921. d=$recv($1)._fromElement_($self["@fixtureDiv"]);
  922. $2=$self._testedClass();
  923. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  924. $ctx1.sendIdx["testedClass"]=2;
  925. //>>excludeEnd("ctx");
  926. p=$recv($2)._newElement_("p");
  927. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  928. $ctx1.sendIdx["newElement:"]=1;
  929. //>>excludeEnd("ctx");
  930. $recv(d).__lt_lt(p);
  931. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  932. $ctx1.sendIdx["<<"]=1;
  933. //>>excludeEnd("ctx");
  934. s=$recv($self._testedClass())._newElement_("span");
  935. $recv(d).__lt_lt(s);
  936. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  937. $ctx1.sendIdx["<<"]=2;
  938. //>>excludeEnd("ctx");
  939. $recv(d).__lt_lt("dom-mite");
  940. $self._assertBodyEndsWith_(">sentinel<p></p><span></span>dom-mite</div>");
  941. return self;
  942. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  943. }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s},$globals.DOMiteTest)});
  944. //>>excludeEnd("ctx");
  945. },
  946. //>>excludeStart("ide", pragmas.excludeIdeData);
  947. args: [],
  948. source: "testMultipleInserts\x0a\x09| d p s |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09p := self testedClass newElement: 'p'.\x0a\x09d << p.\x0a\x09s := self testedClass newElement: 'span'.\x0a\x09d << s.\x0a\x09d << 'dom-mite'.\x0a\x09self assertBodyEndsWith: '>sentinel<p></p><span></span>dom-mite</div>'",
  949. referencedClasses: [],
  950. //>>excludeEnd("ide");
  951. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  952. }),
  953. $globals.DOMiteTest);
  954. $core.addMethod(
  955. $core.method({
  956. selector: "testMultipleInsertsWithClear",
  957. protocol: "testing",
  958. fn: function (){
  959. var self=this,$self=this;
  960. var d,p,s;
  961. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  962. return $core.withContext(function($ctx1) {
  963. //>>excludeEnd("ctx");
  964. var $1,$2;
  965. $1=$self._testedClass();
  966. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  967. $ctx1.sendIdx["testedClass"]=1;
  968. //>>excludeEnd("ctx");
  969. d=$recv($1)._at_("#fixture");
  970. $2=$self._testedClass();
  971. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  972. $ctx1.sendIdx["testedClass"]=2;
  973. //>>excludeEnd("ctx");
  974. p=$recv($2)._newElement_("p");
  975. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  976. $ctx1.sendIdx["newElement:"]=1;
  977. //>>excludeEnd("ctx");
  978. $recv(d).__lt_lt(p);
  979. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  980. $ctx1.sendIdx["<<"]=1;
  981. //>>excludeEnd("ctx");
  982. s=$recv($self._testedClass())._newElement_("span");
  983. $recv(d).__lt_lt(s);
  984. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  985. $ctx1.sendIdx["<<"]=2;
  986. //>>excludeEnd("ctx");
  987. $recv(d)._resetContents();
  988. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  989. $ctx1.sendIdx["resetContents"]=1;
  990. //>>excludeEnd("ctx");
  991. $recv(d).__lt_lt("dom-mite");
  992. $recv(d)._resetContents();
  993. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  994. $ctx1.sendIdx["resetContents"]=2;
  995. //>>excludeEnd("ctx");
  996. $recv(d)._resetContents();
  997. $self._assertBodyEndsWith_("></div>");
  998. return self;
  999. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1000. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s},$globals.DOMiteTest)});
  1001. //>>excludeEnd("ctx");
  1002. },
  1003. //>>excludeStart("ide", pragmas.excludeIdeData);
  1004. args: [],
  1005. source: "testMultipleInsertsWithClear\x0a\x09| d p s |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09p := self testedClass newElement: 'p'.\x0a\x09d << p.\x0a\x09s := self testedClass newElement: 'span'.\x0a\x09d << s.\x0a\x09d resetContents.\x0a\x09d << 'dom-mite'.\x0a\x09d resetContents.\x0a\x09d resetContents.\x0a\x09self assertBodyEndsWith: '></div>'",
  1006. referencedClasses: [],
  1007. //>>excludeEnd("ide");
  1008. messageSends: ["at:", "testedClass", "newElement:", "<<", "resetContents", "assertBodyEndsWith:"]
  1009. }),
  1010. $globals.DOMiteTest);
  1011. $core.addMethod(
  1012. $core.method({
  1013. selector: "testMultipleInsertsWithClearInBetween",
  1014. protocol: "testing",
  1015. fn: function (){
  1016. var self=this,$self=this;
  1017. var d,p,s;
  1018. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1019. return $core.withContext(function($ctx1) {
  1020. //>>excludeEnd("ctx");
  1021. var $1,$2;
  1022. $1=$self._testedClass();
  1023. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1024. $ctx1.sendIdx["testedClass"]=1;
  1025. //>>excludeEnd("ctx");
  1026. d=$recv($1)._fromElement_($self["@fixtureDiv"]);
  1027. $2=$self._testedClass();
  1028. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1029. $ctx1.sendIdx["testedClass"]=2;
  1030. //>>excludeEnd("ctx");
  1031. p=$recv($2)._newElement_("p");
  1032. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1033. $ctx1.sendIdx["newElement:"]=1;
  1034. //>>excludeEnd("ctx");
  1035. $recv(d).__lt_lt(p);
  1036. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1037. $ctx1.sendIdx["<<"]=1;
  1038. //>>excludeEnd("ctx");
  1039. s=$recv($self._testedClass())._newElement_("span");
  1040. $recv(d).__lt_lt(s);
  1041. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1042. $ctx1.sendIdx["<<"]=2;
  1043. //>>excludeEnd("ctx");
  1044. $recv(d)._resetContents();
  1045. $recv(d).__lt_lt("dom-mite");
  1046. $self._assertBodyEndsWith_(">dom-mite</div>");
  1047. return self;
  1048. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1049. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s},$globals.DOMiteTest)});
  1050. //>>excludeEnd("ctx");
  1051. },
  1052. //>>excludeStart("ide", pragmas.excludeIdeData);
  1053. args: [],
  1054. source: "testMultipleInsertsWithClearInBetween\x0a\x09| d p s |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09p := self testedClass newElement: 'p'.\x0a\x09d << p.\x0a\x09s := self testedClass newElement: 'span'.\x0a\x09d << s.\x0a\x09d resetContents.\x0a\x09d << 'dom-mite'.\x0a\x09self assertBodyEndsWith: '>dom-mite</div>'",
  1055. referencedClasses: [],
  1056. //>>excludeEnd("ide");
  1057. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "resetContents", "assertBodyEndsWith:"]
  1058. }),
  1059. $globals.DOMiteTest);
  1060. $core.addMethod(
  1061. $core.method({
  1062. selector: "testedClass",
  1063. protocol: "fixture",
  1064. fn: function (){
  1065. var self=this,$self=this;
  1066. return $globals.Domite;
  1067. },
  1068. //>>excludeStart("ide", pragmas.excludeIdeData);
  1069. args: [],
  1070. source: "testedClass\x0a\x0a\x09^ Domite",
  1071. referencedClasses: ["Domite"],
  1072. //>>excludeEnd("ide");
  1073. messageSends: []
  1074. }),
  1075. $globals.DOMiteTest);
  1076. });