DOMite-Tests.js 37 KB

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