DOMite-Tests.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  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())._fromSelector_("#goo");
  191. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  192. $ctx1.sendIdx["fromSelector:"]=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())._fromSelector_("body");
  200. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  201. $ctx1.sendIdx["fromSelector:"]=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())._fromSelector_("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 fromSelector: '#goo'.\x0a\x09self assert: d isInvalid.\x0a\x09d := Domite fromSelector: 'body'.\x0a\x09self deny: d isInvalid.\x0a\x09d := Domite fromSelector: 'html body div#fixture'.\x0a\x09self deny: d isInvalid",
  221. referencedClasses: ["Domite"],
  222. //>>excludeEnd("ide");
  223. messageSends: ["fromSelector:", "assert:", "isInvalid", "deny:"]
  224. }),
  225. $globals.DOMiteTest);
  226. $core.addMethod(
  227. $core.method({
  228. selector: "testInsertElement",
  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())._fromSelector_("html body div#fixture");
  238. $recv(d).__lt_lt($recv($Domite())._newElement_("p"));
  239. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p></div>"));
  240. return self;
  241. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  242. }, function($ctx1) {$ctx1.fill(self,"testInsertElement",{d:d},$globals.DOMiteTest)});
  243. //>>excludeEnd("ctx");
  244. },
  245. //>>excludeStart("ide", pragmas.excludeIdeData);
  246. args: [],
  247. source: "testInsertElement\x0a\x09| d |\x0a\x09d := Domite fromSelector: 'html body div#fixture'.\x0a\x09d << (Domite newElement: 'p').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinel<p></p></div>')",
  248. referencedClasses: ["Domite"],
  249. //>>excludeEnd("ide");
  250. messageSends: ["fromSelector:", "<<", "newElement:", "assert:", "endsWith:", "innerHTML", "body"]
  251. }),
  252. $globals.DOMiteTest);
  253. $core.addMethod(
  254. $core.method({
  255. selector: "testInsertElementTwoLevel",
  256. protocol: 'testing',
  257. fn: function (){
  258. var self=this;
  259. var d,p,s;
  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())._fromElement_(self["@fixtureDiv"]);
  265. p=$recv($Domite())._newElement_("p");
  266. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  267. $ctx1.sendIdx["newElement:"]=1;
  268. //>>excludeEnd("ctx");
  269. $recv(d).__lt_lt(p);
  270. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  271. $ctx1.sendIdx["<<"]=1;
  272. //>>excludeEnd("ctx");
  273. s=$recv($Domite())._newElement_("span");
  274. $recv(p).__lt_lt(s);
  275. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  276. $ctx1.sendIdx["<<"]=2;
  277. //>>excludeEnd("ctx");
  278. $recv(s).__lt_lt("dom-mite");
  279. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  280. return self;
  281. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  282. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevel",{d:d,p:p,s:s},$globals.DOMiteTest)});
  283. //>>excludeEnd("ctx");
  284. },
  285. //>>excludeStart("ide", pragmas.excludeIdeData);
  286. args: [],
  287. 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>')",
  288. referencedClasses: ["Domite"],
  289. //>>excludeEnd("ide");
  290. messageSends: ["fromElement:", "newElement:", "<<", "assert:", "endsWith:", "innerHTML", "body"]
  291. }),
  292. $globals.DOMiteTest);
  293. $core.addMethod(
  294. $core.method({
  295. selector: "testInsertElementTwoLevelViaFragments",
  296. protocol: 'testing',
  297. fn: function (){
  298. var self=this;
  299. var d,p,s;
  300. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  301. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  302. return $core.withContext(function($ctx1) {
  303. //>>excludeEnd("ctx");
  304. var $1,$3,$2,$4,$6,$5;
  305. d=$recv($Domite())._fromSelector_("#fixture");
  306. p=$recv($Domite())._newElement_("p");
  307. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  308. $ctx1.sendIdx["newElement:"]=1;
  309. //>>excludeEnd("ctx");
  310. $1=d;
  311. $3=$recv($Domite())._newStream();
  312. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  313. $ctx1.sendIdx["newStream"]=1;
  314. //>>excludeEnd("ctx");
  315. $2=$recv($3).__lt_lt(p);
  316. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  317. $ctx1.sendIdx["<<"]=2;
  318. //>>excludeEnd("ctx");
  319. $recv($1).__lt_lt($2);
  320. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  321. $ctx1.sendIdx["<<"]=1;
  322. //>>excludeEnd("ctx");
  323. s=$recv($Domite())._newElement_("span");
  324. $4=p;
  325. $6=$recv($Domite())._newStream();
  326. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  327. $ctx1.sendIdx["newStream"]=2;
  328. //>>excludeEnd("ctx");
  329. $5=$recv($6).__lt_lt(s);
  330. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  331. $ctx1.sendIdx["<<"]=4;
  332. //>>excludeEnd("ctx");
  333. $recv($4).__lt_lt($5);
  334. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  335. $ctx1.sendIdx["<<"]=3;
  336. //>>excludeEnd("ctx");
  337. $recv(s).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("dom-mite"));
  338. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  339. $ctx1.sendIdx["<<"]=5;
  340. //>>excludeEnd("ctx");
  341. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  342. return self;
  343. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  344. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  345. //>>excludeEnd("ctx");
  346. },
  347. //>>excludeStart("ide", pragmas.excludeIdeData);
  348. args: [],
  349. source: "testInsertElementTwoLevelViaFragments\x0a\x09| d p s |\x0a\x09d := Domite fromSelector: '#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>')",
  350. referencedClasses: ["Domite"],
  351. //>>excludeEnd("ide");
  352. messageSends: ["fromSelector:", "newElement:", "<<", "newStream", "assert:", "endsWith:", "innerHTML", "body"]
  353. }),
  354. $globals.DOMiteTest);
  355. $core.addMethod(
  356. $core.method({
  357. selector: "testInsertElementTwoLevelViaTwoLevelFragments",
  358. protocol: 'testing',
  359. fn: function (){
  360. var self=this;
  361. var d,p,s;
  362. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  363. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  364. return $core.withContext(function($ctx1) {
  365. //>>excludeEnd("ctx");
  366. var $1,$3,$5,$4,$2,$6,$8,$10,$9,$7,$11,$13,$12;
  367. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  368. p=$recv($Domite())._newElement_("p");
  369. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  370. $ctx1.sendIdx["newElement:"]=1;
  371. //>>excludeEnd("ctx");
  372. $1=d;
  373. $3=$recv($Domite())._newStream();
  374. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  375. $ctx1.sendIdx["newStream"]=1;
  376. //>>excludeEnd("ctx");
  377. $5=$recv($Domite())._newStream();
  378. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  379. $ctx1.sendIdx["newStream"]=2;
  380. //>>excludeEnd("ctx");
  381. $4=$recv($5).__lt_lt(p);
  382. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  383. $ctx1.sendIdx["<<"]=3;
  384. //>>excludeEnd("ctx");
  385. $2=$recv($3).__lt_lt($4);
  386. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  387. $ctx1.sendIdx["<<"]=2;
  388. //>>excludeEnd("ctx");
  389. $recv($1).__lt_lt($2);
  390. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  391. $ctx1.sendIdx["<<"]=1;
  392. //>>excludeEnd("ctx");
  393. s=$recv($Domite())._newElement_("span");
  394. $6=p;
  395. $8=$recv($Domite())._newStream();
  396. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  397. $ctx1.sendIdx["newStream"]=3;
  398. //>>excludeEnd("ctx");
  399. $10=$recv($Domite())._newStream();
  400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  401. $ctx1.sendIdx["newStream"]=4;
  402. //>>excludeEnd("ctx");
  403. $9=$recv($10).__lt_lt(s);
  404. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  405. $ctx1.sendIdx["<<"]=6;
  406. //>>excludeEnd("ctx");
  407. $7=$recv($8).__lt_lt($9);
  408. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  409. $ctx1.sendIdx["<<"]=5;
  410. //>>excludeEnd("ctx");
  411. $recv($6).__lt_lt($7);
  412. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  413. $ctx1.sendIdx["<<"]=4;
  414. //>>excludeEnd("ctx");
  415. $11=s;
  416. $13=$recv($Domite())._newStream();
  417. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  418. $ctx1.sendIdx["newStream"]=5;
  419. //>>excludeEnd("ctx");
  420. $12=$recv($13).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("dom-mite"));
  421. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  422. $ctx1.sendIdx["<<"]=8;
  423. //>>excludeEnd("ctx");
  424. $recv($11).__lt_lt($12);
  425. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  426. $ctx1.sendIdx["<<"]=7;
  427. //>>excludeEnd("ctx");
  428. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p><span>dom-mite</span></p></div>"));
  429. return self;
  430. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  431. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaTwoLevelFragments",{d:d,p:p,s:s},$globals.DOMiteTest)});
  432. //>>excludeEnd("ctx");
  433. },
  434. //>>excludeStart("ide", pragmas.excludeIdeData);
  435. args: [],
  436. 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>')",
  437. referencedClasses: ["Domite"],
  438. //>>excludeEnd("ide");
  439. messageSends: ["fromElement:", "newElement:", "<<", "newStream", "assert:", "endsWith:", "innerHTML", "body"]
  440. }),
  441. $globals.DOMiteTest);
  442. $core.addMethod(
  443. $core.method({
  444. selector: "testInsertString",
  445. protocol: 'testing',
  446. fn: function (){
  447. var self=this;
  448. var d;
  449. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  450. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  451. return $core.withContext(function($ctx1) {
  452. //>>excludeEnd("ctx");
  453. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  454. $recv(d).__lt_lt("a foo in a bar");
  455. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
  456. return self;
  457. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  458. }, function($ctx1) {$ctx1.fill(self,"testInsertString",{d:d},$globals.DOMiteTest)});
  459. //>>excludeEnd("ctx");
  460. },
  461. //>>excludeStart("ide", pragmas.excludeIdeData);
  462. args: [],
  463. 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>')",
  464. referencedClasses: ["Domite"],
  465. //>>excludeEnd("ide");
  466. messageSends: ["fromElement:", "<<", "assert:", "endsWith:", "innerHTML", "body"]
  467. }),
  468. $globals.DOMiteTest);
  469. $core.addMethod(
  470. $core.method({
  471. selector: "testInsertStringInFragment",
  472. protocol: 'testing',
  473. fn: function (){
  474. var self=this;
  475. var d;
  476. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  477. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  478. return $core.withContext(function($ctx1) {
  479. //>>excludeEnd("ctx");
  480. d=$recv($Domite())._fromSelector_("#fixture");
  481. $recv(d).__lt_lt($recv($recv($Domite())._newStream()).__lt_lt("a foo in a bar"));
  482. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  483. $ctx1.sendIdx["<<"]=1;
  484. //>>excludeEnd("ctx");
  485. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinela foo in a bar</div>"));
  486. return self;
  487. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  488. }, function($ctx1) {$ctx1.fill(self,"testInsertStringInFragment",{d:d},$globals.DOMiteTest)});
  489. //>>excludeEnd("ctx");
  490. },
  491. //>>excludeStart("ide", pragmas.excludeIdeData);
  492. args: [],
  493. source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := Domite fromSelector: '#fixture'.\x0a\x09d << (Domite newStream << 'a foo in a bar').\x0a\x09self assert: (document body innerHTML endsWith: '>sentinela foo in a bar</div>')",
  494. referencedClasses: ["Domite"],
  495. //>>excludeEnd("ide");
  496. messageSends: ["fromSelector:", "<<", "newStream", "assert:", "endsWith:", "innerHTML", "body"]
  497. }),
  498. $globals.DOMiteTest);
  499. $core.addMethod(
  500. $core.method({
  501. selector: "testMultipleInserts",
  502. protocol: 'testing',
  503. fn: function (){
  504. var self=this;
  505. var d,p,s;
  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. p=$recv($Domite())._newElement_("p");
  512. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  513. $ctx1.sendIdx["newElement:"]=1;
  514. //>>excludeEnd("ctx");
  515. $recv(d).__lt_lt(p);
  516. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  517. $ctx1.sendIdx["<<"]=1;
  518. //>>excludeEnd("ctx");
  519. s=$recv($Domite())._newElement_("span");
  520. $recv(d).__lt_lt(s);
  521. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  522. $ctx1.sendIdx["<<"]=2;
  523. //>>excludeEnd("ctx");
  524. $recv(d).__lt_lt("dom-mite");
  525. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">sentinel<p></p><span></span>dom-mite</div>"));
  526. return self;
  527. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  528. }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s},$globals.DOMiteTest)});
  529. //>>excludeEnd("ctx");
  530. },
  531. //>>excludeStart("ide", pragmas.excludeIdeData);
  532. args: [],
  533. 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>')",
  534. referencedClasses: ["Domite"],
  535. //>>excludeEnd("ide");
  536. messageSends: ["fromElement:", "newElement:", "<<", "assert:", "endsWith:", "innerHTML", "body"]
  537. }),
  538. $globals.DOMiteTest);
  539. $core.addMethod(
  540. $core.method({
  541. selector: "testMultipleInsertsWithClear",
  542. protocol: 'testing',
  543. fn: function (){
  544. var self=this;
  545. var d,p,s;
  546. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  547. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  548. return $core.withContext(function($ctx1) {
  549. //>>excludeEnd("ctx");
  550. d=$recv($Domite())._fromSelector_("#fixture");
  551. p=$recv($Domite())._newElement_("p");
  552. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  553. $ctx1.sendIdx["newElement:"]=1;
  554. //>>excludeEnd("ctx");
  555. $recv(d).__lt_lt(p);
  556. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  557. $ctx1.sendIdx["<<"]=1;
  558. //>>excludeEnd("ctx");
  559. s=$recv($Domite())._newElement_("span");
  560. $recv(d).__lt_lt(s);
  561. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  562. $ctx1.sendIdx["<<"]=2;
  563. //>>excludeEnd("ctx");
  564. $recv(d)._resetContents();
  565. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  566. $ctx1.sendIdx["resetContents"]=1;
  567. //>>excludeEnd("ctx");
  568. $recv(d).__lt_lt("dom-mite");
  569. $recv(d)._resetContents();
  570. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  571. $ctx1.sendIdx["resetContents"]=2;
  572. //>>excludeEnd("ctx");
  573. $recv(d)._resetContents();
  574. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_("></div>"));
  575. return self;
  576. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  577. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s},$globals.DOMiteTest)});
  578. //>>excludeEnd("ctx");
  579. },
  580. //>>excludeStart("ide", pragmas.excludeIdeData);
  581. args: [],
  582. source: "testMultipleInsertsWithClear\x0a\x09| d p s |\x0a\x09d := Domite fromSelector: '#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>')",
  583. referencedClasses: ["Domite"],
  584. //>>excludeEnd("ide");
  585. messageSends: ["fromSelector:", "newElement:", "<<", "resetContents", "assert:", "endsWith:", "innerHTML", "body"]
  586. }),
  587. $globals.DOMiteTest);
  588. $core.addMethod(
  589. $core.method({
  590. selector: "testMultipleInsertsWithClearInBetween",
  591. protocol: 'testing',
  592. fn: function (){
  593. var self=this;
  594. var d,p,s;
  595. function $Domite(){return $globals.Domite||(typeof Domite=="undefined"?nil:Domite)}
  596. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  597. return $core.withContext(function($ctx1) {
  598. //>>excludeEnd("ctx");
  599. d=$recv($Domite())._fromElement_(self["@fixtureDiv"]);
  600. p=$recv($Domite())._newElement_("p");
  601. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  602. $ctx1.sendIdx["newElement:"]=1;
  603. //>>excludeEnd("ctx");
  604. $recv(d).__lt_lt(p);
  605. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  606. $ctx1.sendIdx["<<"]=1;
  607. //>>excludeEnd("ctx");
  608. s=$recv($Domite())._newElement_("span");
  609. $recv(d).__lt_lt(s);
  610. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  611. $ctx1.sendIdx["<<"]=2;
  612. //>>excludeEnd("ctx");
  613. $recv(d)._resetContents();
  614. $recv(d).__lt_lt("dom-mite");
  615. self._assert_($recv($recv($recv(document)._body())._innerHTML())._endsWith_(">dom-mite</div>"));
  616. return self;
  617. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  618. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s},$globals.DOMiteTest)});
  619. //>>excludeEnd("ctx");
  620. },
  621. //>>excludeStart("ide", pragmas.excludeIdeData);
  622. args: [],
  623. 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>')",
  624. referencedClasses: ["Domite"],
  625. //>>excludeEnd("ide");
  626. messageSends: ["fromElement:", "newElement:", "<<", "resetContents", "assert:", "endsWith:", "innerHTML", "body"]
  627. }),
  628. $globals.DOMiteTest);
  629. });