DOMite-Tests.js 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996
  1. define("domite/DOMite-Tests", ["amber/boot", "amber_core/SUnit"], function($boot){
  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. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  668. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  669. return $core.withContext(function($ctx1) {
  670. //>>excludeEnd("ctx");
  671. var $1,$2,$3,$4,$7,$6,$5,$8,$11,$10,$9,$12,$14,$13,$15,$17,$16,$18,$20,$19,$21,$22;
  672. $1=self._testedClass();
  673. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  674. $ctx1.sendIdx["testedClass"]=1;
  675. //>>excludeEnd("ctx");
  676. d=$recv($1)._at_("html body div#fixture");
  677. $2=self._testedClass();
  678. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  679. $ctx1.sendIdx["testedClass"]=2;
  680. //>>excludeEnd("ctx");
  681. tbl=$recv($2)._newElement_("table");
  682. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  683. $ctx1.sendIdx["newElement:"]=1;
  684. //>>excludeEnd("ctx");
  685. $3=self._testedClass();
  686. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  687. $ctx1.sendIdx["testedClass"]=3;
  688. //>>excludeEnd("ctx");
  689. tr=$recv($3)._newElement_("tr");
  690. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  691. $ctx1.sendIdx["newElement:"]=2;
  692. //>>excludeEnd("ctx");
  693. $4=tr;
  694. $7=self._testedClass();
  695. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  696. $ctx1.sendIdx["testedClass"]=4;
  697. //>>excludeEnd("ctx");
  698. $6=$recv($7)._newElement_("td");
  699. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  700. $ctx1.sendIdx["newElement:"]=3;
  701. //>>excludeEnd("ctx");
  702. $5=$recv($6).__lt_lt("A");
  703. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  704. $ctx1.sendIdx["<<"]=2;
  705. //>>excludeEnd("ctx");
  706. $recv($4).__lt_lt($5);
  707. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  708. $ctx1.sendIdx["<<"]=1;
  709. //>>excludeEnd("ctx");
  710. $8=tr;
  711. $11=self._testedClass();
  712. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  713. $ctx1.sendIdx["testedClass"]=5;
  714. //>>excludeEnd("ctx");
  715. $10=$recv($11)._newElement_("td");
  716. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  717. $ctx1.sendIdx["newElement:"]=4;
  718. //>>excludeEnd("ctx");
  719. $9=$recv($10).__lt_lt("B");
  720. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  721. $ctx1.sendIdx["<<"]=4;
  722. //>>excludeEnd("ctx");
  723. $recv($8).__lt_lt($9);
  724. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  725. $ctx1.sendIdx["<<"]=3;
  726. //>>excludeEnd("ctx");
  727. $12=tr;
  728. $14=$recv(self._testedClass())._newElement_("td");
  729. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  730. $ctx1.sendIdx["newElement:"]=5;
  731. //>>excludeEnd("ctx");
  732. $13=$recv($14).__lt_lt("C");
  733. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  734. $ctx1.sendIdx["<<"]=6;
  735. //>>excludeEnd("ctx");
  736. $recv($12).__lt_lt($13);
  737. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  738. $ctx1.sendIdx["<<"]=5;
  739. //>>excludeEnd("ctx");
  740. $recv(tbl).__lt_lt(tr);
  741. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  742. $ctx1.sendIdx["<<"]=7;
  743. //>>excludeEnd("ctx");
  744. tr=$recv($Domite())._newElement_("tr");
  745. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  746. $ctx1.sendIdx["newElement:"]=6;
  747. //>>excludeEnd("ctx");
  748. $15=tr;
  749. $17=$recv($Domite())._newElement_("td");
  750. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  751. $ctx1.sendIdx["newElement:"]=7;
  752. //>>excludeEnd("ctx");
  753. $16=$recv($17).__lt_lt("D");
  754. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  755. $ctx1.sendIdx["<<"]=9;
  756. //>>excludeEnd("ctx");
  757. $recv($15).__lt_lt($16);
  758. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  759. $ctx1.sendIdx["<<"]=8;
  760. //>>excludeEnd("ctx");
  761. $18=tr;
  762. $20=$recv($Domite())._newElement_("td");
  763. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  764. $ctx1.sendIdx["newElement:"]=8;
  765. //>>excludeEnd("ctx");
  766. $19=$recv($20).__lt_lt("E");
  767. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  768. $ctx1.sendIdx["<<"]=11;
  769. //>>excludeEnd("ctx");
  770. $recv($18).__lt_lt($19);
  771. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  772. $ctx1.sendIdx["<<"]=10;
  773. //>>excludeEnd("ctx");
  774. $21=tr;
  775. $22=$recv($recv($Domite())._newElement_("td")).__lt_lt("F");
  776. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  777. $ctx1.sendIdx["<<"]=13;
  778. //>>excludeEnd("ctx");
  779. $recv($21).__lt_lt($22);
  780. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  781. $ctx1.sendIdx["<<"]=12;
  782. //>>excludeEnd("ctx");
  783. $recv(tbl).__lt_lt(tr);
  784. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  785. $ctx1.sendIdx["<<"]=14;
  786. //>>excludeEnd("ctx");
  787. $recv(d).__lt_lt(tbl);
  788. 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>");
  789. return self;
  790. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  791. }, function($ctx1) {$ctx1.fill(self,"testInsertTable",{d:d,tbl:tbl,tr:tr},$globals.DOMiteTest)});
  792. //>>excludeEnd("ctx");
  793. },
  794. //>>excludeStart("ide", pragmas.excludeIdeData);
  795. args: [],
  796. 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 := Domite newElement: 'tr'.\x0a\x09tr << ((Domite newElement: 'td') << 'D').\x0a\x09tr << ((Domite newElement: 'td') << 'E').\x0a\x09tr << ((Domite 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>'",
  797. referencedClasses: ["Domite"],
  798. //>>excludeEnd("ide");
  799. messageSends: ["at:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  800. }),
  801. $globals.DOMiteTest);
  802. $core.addMethod(
  803. $core.method({
  804. selector: "testMultipleInserts",
  805. protocol: 'testing',
  806. fn: function (){
  807. var self=this;
  808. var d,p,s;
  809. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  810. return $core.withContext(function($ctx1) {
  811. //>>excludeEnd("ctx");
  812. var $1,$2;
  813. $1=self._testedClass();
  814. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  815. $ctx1.sendIdx["testedClass"]=1;
  816. //>>excludeEnd("ctx");
  817. d=$recv($1)._fromElement_(self["@fixtureDiv"]);
  818. $2=self._testedClass();
  819. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  820. $ctx1.sendIdx["testedClass"]=2;
  821. //>>excludeEnd("ctx");
  822. p=$recv($2)._newElement_("p");
  823. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  824. $ctx1.sendIdx["newElement:"]=1;
  825. //>>excludeEnd("ctx");
  826. $recv(d).__lt_lt(p);
  827. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  828. $ctx1.sendIdx["<<"]=1;
  829. //>>excludeEnd("ctx");
  830. s=$recv(self._testedClass())._newElement_("span");
  831. $recv(d).__lt_lt(s);
  832. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  833. $ctx1.sendIdx["<<"]=2;
  834. //>>excludeEnd("ctx");
  835. $recv(d).__lt_lt("dom-mite");
  836. self._assertBodyEndsWith_(">sentinel<p></p><span></span>dom-mite</div>");
  837. return self;
  838. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  839. }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s},$globals.DOMiteTest)});
  840. //>>excludeEnd("ctx");
  841. },
  842. //>>excludeStart("ide", pragmas.excludeIdeData);
  843. args: [],
  844. 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>'",
  845. referencedClasses: [],
  846. //>>excludeEnd("ide");
  847. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  848. }),
  849. $globals.DOMiteTest);
  850. $core.addMethod(
  851. $core.method({
  852. selector: "testMultipleInsertsWithClear",
  853. protocol: 'testing',
  854. fn: function (){
  855. var self=this;
  856. var d,p,s;
  857. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  858. return $core.withContext(function($ctx1) {
  859. //>>excludeEnd("ctx");
  860. var $1,$2;
  861. $1=self._testedClass();
  862. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  863. $ctx1.sendIdx["testedClass"]=1;
  864. //>>excludeEnd("ctx");
  865. d=$recv($1)._at_("#fixture");
  866. $2=self._testedClass();
  867. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  868. $ctx1.sendIdx["testedClass"]=2;
  869. //>>excludeEnd("ctx");
  870. p=$recv($2)._newElement_("p");
  871. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  872. $ctx1.sendIdx["newElement:"]=1;
  873. //>>excludeEnd("ctx");
  874. $recv(d).__lt_lt(p);
  875. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  876. $ctx1.sendIdx["<<"]=1;
  877. //>>excludeEnd("ctx");
  878. s=$recv(self._testedClass())._newElement_("span");
  879. $recv(d).__lt_lt(s);
  880. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  881. $ctx1.sendIdx["<<"]=2;
  882. //>>excludeEnd("ctx");
  883. $recv(d)._resetContents();
  884. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  885. $ctx1.sendIdx["resetContents"]=1;
  886. //>>excludeEnd("ctx");
  887. $recv(d).__lt_lt("dom-mite");
  888. $recv(d)._resetContents();
  889. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  890. $ctx1.sendIdx["resetContents"]=2;
  891. //>>excludeEnd("ctx");
  892. $recv(d)._resetContents();
  893. self._assertBodyEndsWith_("></div>");
  894. return self;
  895. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  896. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s},$globals.DOMiteTest)});
  897. //>>excludeEnd("ctx");
  898. },
  899. //>>excludeStart("ide", pragmas.excludeIdeData);
  900. args: [],
  901. 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>'",
  902. referencedClasses: [],
  903. //>>excludeEnd("ide");
  904. messageSends: ["at:", "testedClass", "newElement:", "<<", "resetContents", "assertBodyEndsWith:"]
  905. }),
  906. $globals.DOMiteTest);
  907. $core.addMethod(
  908. $core.method({
  909. selector: "testMultipleInsertsWithClearInBetween",
  910. protocol: 'testing',
  911. fn: function (){
  912. var self=this;
  913. var d,p,s;
  914. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  915. return $core.withContext(function($ctx1) {
  916. //>>excludeEnd("ctx");
  917. var $1,$2;
  918. $1=self._testedClass();
  919. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  920. $ctx1.sendIdx["testedClass"]=1;
  921. //>>excludeEnd("ctx");
  922. d=$recv($1)._fromElement_(self["@fixtureDiv"]);
  923. $2=self._testedClass();
  924. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  925. $ctx1.sendIdx["testedClass"]=2;
  926. //>>excludeEnd("ctx");
  927. p=$recv($2)._newElement_("p");
  928. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  929. $ctx1.sendIdx["newElement:"]=1;
  930. //>>excludeEnd("ctx");
  931. $recv(d).__lt_lt(p);
  932. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  933. $ctx1.sendIdx["<<"]=1;
  934. //>>excludeEnd("ctx");
  935. s=$recv(self._testedClass())._newElement_("span");
  936. $recv(d).__lt_lt(s);
  937. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  938. $ctx1.sendIdx["<<"]=2;
  939. //>>excludeEnd("ctx");
  940. $recv(d)._resetContents();
  941. $recv(d).__lt_lt("dom-mite");
  942. self._assertBodyEndsWith_(">dom-mite</div>");
  943. return self;
  944. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  945. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s},$globals.DOMiteTest)});
  946. //>>excludeEnd("ctx");
  947. },
  948. //>>excludeStart("ide", pragmas.excludeIdeData);
  949. args: [],
  950. 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>'",
  951. referencedClasses: [],
  952. //>>excludeEnd("ide");
  953. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "resetContents", "assertBodyEndsWith:"]
  954. }),
  955. $globals.DOMiteTest);
  956. $core.addMethod(
  957. $core.method({
  958. selector: "testedClass",
  959. protocol: 'fixture',
  960. fn: function (){
  961. var self=this;
  962. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  963. return $Domite();
  964. },
  965. //>>excludeStart("ide", pragmas.excludeIdeData);
  966. args: [],
  967. source: "testedClass\x0a\x0a\x09^ Domite",
  968. referencedClasses: ["Domite"],
  969. //>>excludeEnd("ide");
  970. messageSends: []
  971. }),
  972. $globals.DOMiteTest);
  973. });