DOMite-Tests.js 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  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()).__lt_lt($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 << (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: ["<<", "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()).__lt_lt("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 << '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: ["<<", "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 $3,$2,$1,$4;
  149. $recv($recv($Domite())._new()).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("a foo in a bar"));
  150. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  151. $ctx1.sendIdx["<<"]=1;
  152. //>>excludeEnd("ctx");
  153. $3=$recv(document)._body();
  154. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  155. $ctx1.sendIdx["body"]=1;
  156. //>>excludeEnd("ctx");
  157. $2=$recv($3)._innerHTML();
  158. $1=$recv($2)._endsWith_("a foo in a bar");
  159. self._assert_($1);
  160. $4=$recv(document)._body();
  161. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  162. $ctx1.sendIdx["body"]=2;
  163. //>>excludeEnd("ctx");
  164. $recv($4)._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 << (Domite newStream << 'a foo in a bar').\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: ["<<", "new", "newStream", "assert:", "endsWith:", "innerHTML", "body", "removeChild:", "lastChild"]
  176. }),
  177. $globals.DOMiteTest);
  178. $core.addMethod(
  179. $core.method({
  180. selector: "testFromBadSelectorIsInvalid",
  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. var $1,$2;
  190. d=$recv($Domite())._at_("#goo");
  191. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  192. $ctx1.sendIdx["at:"]=1;
  193. //>>excludeEnd("ctx");
  194. $1=$recv(d)._isInvalid();
  195. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  196. $ctx1.sendIdx["isInvalid"]=1;
  197. //>>excludeEnd("ctx");
  198. self._assert_($1);
  199. d=$recv($Domite())._at_("body");
  200. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  201. $ctx1.sendIdx["at:"]=2;
  202. //>>excludeEnd("ctx");
  203. $2=$recv(d)._isInvalid();
  204. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  205. $ctx1.sendIdx["isInvalid"]=2;
  206. //>>excludeEnd("ctx");
  207. self._deny_($2);
  208. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  209. $ctx1.sendIdx["deny:"]=1;
  210. //>>excludeEnd("ctx");
  211. d=$recv($Domite())._at_("html body div#fixture");
  212. self._deny_($recv(d)._isInvalid());
  213. return self;
  214. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  215. }, function($ctx1) {$ctx1.fill(self,"testFromBadSelectorIsInvalid",{d:d},$globals.DOMiteTest)});
  216. //>>excludeEnd("ctx");
  217. },
  218. //>>excludeStart("ide", pragmas.excludeIdeData);
  219. args: [],
  220. source: "testFromBadSelectorIsInvalid\x0a\x09| d |\x0a\x09d := Domite at: '#goo'.\x0a\x09self assert: d isInvalid.\x0a\x09d := Domite at: 'body'.\x0a\x09self deny: d isInvalid.\x0a\x09d := Domite at: 'html body div#fixture'.\x0a\x09self deny: d isInvalid",
  221. referencedClasses: ["Domite"],
  222. //>>excludeEnd("ide");
  223. messageSends: ["at:", "assert:", "isInvalid", "deny:"]
  224. }),
  225. $globals.DOMiteTest);
  226. $core.addMethod(
  227. $core.method({
  228. selector: "testInsertDomNode",
  229. protocol: 'testing',
  230. fn: function (){
  231. var self=this;
  232. var d;
  233. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  234. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  235. return $core.withContext(function($ctx1) {
  236. //>>excludeEnd("ctx");
  237. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  238. $recv(d).__lt_lt($recv(document)._createElement_("pre"));
  239. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<pre></pre></div>"));
  240. return self;
  241. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  242. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNode",{d:d},$globals.DOMiteTest)});
  243. //>>excludeEnd("ctx");
  244. },
  245. //>>excludeStart("ide", pragmas.excludeIdeData);
  246. args: [],
  247. source: "testInsertDomNode\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d << (document createElement: 'pre').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<pre></pre></div>')",
  248. referencedClasses: ["Domite"],
  249. //>>excludeEnd("ide");
  250. messageSends: ["fromElement:", "<<", "createElement:", "assert:", "endsWith:", "innerHTML", "body"]
  251. }),
  252. $globals.DOMiteTest);
  253. $core.addMethod(
  254. $core.method({
  255. selector: "testInsertDomNodeInFragment",
  256. protocol: 'testing',
  257. fn: function (){
  258. var self=this;
  259. var d;
  260. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  261. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  262. return $core.withContext(function($ctx1) {
  263. //>>excludeEnd("ctx");
  264. d=$recv($Domite())._at_("#fixture");
  265. $recv(d).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt($recv(document)._createElement_("script")));
  266. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  267. $ctx1.sendIdx["<<"]=1;
  268. //>>excludeEnd("ctx");
  269. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<script></script></div>"));
  270. return self;
  271. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  272. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNodeInFragment",{d:d},$globals.DOMiteTest)});
  273. //>>excludeEnd("ctx");
  274. },
  275. //>>excludeStart("ide", pragmas.excludeIdeData);
  276. args: [],
  277. source: "testInsertDomNodeInFragment\x0a\x09| d |\x0a\x09d := Domite at: '#fixture'.\x0a\x09d << (Domite newStream << (document createElement: 'script')).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<script></script></div>')",
  278. referencedClasses: ["Domite"],
  279. //>>excludeEnd("ide");
  280. messageSends: ["at:", "<<", "newStream", "createElement:", "assert:", "endsWith:", "innerHTML", "body"]
  281. }),
  282. $globals.DOMiteTest);
  283. $core.addMethod(
  284. $core.method({
  285. selector: "testInsertElement",
  286. protocol: 'testing',
  287. fn: function (){
  288. var self=this;
  289. var d;
  290. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  291. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  292. return $core.withContext(function($ctx1) {
  293. //>>excludeEnd("ctx");
  294. d=$recv($Domite())._at_("html body div#fixture");
  295. $recv(d).__lt_lt($recv($Domite())._newElement_("p"));
  296. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p></div>"));
  297. return self;
  298. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  299. }, function($ctx1) {$ctx1.fill(self,"testInsertElement",{d:d},$globals.DOMiteTest)});
  300. //>>excludeEnd("ctx");
  301. },
  302. //>>excludeStart("ide", pragmas.excludeIdeData);
  303. args: [],
  304. source: "testInsertElement\x0a\x09| d |\x0a\x09d := Domite at: 'html body div#fixture'.\x0a\x09d << (Domite newElement: 'p').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p></div>')",
  305. referencedClasses: ["Domite"],
  306. //>>excludeEnd("ide");
  307. messageSends: ["at:", "<<", "newElement:", "assert:", "endsWith:", "innerHTML", "body"]
  308. }),
  309. $globals.DOMiteTest);
  310. $core.addMethod(
  311. $core.method({
  312. selector: "testInsertElementTwoLevel",
  313. protocol: 'testing',
  314. fn: function (){
  315. var self=this;
  316. var d,p,s;
  317. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  318. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  319. return $core.withContext(function($ctx1) {
  320. //>>excludeEnd("ctx");
  321. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  322. p=$recv($Domite())._newElement_("p");
  323. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  324. $ctx1.sendIdx["newElement:"]=1;
  325. //>>excludeEnd("ctx");
  326. $recv(d).__lt_lt(p);
  327. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  328. $ctx1.sendIdx["<<"]=1;
  329. //>>excludeEnd("ctx");
  330. s=$recv($Domite())._newElement_("span");
  331. $recv(p).__lt_lt(s);
  332. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  333. $ctx1.sendIdx["<<"]=2;
  334. //>>excludeEnd("ctx");
  335. $recv(s).__lt_lt("dom-mite");
  336. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  337. return self;
  338. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  339. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevel",{d:d,p:p,s:s},$globals.DOMiteTest)});
  340. //>>excludeEnd("ctx");
  341. },
  342. //>>excludeStart("ide", pragmas.excludeIdeData);
  343. args: [],
  344. source: "testInsertElementTwoLevel\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d << p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09p << s.\x0a\x09s << 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
  345. referencedClasses: ["Domite"],
  346. //>>excludeEnd("ide");
  347. messageSends: ["fromElement:", "newElement:", "<<", "assert:", "endsWith:", "innerHTML", "body"]
  348. }),
  349. $globals.DOMiteTest);
  350. $core.addMethod(
  351. $core.method({
  352. selector: "testInsertElementTwoLevelViaFragments",
  353. protocol: 'testing',
  354. fn: function (){
  355. var self=this;
  356. var d,p,s;
  357. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  358. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  359. return $core.withContext(function($ctx1) {
  360. //>>excludeEnd("ctx");
  361. var $1,$3,$2,$4,$6,$5;
  362. d=$recv($Domite())._at_("#fixture");
  363. p=$recv($Domite())._newElement_("p");
  364. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  365. $ctx1.sendIdx["newElement:"]=1;
  366. //>>excludeEnd("ctx");
  367. $1=d;
  368. $3=$recv($Domite())._newStream();
  369. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  370. $ctx1.sendIdx["newStream"]=1;
  371. //>>excludeEnd("ctx");
  372. $2=$recv($3).__lt_lt(p);
  373. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  374. $ctx1.sendIdx["<<"]=2;
  375. //>>excludeEnd("ctx");
  376. $recv($1).__lt_lt($2);
  377. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  378. $ctx1.sendIdx["<<"]=1;
  379. //>>excludeEnd("ctx");
  380. s=$recv($Domite())._newElement_("span");
  381. $4=p;
  382. $6=$recv($Domite())._newStream();
  383. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  384. $ctx1.sendIdx["newStream"]=2;
  385. //>>excludeEnd("ctx");
  386. $5=$recv($6).__lt_lt(s);
  387. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  388. $ctx1.sendIdx["<<"]=4;
  389. //>>excludeEnd("ctx");
  390. $recv($4).__lt_lt($5);
  391. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  392. $ctx1.sendIdx["<<"]=3;
  393. //>>excludeEnd("ctx");
  394. $recv(s).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("dom-mite"));
  395. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  396. $ctx1.sendIdx["<<"]=5;
  397. //>>excludeEnd("ctx");
  398. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  399. return self;
  400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  401. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  402. //>>excludeEnd("ctx");
  403. },
  404. //>>excludeStart("ide", pragmas.excludeIdeData);
  405. args: [],
  406. source: "testInsertElementTwoLevelViaFragments\x0a\x09| d p s |\x0a\x09d := Domite at: '#fixture'.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d << (Domite newStream << p).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p << (Domite newStream << s).\x0a\x09s << (Domite newStream << 'dom-mite').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
  407. referencedClasses: ["Domite"],
  408. //>>excludeEnd("ide");
  409. messageSends: ["at:", "newElement:", "<<", "newStream", "assert:", "endsWith:", "innerHTML", "body"]
  410. }),
  411. $globals.DOMiteTest);
  412. $core.addMethod(
  413. $core.method({
  414. selector: "testInsertElementTwoLevelViaTwoLevelFragments",
  415. protocol: 'testing',
  416. fn: function (){
  417. var self=this;
  418. var d,p,s;
  419. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  420. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  421. return $core.withContext(function($ctx1) {
  422. //>>excludeEnd("ctx");
  423. var $1,$3,$5,$4,$2,$6,$8,$10,$9,$7,$11,$13,$12;
  424. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  425. p=$recv($Domite())._newElement_("p");
  426. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  427. $ctx1.sendIdx["newElement:"]=1;
  428. //>>excludeEnd("ctx");
  429. $1=d;
  430. $3=$recv($Domite())._newStream();
  431. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  432. $ctx1.sendIdx["newStream"]=1;
  433. //>>excludeEnd("ctx");
  434. $5=$recv($Domite())._newStream();
  435. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  436. $ctx1.sendIdx["newStream"]=2;
  437. //>>excludeEnd("ctx");
  438. $4=$recv($5).__lt_lt(p);
  439. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  440. $ctx1.sendIdx["<<"]=3;
  441. //>>excludeEnd("ctx");
  442. $2=$recv($3).__lt_lt($4);
  443. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  444. $ctx1.sendIdx["<<"]=2;
  445. //>>excludeEnd("ctx");
  446. $recv($1).__lt_lt($2);
  447. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  448. $ctx1.sendIdx["<<"]=1;
  449. //>>excludeEnd("ctx");
  450. s=$recv($Domite())._newElement_("span");
  451. $6=p;
  452. $8=$recv($Domite())._newStream();
  453. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  454. $ctx1.sendIdx["newStream"]=3;
  455. //>>excludeEnd("ctx");
  456. $10=$recv($Domite())._newStream();
  457. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  458. $ctx1.sendIdx["newStream"]=4;
  459. //>>excludeEnd("ctx");
  460. $9=$recv($10).__lt_lt(s);
  461. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  462. $ctx1.sendIdx["<<"]=6;
  463. //>>excludeEnd("ctx");
  464. $7=$recv($8).__lt_lt($9);
  465. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  466. $ctx1.sendIdx["<<"]=5;
  467. //>>excludeEnd("ctx");
  468. $recv($6).__lt_lt($7);
  469. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  470. $ctx1.sendIdx["<<"]=4;
  471. //>>excludeEnd("ctx");
  472. $11=s;
  473. $13=$recv($Domite())._newStream();
  474. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  475. $ctx1.sendIdx["newStream"]=5;
  476. //>>excludeEnd("ctx");
  477. $12=$recv($13).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("dom-mite"));
  478. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  479. $ctx1.sendIdx["<<"]=8;
  480. //>>excludeEnd("ctx");
  481. $recv($11).__lt_lt($12);
  482. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  483. $ctx1.sendIdx["<<"]=7;
  484. //>>excludeEnd("ctx");
  485. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  486. return self;
  487. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  488. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaTwoLevelFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  489. //>>excludeEnd("ctx");
  490. },
  491. //>>excludeStart("ide", pragmas.excludeIdeData);
  492. args: [],
  493. source: "testInsertElementTwoLevelViaTwoLevelFragments\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d << (Domite newStream << (Domite newStream << p)).\x0a\x09s := Domite newElement: 'span'.\x0a\x09p << (Domite newStream << (Domite newStream << s)).\x0a\x09s << (Domite newStream << (Domite newStream << 'dom-mite')).\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p><span>dom-mite</span></p></div>')",
  494. referencedClasses: ["Domite"],
  495. //>>excludeEnd("ide");
  496. messageSends: ["fromElement:", "newElement:", "<<", "newStream", "assert:", "endsWith:", "innerHTML", "body"]
  497. }),
  498. $globals.DOMiteTest);
  499. $core.addMethod(
  500. $core.method({
  501. selector: "testInsertString",
  502. protocol: 'testing',
  503. fn: function (){
  504. var self=this;
  505. var d;
  506. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  507. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  508. return $core.withContext(function($ctx1) {
  509. //>>excludeEnd("ctx");
  510. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  511. $recv(d).__lt_lt("a foo in a bar");
  512. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
  513. return self;
  514. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  515. }, function($ctx1) {$ctx1.fill(self,"testInsertString",{d:d},$globals.DOMiteTest)});
  516. //>>excludeEnd("ctx");
  517. },
  518. //>>excludeStart("ide", pragmas.excludeIdeData);
  519. args: [],
  520. source: "testInsertString\x0a\x09| d |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09d << 'a foo in a bar'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
  521. referencedClasses: ["Domite"],
  522. //>>excludeEnd("ide");
  523. messageSends: ["fromElement:", "<<", "assert:", "endsWith:", "innerHTML", "body"]
  524. }),
  525. $globals.DOMiteTest);
  526. $core.addMethod(
  527. $core.method({
  528. selector: "testInsertStringInFragment",
  529. protocol: 'testing',
  530. fn: function (){
  531. var self=this;
  532. var d;
  533. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  534. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  535. return $core.withContext(function($ctx1) {
  536. //>>excludeEnd("ctx");
  537. d=$recv($Domite())._at_("#fixture");
  538. $recv(d).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("a foo in a bar"));
  539. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  540. $ctx1.sendIdx["<<"]=1;
  541. //>>excludeEnd("ctx");
  542. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
  543. return self;
  544. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  545. }, function($ctx1) {$ctx1.fill(self,"testInsertStringInFragment",{d:d},$globals.DOMiteTest)});
  546. //>>excludeEnd("ctx");
  547. },
  548. //>>excludeStart("ide", pragmas.excludeIdeData);
  549. args: [],
  550. source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := Domite at: '#fixture'.\x0a\x09d << (Domite newStream << 'a foo in a bar').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
  551. referencedClasses: ["Domite"],
  552. //>>excludeEnd("ide");
  553. messageSends: ["at:", "<<", "newStream", "assert:", "endsWith:", "innerHTML", "body"]
  554. }),
  555. $globals.DOMiteTest);
  556. $core.addMethod(
  557. $core.method({
  558. selector: "testMultipleInserts",
  559. protocol: 'testing',
  560. fn: function (){
  561. var self=this;
  562. var d,p,s;
  563. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  564. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  565. return $core.withContext(function($ctx1) {
  566. //>>excludeEnd("ctx");
  567. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  568. p=$recv($Domite())._newElement_("p");
  569. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  570. $ctx1.sendIdx["newElement:"]=1;
  571. //>>excludeEnd("ctx");
  572. $recv(d).__lt_lt(p);
  573. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  574. $ctx1.sendIdx["<<"]=1;
  575. //>>excludeEnd("ctx");
  576. s=$recv($Domite())._newElement_("span");
  577. $recv(d).__lt_lt(s);
  578. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  579. $ctx1.sendIdx["<<"]=2;
  580. //>>excludeEnd("ctx");
  581. $recv(d).__lt_lt("dom-mite");
  582. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p><span></span>dom-mite</div>"));
  583. return self;
  584. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  585. }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s},$globals.DOMiteTest)});
  586. //>>excludeEnd("ctx");
  587. },
  588. //>>excludeStart("ide", pragmas.excludeIdeData);
  589. args: [],
  590. source: "testMultipleInserts\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d << p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d << s.\x0a\x09d << 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p><span></span>dom-mite</div>')",
  591. referencedClasses: ["Domite"],
  592. //>>excludeEnd("ide");
  593. messageSends: ["fromElement:", "newElement:", "<<", "assert:", "endsWith:", "innerHTML", "body"]
  594. }),
  595. $globals.DOMiteTest);
  596. $core.addMethod(
  597. $core.method({
  598. selector: "testMultipleInsertsWithClear",
  599. protocol: 'testing',
  600. fn: function (){
  601. var self=this;
  602. var d,p,s;
  603. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  604. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  605. return $core.withContext(function($ctx1) {
  606. //>>excludeEnd("ctx");
  607. d=$recv($Domite())._at_("#fixture");
  608. p=$recv($Domite())._newElement_("p");
  609. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  610. $ctx1.sendIdx["newElement:"]=1;
  611. //>>excludeEnd("ctx");
  612. $recv(d).__lt_lt(p);
  613. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  614. $ctx1.sendIdx["<<"]=1;
  615. //>>excludeEnd("ctx");
  616. s=$recv($Domite())._newElement_("span");
  617. $recv(d).__lt_lt(s);
  618. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  619. $ctx1.sendIdx["<<"]=2;
  620. //>>excludeEnd("ctx");
  621. $recv(d)._resetContents();
  622. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  623. $ctx1.sendIdx["resetContents"]=1;
  624. //>>excludeEnd("ctx");
  625. $recv(d).__lt_lt("dom-mite");
  626. $recv(d)._resetContents();
  627. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  628. $ctx1.sendIdx["resetContents"]=2;
  629. //>>excludeEnd("ctx");
  630. $recv(d)._resetContents();
  631. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("></div>"));
  632. return self;
  633. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  634. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s},$globals.DOMiteTest)});
  635. //>>excludeEnd("ctx");
  636. },
  637. //>>excludeStart("ide", pragmas.excludeIdeData);
  638. args: [],
  639. source: "testMultipleInsertsWithClear\x0a\x09| d p s |\x0a\x09d := Domite at: '#fixture'.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d << p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d << s.\x0a\x09d resetContents.\x0a\x09d << 'dom-mite'.\x0a\x09d resetContents.\x0a\x09d resetContents.\x0a\x09self assert: (document body innerHTML endsWith: '></div>')",
  640. referencedClasses: ["Domite"],
  641. //>>excludeEnd("ide");
  642. messageSends: ["at:", "newElement:", "<<", "resetContents", "assert:", "endsWith:", "innerHTML", "body"]
  643. }),
  644. $globals.DOMiteTest);
  645. $core.addMethod(
  646. $core.method({
  647. selector: "testMultipleInsertsWithClearInBetween",
  648. protocol: 'testing',
  649. fn: function (){
  650. var self=this;
  651. var d,p,s;
  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. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  657. p=$recv($Domite())._newElement_("p");
  658. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  659. $ctx1.sendIdx["newElement:"]=1;
  660. //>>excludeEnd("ctx");
  661. $recv(d).__lt_lt(p);
  662. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  663. $ctx1.sendIdx["<<"]=1;
  664. //>>excludeEnd("ctx");
  665. s=$recv($Domite())._newElement_("span");
  666. $recv(d).__lt_lt(s);
  667. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  668. $ctx1.sendIdx["<<"]=2;
  669. //>>excludeEnd("ctx");
  670. $recv(d)._resetContents();
  671. $recv(d).__lt_lt("dom-mite");
  672. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">dom-mite</div>"));
  673. return self;
  674. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  675. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s},$globals.DOMiteTest)});
  676. //>>excludeEnd("ctx");
  677. },
  678. //>>excludeStart("ide", pragmas.excludeIdeData);
  679. args: [],
  680. source: "testMultipleInsertsWithClearInBetween\x0a\x09| d p s |\x0a\x09d := Domite fromElement: fixtureDiv.\x0a\x09p := Domite newElement: 'p'.\x0a\x09d << p.\x0a\x09s := Domite newElement: 'span'.\x0a\x09d << s.\x0a\x09d resetContents.\x0a\x09d << 'dom-mite'.\x0a\x09self assert: (document body innerHTML endsWith: '>dom-mite</div>')",
  681. referencedClasses: ["Domite"],
  682. //>>excludeEnd("ide");
  683. messageSends: ["fromElement:", "newElement:", "<<", "resetContents", "assert:", "endsWith:", "innerHTML", "body"]
  684. }),
  685. $globals.DOMiteTest);
  686. });