DOMite-Tests.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625
  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: "setUp",
  10. protocol: 'fixture',
  11. fn: function (){
  12. var self=this;
  13. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  14. return $core.withContext(function($ctx1) {
  15. //>>excludeEnd("ctx");
  16. self["@fixtureDiv"]=$recv(document)._createElement_("div");
  17. $recv($recv(document)._body())._appendChild_(self["@fixtureDiv"]);
  18. $recv(self["@fixtureDiv"])._setAttribute_to_("id","fixture");
  19. $recv(self["@fixtureDiv"])._innerHTML_("sentinel");
  20. return self;
  21. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  22. }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.DOMiteTest)});
  23. //>>excludeEnd("ctx");
  24. },
  25. //>>excludeStart("ide", pragmas.excludeIdeData);
  26. args: [],
  27. source: "setUp\x0a\x09fixtureDiv := document createElement: 'div'.\x0a\x09document body appendChild: fixtureDiv.\x0a\x09fixtureDiv setAttribute: 'id' to: 'fixture'.\x0a\x09fixtureDiv innerHTML: 'sentinel'",
  28. referencedClasses: [],
  29. //>>excludeEnd("ide");
  30. messageSends: ["createElement:", "appendChild:", "body", "setAttribute:to:", "innerHTML:"]
  31. }),
  32. $globals.DOMiteTest);
  33. $core.addMethod(
  34. $core.method({
  35. selector: "tearDown",
  36. protocol: 'fixture',
  37. fn: function (){
  38. var self=this;
  39. var lastChild;
  40. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  41. return $core.withContext(function($ctx1) {
  42. //>>excludeEnd("ctx");
  43. var $1;
  44. $1=$recv(document)._body();
  45. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  46. $ctx1.sendIdx["body"]=1;
  47. //>>excludeEnd("ctx");
  48. lastChild=$recv($1)._lastChild();
  49. self._assert_equals_(lastChild,self["@fixtureDiv"]);
  50. $recv($recv(document)._body())._removeChild_(lastChild);
  51. return self;
  52. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  53. }, function($ctx1) {$ctx1.fill(self,"tearDown",{lastChild:lastChild},$globals.DOMiteTest)});
  54. //>>excludeEnd("ctx");
  55. },
  56. //>>excludeStart("ide", pragmas.excludeIdeData);
  57. args: [],
  58. source: "tearDown\x0a\x09| lastChild |\x0a\x09lastChild := document body lastChild.\x0a\x09self assert: lastChild equals: fixtureDiv.\x0a\x09document body removeChild: lastChild",
  59. referencedClasses: [],
  60. //>>excludeEnd("ide");
  61. messageSends: ["lastChild", "body", "assert:equals:", "removeChild:"]
  62. }),
  63. $globals.DOMiteTest);
  64. $core.addMethod(
  65. $core.method({
  66. selector: "testDefaultInsertElement",
  67. protocol: 'testing',
  68. fn: function (){
  69. var self=this;
  70. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  71. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  72. return $core.withContext(function($ctx1) {
  73. //>>excludeEnd("ctx");
  74. var $3,$2,$1,$4;
  75. $recv($recv($Domite())._new())._insertDomite_($recv($Domite())._newElement_("p"));
  76. $3=$recv(document)._body();
  77. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  78. $ctx1.sendIdx["body"]=1;
  79. //>>excludeEnd("ctx");
  80. $2=$recv($3)._innerHTML();
  81. $1=$recv($2)._endsWith_("<p></p>");
  82. self._assert_($1);
  83. $4=$recv(document)._body();
  84. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  85. $ctx1.sendIdx["body"]=2;
  86. //>>excludeEnd("ctx");
  87. $recv($4)._removeChild_($recv($recv(document)._body())._lastChild());
  88. return self;
  89. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  90. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertElement",{},$globals.DOMiteTest)});
  91. //>>excludeEnd("ctx");
  92. },
  93. //>>excludeStart("ide", pragmas.excludeIdeData);
  94. args: [],
  95. source: "testDefaultInsertElement\x0a\x09Domite new insertDomite: (Domite newElement: 'p').\x0a\x09self assert: (document body innerHTML endsWith: '<p></p>').\x0a\x09document body removeChild: document body lastChild",
  96. referencedClasses: ["Domite"],
  97. //>>excludeEnd("ide");
  98. messageSends: ["insertDomite:", "new", "newElement:", "assert:", "endsWith:", "innerHTML", "body", "removeChild:", "lastChild"]
  99. }),
  100. $globals.DOMiteTest);
  101. $core.addMethod(
  102. $core.method({
  103. selector: "testDefaultInsertString",
  104. protocol: 'testing',
  105. fn: function (){
  106. var self=this;
  107. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  108. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  109. return $core.withContext(function($ctx1) {
  110. //>>excludeEnd("ctx");
  111. var $3,$2,$1,$4;
  112. $recv($recv($Domite())._new())._insertString_("a foo in a bar");
  113. $3=$recv(document)._body();
  114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  115. $ctx1.sendIdx["body"]=1;
  116. //>>excludeEnd("ctx");
  117. $2=$recv($3)._innerHTML();
  118. $1=$recv($2)._endsWith_("a foo in a bar");
  119. self._assert_($1);
  120. $4=$recv(document)._body();
  121. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  122. $ctx1.sendIdx["body"]=2;
  123. //>>excludeEnd("ctx");
  124. $recv($4)._removeChild_($recv($recv(document)._body())._lastChild());
  125. return self;
  126. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  127. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertString",{},$globals.DOMiteTest)});
  128. //>>excludeEnd("ctx");
  129. },
  130. //>>excludeStart("ide", pragmas.excludeIdeData);
  131. args: [],
  132. source: "testDefaultInsertString\x0a\x09Domite new insertString: 'a foo in a bar'.\x0a\x09self assert: (document body innerHTML endsWith: 'a foo in a bar').\x0a\x09document body removeChild: document body lastChild",
  133. referencedClasses: ["Domite"],
  134. //>>excludeEnd("ide");
  135. messageSends: ["insertString:", "new", "assert:", "endsWith:", "innerHTML", "body", "removeChild:", "lastChild"]
  136. }),
  137. $globals.DOMiteTest);
  138. $core.addMethod(
  139. $core.method({
  140. selector: "testDefaultInsertStringInFragment",
  141. protocol: 'testing',
  142. fn: function (){
  143. var self=this;
  144. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  145. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  146. return $core.withContext(function($ctx1) {
  147. //>>excludeEnd("ctx");
  148. var $1,$2,$5,$4,$3,$6;
  149. $1=$recv($Domite())._open();
  150. $recv($1)._insertString_("a foo in a bar");
  151. $2=$recv($1)._yourself();
  152. $recv($recv($Domite())._new())._insertDomite_($2);
  153. $5=$recv(document)._body();
  154. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  155. $ctx1.sendIdx["body"]=1;
  156. //>>excludeEnd("ctx");
  157. $4=$recv($5)._innerHTML();
  158. $3=$recv($4)._endsWith_("a foo in a bar");
  159. self._assert_($3);
  160. $6=$recv(document)._body();
  161. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  162. $ctx1.sendIdx["body"]=2;
  163. //>>excludeEnd("ctx");
  164. $recv($6)._removeChild_($recv($recv(document)._body())._lastChild());
  165. return self;
  166. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  167. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertStringInFragment",{},$globals.DOMiteTest)});
  168. //>>excludeEnd("ctx");
  169. },
  170. //>>excludeStart("ide", pragmas.excludeIdeData);
  171. args: [],
  172. source: "testDefaultInsertStringInFragment\x0a\x09Domite new insertDomite: (Domite open insertString: 'a foo in a bar'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: 'a foo in a bar').\x0a\x09document body removeChild: document body lastChild",
  173. referencedClasses: ["Domite"],
  174. //>>excludeEnd("ide");
  175. messageSends: ["insertDomite:", "new", "insertString:", "open", "yourself", "assert:", "endsWith:", "innerHTML", "body", "removeChild:", "lastChild"]
  176. }),
  177. $globals.DOMiteTest);
  178. $core.addMethod(
  179. $core.method({
  180. selector: "testInsertElement",
  181. protocol: 'testing',
  182. fn: function (){
  183. var self=this;
  184. var d;
  185. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  186. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  187. return $core.withContext(function($ctx1) {
  188. //>>excludeEnd("ctx");
  189. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  190. $recv(d)._insertDomite_($recv($Domite())._newElement_("p"));
  191. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p></div>"));
  192. return self;
  193. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  194. }, function($ctx1) {$ctx1.fill(self,"testInsertElement",{d:d},$globals.DOMiteTest)});
  195. //>>excludeEnd("ctx");
  196. },
  197. //>>excludeStart("ide", pragmas.excludeIdeData);
  198. args: [],
  199. source: "testInsertElement\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertDomite: (Domite newElement: 'p').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p></div>')",
  200. referencedClasses: ["Domite"],
  201. //>>excludeEnd("ide");
  202. messageSends: ["fromElement:", "insertDomite:", "newElement:", "assert:", "endsWith:", "innerHTML", "body"]
  203. }),
  204. $globals.DOMiteTest);
  205. $core.addMethod(
  206. $core.method({
  207. selector: "testInsertElementTwoLevel",
  208. protocol: 'testing',
  209. fn: function (){
  210. var self=this;
  211. var d,p,s;
  212. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  213. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  214. return $core.withContext(function($ctx1) {
  215. //>>excludeEnd("ctx");
  216. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  217. p=$recv($Domite())._newElement_("p");
  218. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  219. $ctx1.sendIdx["newElement:"]=1;
  220. //>>excludeEnd("ctx");
  221. $recv(d)._insertDomite_(p);
  222. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  223. $ctx1.sendIdx["insertDomite:"]=1;
  224. //>>excludeEnd("ctx");
  225. s=$recv($Domite())._newElement_("span");
  226. $recv(p)._insertDomite_(s);
  227. $recv(s)._insertString_("dom-mite");
  228. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  229. return self;
  230. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  231. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevel",{d:d,p:p,s:s},$globals.DOMiteTest)});
  232. //>>excludeEnd("ctx");
  233. },
  234. //>>excludeStart("ide", pragmas.excludeIdeData);
  235. args: [],
  236. source: "testInsertElementTwoLevel\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: s.\x0a\x09s insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
  237. referencedClasses: ["Domite"],
  238. //>>excludeEnd("ide");
  239. messageSends: ["fromElement:", "newElement:", "insertDomite:", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  240. }),
  241. $globals.DOMiteTest);
  242. $core.addMethod(
  243. $core.method({
  244. selector: "testInsertElementTwoLevelViaFragments",
  245. protocol: 'testing',
  246. fn: function (){
  247. var self=this;
  248. var d,p,s;
  249. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  250. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  251. return $core.withContext(function($ctx1) {
  252. //>>excludeEnd("ctx");
  253. var $1,$3,$4,$2,$5,$7,$8,$6,$9,$10;
  254. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  255. p=$recv($Domite())._newElement_("p");
  256. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  257. $ctx1.sendIdx["newElement:"]=1;
  258. //>>excludeEnd("ctx");
  259. $1=d;
  260. $3=$recv($Domite())._open();
  261. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  262. $ctx1.sendIdx["open"]=1;
  263. //>>excludeEnd("ctx");
  264. $recv($3)._insertDomite_(p);
  265. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  266. $ctx1.sendIdx["insertDomite:"]=2;
  267. //>>excludeEnd("ctx");
  268. $4=$recv($3)._yourself();
  269. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  270. $ctx1.sendIdx["yourself"]=1;
  271. //>>excludeEnd("ctx");
  272. $2=$4;
  273. $recv($1)._insertDomite_($2);
  274. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  275. $ctx1.sendIdx["insertDomite:"]=1;
  276. //>>excludeEnd("ctx");
  277. s=$recv($Domite())._newElement_("span");
  278. $5=p;
  279. $7=$recv($Domite())._open();
  280. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  281. $ctx1.sendIdx["open"]=2;
  282. //>>excludeEnd("ctx");
  283. $recv($7)._insertDomite_(s);
  284. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  285. $ctx1.sendIdx["insertDomite:"]=4;
  286. //>>excludeEnd("ctx");
  287. $8=$recv($7)._yourself();
  288. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  289. $ctx1.sendIdx["yourself"]=2;
  290. //>>excludeEnd("ctx");
  291. $6=$8;
  292. $recv($5)._insertDomite_($6);
  293. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  294. $ctx1.sendIdx["insertDomite:"]=3;
  295. //>>excludeEnd("ctx");
  296. $9=$recv($Domite())._open();
  297. $recv($9)._insertString_("dom-mite");
  298. $10=$recv($9)._yourself();
  299. $recv(s)._insertDomite_($10);
  300. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  301. return self;
  302. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  303. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  304. //>>excludeEnd("ctx");
  305. },
  306. //>>excludeStart("ide", pragmas.excludeIdeData);
  307. args: [],
  308. source: "testInsertElementTwoLevelViaFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: (Domite open insertDomite: p; yourself).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: (Domite open insertDomite: s; yourself).\x0a\x09s insertDomite: (Domite open insertString: 'dom-mite'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
  309. referencedClasses: ["Domite"],
  310. //>>excludeEnd("ide");
  311. messageSends: ["fromElement:", "newElement:", "insertDomite:", "open", "yourself", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  312. }),
  313. $globals.DOMiteTest);
  314. $core.addMethod(
  315. $core.method({
  316. selector: "testInsertElementTwoLevelViaTwoLevelFragments",
  317. protocol: 'testing',
  318. fn: function (){
  319. var self=this;
  320. var d,p,s;
  321. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  322. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  323. return $core.withContext(function($ctx1) {
  324. //>>excludeEnd("ctx");
  325. var $1,$3,$4,$6,$7,$5,$8,$2,$9,$11,$12,$14,$15,$13,$16,$10,$17,$19,$20,$22,$23,$21,$24,$18;
  326. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  327. p=$recv($Domite())._newElement_("p");
  328. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  329. $ctx1.sendIdx["newElement:"]=1;
  330. //>>excludeEnd("ctx");
  331. $1=d;
  332. $3=$recv($Domite())._open();
  333. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  334. $ctx1.sendIdx["open"]=1;
  335. //>>excludeEnd("ctx");
  336. $4=$3;
  337. $6=$recv($Domite())._open();
  338. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  339. $ctx1.sendIdx["open"]=2;
  340. //>>excludeEnd("ctx");
  341. $recv($6)._insertDomite_(p);
  342. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  343. $ctx1.sendIdx["insertDomite:"]=3;
  344. //>>excludeEnd("ctx");
  345. $7=$recv($6)._yourself();
  346. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  347. $ctx1.sendIdx["yourself"]=1;
  348. //>>excludeEnd("ctx");
  349. $5=$7;
  350. $recv($4)._insertDomite_($5);
  351. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  352. $ctx1.sendIdx["insertDomite:"]=2;
  353. //>>excludeEnd("ctx");
  354. $8=$recv($3)._yourself();
  355. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  356. $ctx1.sendIdx["yourself"]=2;
  357. //>>excludeEnd("ctx");
  358. $2=$8;
  359. $recv($1)._insertDomite_($2);
  360. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  361. $ctx1.sendIdx["insertDomite:"]=1;
  362. //>>excludeEnd("ctx");
  363. s=$recv($Domite())._newElement_("span");
  364. $9=p;
  365. $11=$recv($Domite())._open();
  366. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  367. $ctx1.sendIdx["open"]=3;
  368. //>>excludeEnd("ctx");
  369. $12=$11;
  370. $14=$recv($Domite())._open();
  371. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  372. $ctx1.sendIdx["open"]=4;
  373. //>>excludeEnd("ctx");
  374. $recv($14)._insertDomite_(s);
  375. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  376. $ctx1.sendIdx["insertDomite:"]=6;
  377. //>>excludeEnd("ctx");
  378. $15=$recv($14)._yourself();
  379. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  380. $ctx1.sendIdx["yourself"]=3;
  381. //>>excludeEnd("ctx");
  382. $13=$15;
  383. $recv($12)._insertDomite_($13);
  384. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  385. $ctx1.sendIdx["insertDomite:"]=5;
  386. //>>excludeEnd("ctx");
  387. $16=$recv($11)._yourself();
  388. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  389. $ctx1.sendIdx["yourself"]=4;
  390. //>>excludeEnd("ctx");
  391. $10=$16;
  392. $recv($9)._insertDomite_($10);
  393. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  394. $ctx1.sendIdx["insertDomite:"]=4;
  395. //>>excludeEnd("ctx");
  396. $17=s;
  397. $19=$recv($Domite())._open();
  398. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  399. $ctx1.sendIdx["open"]=5;
  400. //>>excludeEnd("ctx");
  401. $20=$19;
  402. $22=$recv($Domite())._open();
  403. $recv($22)._insertString_("dom-mite");
  404. $23=$recv($22)._yourself();
  405. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  406. $ctx1.sendIdx["yourself"]=5;
  407. //>>excludeEnd("ctx");
  408. $21=$23;
  409. $recv($20)._insertDomite_($21);
  410. $24=$recv($19)._yourself();
  411. $18=$24;
  412. $recv($17)._insertDomite_($18);
  413. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  414. $ctx1.sendIdx["insertDomite:"]=7;
  415. //>>excludeEnd("ctx");
  416. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  417. return self;
  418. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  419. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaTwoLevelFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  420. //>>excludeEnd("ctx");
  421. },
  422. //>>excludeStart("ide", pragmas.excludeIdeData);
  423. args: [],
  424. source: "testInsertElementTwoLevelViaTwoLevelFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: (Domite open insertDomite: (Domite open insertDomite: p; yourself); yourself).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p insertDomite: (Domite open insertDomite: (Domite open insertDomite: s; yourself); yourself).\x0a\x09s insertDomite: (Domite open insertDomite: (Domite open insertString: 'dom-mite'; yourself); yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
  425. referencedClasses: ["Domite"],
  426. //>>excludeEnd("ide");
  427. messageSends: ["fromElement:", "newElement:", "insertDomite:", "open", "yourself", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  428. }),
  429. $globals.DOMiteTest);
  430. $core.addMethod(
  431. $core.method({
  432. selector: "testInsertString",
  433. protocol: 'testing',
  434. fn: function (){
  435. var self=this;
  436. var d;
  437. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  438. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  439. return $core.withContext(function($ctx1) {
  440. //>>excludeEnd("ctx");
  441. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  442. $recv(d)._insertString_("a foo in a bar");
  443. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
  444. return self;
  445. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  446. }, function($ctx1) {$ctx1.fill(self,"testInsertString",{d:d},$globals.DOMiteTest)});
  447. //>>excludeEnd("ctx");
  448. },
  449. //>>excludeStart("ide", pragmas.excludeIdeData);
  450. args: [],
  451. source: "testInsertString\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertString: 'a foo in a bar'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
  452. referencedClasses: ["Domite"],
  453. //>>excludeEnd("ide");
  454. messageSends: ["fromElement:", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  455. }),
  456. $globals.DOMiteTest);
  457. $core.addMethod(
  458. $core.method({
  459. selector: "testInsertStringInFragment",
  460. protocol: 'testing',
  461. fn: function (){
  462. var self=this;
  463. var d;
  464. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  465. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  466. return $core.withContext(function($ctx1) {
  467. //>>excludeEnd("ctx");
  468. var $1,$2;
  469. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  470. $1=$recv($Domite())._open();
  471. $recv($1)._insertString_("a foo in a bar");
  472. $2=$recv($1)._yourself();
  473. $recv(d)._insertDomite_($2);
  474. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
  475. return self;
  476. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  477. }, function($ctx1) {$ctx1.fill(self,"testInsertStringInFragment",{d:d},$globals.DOMiteTest)});
  478. //>>excludeEnd("ctx");
  479. },
  480. //>>excludeStart("ide", pragmas.excludeIdeData);
  481. args: [],
  482. source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d insertDomite: (Domite open insertString: 'a foo in a bar'; yourself).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
  483. referencedClasses: ["Domite"],
  484. //>>excludeEnd("ide");
  485. messageSends: ["fromElement:", "insertDomite:", "insertString:", "open", "yourself", "assert:", "endsWith:", "innerHTML", "body"]
  486. }),
  487. $globals.DOMiteTest);
  488. $core.addMethod(
  489. $core.method({
  490. selector: "testMultipleInserts",
  491. protocol: 'testing',
  492. fn: function (){
  493. var self=this;
  494. var d,p,s;
  495. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  496. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  497. return $core.withContext(function($ctx1) {
  498. //>>excludeEnd("ctx");
  499. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  500. p=$recv($Domite())._newElement_("p");
  501. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  502. $ctx1.sendIdx["newElement:"]=1;
  503. //>>excludeEnd("ctx");
  504. $recv(d)._insertDomite_(p);
  505. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  506. $ctx1.sendIdx["insertDomite:"]=1;
  507. //>>excludeEnd("ctx");
  508. s=$recv($Domite())._newElement_("span");
  509. $recv(d)._insertDomite_(s);
  510. $recv(d)._insertString_("dom-mite");
  511. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p><span></span>dom-mite</div>"));
  512. return self;
  513. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  514. }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s},$globals.DOMiteTest)});
  515. //>>excludeEnd("ctx");
  516. },
  517. //>>excludeStart("ide", pragmas.excludeIdeData);
  518. args: [],
  519. source: "testMultipleInserts\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d insertDomite: s.\x0a\x09d insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p><span></span>dom-mite</div>')",
  520. referencedClasses: ["Domite"],
  521. //>>excludeEnd("ide");
  522. messageSends: ["fromElement:", "newElement:", "insertDomite:", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  523. }),
  524. $globals.DOMiteTest);
  525. $core.addMethod(
  526. $core.method({
  527. selector: "testMultipleInsertsWithClear",
  528. protocol: 'testing',
  529. fn: function (){
  530. var self=this;
  531. var d,p,s;
  532. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  533. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  534. return $core.withContext(function($ctx1) {
  535. //>>excludeEnd("ctx");
  536. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  537. p=$recv($Domite())._newElement_("p");
  538. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  539. $ctx1.sendIdx["newElement:"]=1;
  540. //>>excludeEnd("ctx");
  541. $recv(d)._insertDomite_(p);
  542. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  543. $ctx1.sendIdx["insertDomite:"]=1;
  544. //>>excludeEnd("ctx");
  545. s=$recv($Domite())._newElement_("span");
  546. $recv(d)._insertDomite_(s);
  547. $recv(d)._clearHere();
  548. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  549. $ctx1.sendIdx["clearHere"]=1;
  550. //>>excludeEnd("ctx");
  551. $recv(d)._insertString_("dom-mite");
  552. $recv(d)._clearHere();
  553. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  554. $ctx1.sendIdx["clearHere"]=2;
  555. //>>excludeEnd("ctx");
  556. $recv(d)._clearHere();
  557. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("></div>"));
  558. return self;
  559. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  560. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s},$globals.DOMiteTest)});
  561. //>>excludeEnd("ctx");
  562. },
  563. //>>excludeStart("ide", pragmas.excludeIdeData);
  564. args: [],
  565. source: "testMultipleInsertsWithClear\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d insertDomite: s.\x0a\x09d clearHere.\x0a\x09d insertString: 'dom-mite'.\x0a\x09d clearHere.\x0a\x09d clearHere.\x0a\x09self assert: (document body innerHTML endsWith: '></div>')",
  566. referencedClasses: ["Domite"],
  567. //>>excludeEnd("ide");
  568. messageSends: ["fromElement:", "newElement:", "insertDomite:", "clearHere", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  569. }),
  570. $globals.DOMiteTest);
  571. $core.addMethod(
  572. $core.method({
  573. selector: "testMultipleInsertsWithClearInBetween",
  574. protocol: 'testing',
  575. fn: function (){
  576. var self=this;
  577. var d,p,s;
  578. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  579. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  580. return $core.withContext(function($ctx1) {
  581. //>>excludeEnd("ctx");
  582. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  583. p=$recv($Domite())._newElement_("p");
  584. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  585. $ctx1.sendIdx["newElement:"]=1;
  586. //>>excludeEnd("ctx");
  587. $recv(d)._insertDomite_(p);
  588. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  589. $ctx1.sendIdx["insertDomite:"]=1;
  590. //>>excludeEnd("ctx");
  591. s=$recv($Domite())._newElement_("span");
  592. $recv(d)._insertDomite_(s);
  593. $recv(d)._clearHere();
  594. $recv(d)._insertString_("dom-mite");
  595. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">dom-mite</div>"));
  596. return self;
  597. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  598. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s},$globals.DOMiteTest)});
  599. //>>excludeEnd("ctx");
  600. },
  601. //>>excludeStart("ide", pragmas.excludeIdeData);
  602. args: [],
  603. source: "testMultipleInsertsWithClearInBetween\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d insertDomite: p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d insertDomite: s.\x0a\x09d clearHere.\x0a\x09d insertString: 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>dom-mite</div>')",
  604. referencedClasses: ["Domite"],
  605. //>>excludeEnd("ide");
  606. messageSends: ["fromElement:", "newElement:", "insertDomite:", "clearHere", "insertString:", "assert:", "endsWith:", "innerHTML", "body"]
  607. }),
  608. $globals.DOMiteTest);
  609. });