DOMite-Tests.js 36 KB

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