DOMite-Tests.js 41 KB

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