DOMite-Tests.js 21 KB

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