DOMite-Tests.js 37 KB

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