DOMite-Tests.js 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122
  1. define(["amber/boot", "require", "amber/core/SUnit"], function($boot,requirejs){"use strict";
  2. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. var $pkg = $core.addPackage("DOMite-Tests");
  4. $pkg.innerEval = function (expr) { return eval(expr); };
  5. $pkg.transport = {"type":"amd","amdNamespace":"domite"};
  6. $core.addClass("DOMiteTest", $globals.TestCase, ["fixtureDiv"], "DOMite-Tests");
  7. $core.addMethod(
  8. $core.method({
  9. selector: "assertBodyEndsWith:",
  10. protocol: "testing",
  11. fn: function (aString){
  12. var self=this,$self=this;
  13. var sanitizedBody,sanitizedAssertion;
  14. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  15. return $core.withContext(function($ctx1) {
  16. //>>excludeEnd("ctx");
  17. var $2,$3,$1;
  18. sanitizedBody=$recv($recv($recv(document)._body())._innerHTML())._replace_with_("\x5cs*","");
  19. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  20. $ctx1.sendIdx["replace:with:"]=1;
  21. //>>excludeEnd("ctx");
  22. sanitizedAssertion=$recv(aString)._replace_with_("\x5cs*","");
  23. $2=$recv(sanitizedBody)._size();
  24. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  25. $ctx1.sendIdx["size"]=1;
  26. //>>excludeEnd("ctx");
  27. $3=$recv(sanitizedAssertion)._size();
  28. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  29. $ctx1.sendIdx["size"]=2;
  30. //>>excludeEnd("ctx");
  31. $1=$recv($2).__gt_eq($3);
  32. $self._assert_($1);
  33. $self._assert_equals_($recv(sanitizedBody)._last_($recv(sanitizedAssertion)._size()),sanitizedAssertion);
  34. return self;
  35. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  36. }, function($ctx1) {$ctx1.fill(self,"assertBodyEndsWith:",{aString:aString,sanitizedBody:sanitizedBody,sanitizedAssertion:sanitizedAssertion})});
  37. //>>excludeEnd("ctx");
  38. },
  39. //>>excludeStart("ide", pragmas.excludeIdeData);
  40. args: ["aString"],
  41. source: "assertBodyEndsWith: aString\x0a\x09| sanitizedBody sanitizedAssertion |\x0a\x09sanitizedBody := document body innerHTML replace: '\x5cs*' with: ''.\x0a\x09sanitizedAssertion := aString replace: '\x5cs*' with: ''.\x0a\x09self assert: sanitizedBody size >= sanitizedAssertion size.\x0a\x09self\x0a\x09\x09assert: (sanitizedBody last: sanitizedAssertion size)\x0a\x09\x09equals: sanitizedAssertion",
  42. referencedClasses: [],
  43. //>>excludeEnd("ide");
  44. pragmas: [],
  45. messageSends: ["replace:with:", "innerHTML", "body", "assert:", ">=", "size", "assert:equals:", "last:"]
  46. }),
  47. $globals.DOMiteTest);
  48. $core.addMethod(
  49. $core.method({
  50. selector: "setUp",
  51. protocol: "fixture",
  52. fn: function (){
  53. var self=this,$self=this;
  54. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  55. return $core.withContext(function($ctx1) {
  56. //>>excludeEnd("ctx");
  57. $self.fixtureDiv=$recv(document)._createElement_("div");
  58. $recv($recv(document)._body())._appendChild_($self.fixtureDiv);
  59. $recv($self.fixtureDiv)._setAttribute_to_("id","fixture");
  60. $recv($self.fixtureDiv)._innerHTML_("sentinel");
  61. return self;
  62. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  63. }, function($ctx1) {$ctx1.fill(self,"setUp",{})});
  64. //>>excludeEnd("ctx");
  65. },
  66. //>>excludeStart("ide", pragmas.excludeIdeData);
  67. args: [],
  68. source: "setUp\x0a\x09fixtureDiv := document createElement: 'div'.\x0a\x09document body appendChild: fixtureDiv.\x0a\x09fixtureDiv setAttribute: 'id' to: 'fixture'.\x0a\x09fixtureDiv innerHTML: 'sentinel'",
  69. referencedClasses: [],
  70. //>>excludeEnd("ide");
  71. pragmas: [],
  72. messageSends: ["createElement:", "appendChild:", "body", "setAttribute:to:", "innerHTML:"]
  73. }),
  74. $globals.DOMiteTest);
  75. $core.addMethod(
  76. $core.method({
  77. selector: "tearDown",
  78. protocol: "fixture",
  79. fn: function (){
  80. var self=this,$self=this;
  81. var lastChild;
  82. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  83. return $core.withContext(function($ctx1) {
  84. //>>excludeEnd("ctx");
  85. var $1;
  86. $1=$recv(document)._body();
  87. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  88. $ctx1.sendIdx["body"]=1;
  89. //>>excludeEnd("ctx");
  90. lastChild=$recv($1)._lastChild();
  91. $self._assert_equals_(lastChild,$self.fixtureDiv);
  92. $recv($recv(document)._body())._removeChild_(lastChild);
  93. return self;
  94. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  95. }, function($ctx1) {$ctx1.fill(self,"tearDown",{lastChild:lastChild})});
  96. //>>excludeEnd("ctx");
  97. },
  98. //>>excludeStart("ide", pragmas.excludeIdeData);
  99. args: [],
  100. source: "tearDown\x0a\x09| lastChild |\x0a\x09lastChild := document body lastChild.\x0a\x09self assert: lastChild equals: fixtureDiv.\x0a\x09document body removeChild: lastChild",
  101. referencedClasses: [],
  102. //>>excludeEnd("ide");
  103. pragmas: [],
  104. messageSends: ["lastChild", "body", "assert:equals:", "removeChild:"]
  105. }),
  106. $globals.DOMiteTest);
  107. $core.addMethod(
  108. $core.method({
  109. selector: "testDefaultInsertElement",
  110. protocol: "testing",
  111. fn: function (){
  112. var self=this,$self=this;
  113. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  114. return $core.withContext(function($ctx1) {
  115. //>>excludeEnd("ctx");
  116. var $2,$1,$3;
  117. $2=$self._testedClass();
  118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  119. $ctx1.sendIdx["testedClass"]=1;
  120. //>>excludeEnd("ctx");
  121. $1=$recv($2)._new();
  122. $recv($1).__lt_lt($recv($self._testedClass())._newElement_("p"));
  123. $self._assertBodyEndsWith_("<p></p>");
  124. $3=$recv(document)._body();
  125. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  126. $ctx1.sendIdx["body"]=1;
  127. //>>excludeEnd("ctx");
  128. $recv($3)._removeChild_($recv($recv(document)._body())._lastChild());
  129. return self;
  130. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  131. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertElement",{})});
  132. //>>excludeEnd("ctx");
  133. },
  134. //>>excludeStart("ide", pragmas.excludeIdeData);
  135. args: [],
  136. source: "testDefaultInsertElement\x0a\x0a\x09self testedClass new << (self testedClass newElement: 'p').\x0a\x09self assertBodyEndsWith: '<p></p>'.\x0a\x09document body removeChild: document body lastChild",
  137. referencedClasses: [],
  138. //>>excludeEnd("ide");
  139. pragmas: [],
  140. messageSends: ["<<", "new", "testedClass", "newElement:", "assertBodyEndsWith:", "removeChild:", "body", "lastChild"]
  141. }),
  142. $globals.DOMiteTest);
  143. $core.addMethod(
  144. $core.method({
  145. selector: "testDefaultInsertString",
  146. protocol: "testing",
  147. fn: function (){
  148. var self=this,$self=this;
  149. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  150. return $core.withContext(function($ctx1) {
  151. //>>excludeEnd("ctx");
  152. var $1;
  153. $recv($recv($self._testedClass())._new()).__lt_lt("a-foo--in-a-bar");
  154. $self._assertBodyEndsWith_("a-foo--in-a-bar");
  155. $1=$recv(document)._body();
  156. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  157. $ctx1.sendIdx["body"]=1;
  158. //>>excludeEnd("ctx");
  159. $recv($1)._removeChild_($recv($recv(document)._body())._lastChild());
  160. return self;
  161. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  162. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertString",{})});
  163. //>>excludeEnd("ctx");
  164. },
  165. //>>excludeStart("ide", pragmas.excludeIdeData);
  166. args: [],
  167. source: "testDefaultInsertString\x0a\x09self testedClass new << 'a-foo--in-a-bar'.\x0a\x09self assertBodyEndsWith: 'a-foo--in-a-bar'.\x0a\x09document body removeChild: document body lastChild",
  168. referencedClasses: [],
  169. //>>excludeEnd("ide");
  170. pragmas: [],
  171. messageSends: ["<<", "new", "testedClass", "assertBodyEndsWith:", "removeChild:", "body", "lastChild"]
  172. }),
  173. $globals.DOMiteTest);
  174. $core.addMethod(
  175. $core.method({
  176. selector: "testDefaultInsertStringInFragment",
  177. protocol: "testing",
  178. fn: function (){
  179. var self=this,$self=this;
  180. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  181. return $core.withContext(function($ctx1) {
  182. //>>excludeEnd("ctx");
  183. var $2,$1,$3;
  184. $2=$self._testedClass();
  185. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  186. $ctx1.sendIdx["testedClass"]=1;
  187. //>>excludeEnd("ctx");
  188. $1=$recv($2)._new();
  189. $recv($1).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("a-foo--in-a-bar"));
  190. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  191. $ctx1.sendIdx["<<"]=1;
  192. //>>excludeEnd("ctx");
  193. $self._assertBodyEndsWith_("a-foo--in-a-bar");
  194. $3=$recv(document)._body();
  195. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  196. $ctx1.sendIdx["body"]=1;
  197. //>>excludeEnd("ctx");
  198. $recv($3)._removeChild_($recv($recv(document)._body())._lastChild());
  199. return self;
  200. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  201. }, function($ctx1) {$ctx1.fill(self,"testDefaultInsertStringInFragment",{})});
  202. //>>excludeEnd("ctx");
  203. },
  204. //>>excludeStart("ide", pragmas.excludeIdeData);
  205. args: [],
  206. source: "testDefaultInsertStringInFragment\x0a\x09self testedClass new << (self testedClass newStream << 'a-foo--in-a-bar').\x0a\x09self assertBodyEndsWith: 'a-foo--in-a-bar'.\x0a\x09document body removeChild: document body lastChild",
  207. referencedClasses: [],
  208. //>>excludeEnd("ide");
  209. pragmas: [],
  210. messageSends: ["<<", "new", "testedClass", "newStream", "assertBodyEndsWith:", "removeChild:", "body", "lastChild"]
  211. }),
  212. $globals.DOMiteTest);
  213. $core.addMethod(
  214. $core.method({
  215. selector: "testFromBadSelectorIsInvalid",
  216. protocol: "testing",
  217. fn: function (){
  218. var self=this,$self=this;
  219. var d;
  220. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  221. return $core.withContext(function($ctx1) {
  222. //>>excludeEnd("ctx");
  223. var $1,$2,$3,$4;
  224. $1=$self._testedClass();
  225. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  226. $ctx1.sendIdx["testedClass"]=1;
  227. //>>excludeEnd("ctx");
  228. d=$recv($1)._at_("#goo");
  229. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  230. $ctx1.sendIdx["at:"]=1;
  231. //>>excludeEnd("ctx");
  232. $2=$recv(d)._isInvalid();
  233. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  234. $ctx1.sendIdx["isInvalid"]=1;
  235. //>>excludeEnd("ctx");
  236. $self._assert_($2);
  237. $3=$self._testedClass();
  238. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  239. $ctx1.sendIdx["testedClass"]=2;
  240. //>>excludeEnd("ctx");
  241. d=$recv($3)._at_("body");
  242. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  243. $ctx1.sendIdx["at:"]=2;
  244. //>>excludeEnd("ctx");
  245. $4=$recv(d)._isInvalid();
  246. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  247. $ctx1.sendIdx["isInvalid"]=2;
  248. //>>excludeEnd("ctx");
  249. $self._deny_($4);
  250. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  251. $ctx1.sendIdx["deny:"]=1;
  252. //>>excludeEnd("ctx");
  253. d=$recv($self._testedClass())._at_("html body div#fixture");
  254. $self._deny_($recv(d)._isInvalid());
  255. return self;
  256. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  257. }, function($ctx1) {$ctx1.fill(self,"testFromBadSelectorIsInvalid",{d:d})});
  258. //>>excludeEnd("ctx");
  259. },
  260. //>>excludeStart("ide", pragmas.excludeIdeData);
  261. args: [],
  262. 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",
  263. referencedClasses: [],
  264. //>>excludeEnd("ide");
  265. pragmas: [],
  266. messageSends: ["at:", "testedClass", "assert:", "isInvalid", "deny:"]
  267. }),
  268. $globals.DOMiteTest);
  269. $core.addMethod(
  270. $core.method({
  271. selector: "testInsertDomNode",
  272. protocol: "testing",
  273. fn: function (){
  274. var self=this,$self=this;
  275. var d;
  276. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  277. return $core.withContext(function($ctx1) {
  278. //>>excludeEnd("ctx");
  279. d=$recv($self._testedClass())._fromElement_($self.fixtureDiv);
  280. $recv(d).__lt_lt($recv(document)._createElement_("pre"));
  281. $self._assertBodyEndsWith_(">sentinel<pre></pre></div>");
  282. return self;
  283. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  284. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNode",{d:d})});
  285. //>>excludeEnd("ctx");
  286. },
  287. //>>excludeStart("ide", pragmas.excludeIdeData);
  288. args: [],
  289. source: "testInsertDomNode\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << (document createElement: 'pre').\x0a\x09self assertBodyEndsWith: '>sentinel<pre></pre></div>'",
  290. referencedClasses: [],
  291. //>>excludeEnd("ide");
  292. pragmas: [],
  293. messageSends: ["fromElement:", "testedClass", "<<", "createElement:", "assertBodyEndsWith:"]
  294. }),
  295. $globals.DOMiteTest);
  296. $core.addMethod(
  297. $core.method({
  298. selector: "testInsertDomNodeInFragment",
  299. protocol: "testing",
  300. fn: function (){
  301. var self=this,$self=this;
  302. var d;
  303. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  304. return $core.withContext(function($ctx1) {
  305. //>>excludeEnd("ctx");
  306. var $1;
  307. $1=$self._testedClass();
  308. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  309. $ctx1.sendIdx["testedClass"]=1;
  310. //>>excludeEnd("ctx");
  311. d=$recv($1)._at_("#fixture");
  312. $recv(d).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt($recv(document)._createElement_("script")));
  313. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  314. $ctx1.sendIdx["<<"]=1;
  315. //>>excludeEnd("ctx");
  316. $self._assertBodyEndsWith_(">sentinel<script></script></div>");
  317. return self;
  318. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  319. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNodeInFragment",{d:d})});
  320. //>>excludeEnd("ctx");
  321. },
  322. //>>excludeStart("ide", pragmas.excludeIdeData);
  323. args: [],
  324. source: "testInsertDomNodeInFragment\x0a\x09| d |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09d << (self testedClass newStream << (document createElement: 'script')).\x0a\x09self assertBodyEndsWith: '>sentinel<script></script></div>'",
  325. referencedClasses: [],
  326. //>>excludeEnd("ide");
  327. pragmas: [],
  328. messageSends: ["at:", "testedClass", "<<", "newStream", "createElement:", "assertBodyEndsWith:"]
  329. }),
  330. $globals.DOMiteTest);
  331. $core.addMethod(
  332. $core.method({
  333. selector: "testInsertDomNodeInRawDomFragment",
  334. protocol: "testing",
  335. fn: function (){
  336. var self=this,$self=this;
  337. var d,f;
  338. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  339. return $core.withContext(function($ctx1) {
  340. //>>excludeEnd("ctx");
  341. d=$recv($self._testedClass())._at_("#fixture");
  342. f=$recv(document)._createDocumentFragment();
  343. $recv(f)._appendChild_($recv(document)._createElement_("script"));
  344. $recv(d).__lt_lt(f);
  345. $self._assertBodyEndsWith_(">sentinel<script></script></div>");
  346. return self;
  347. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  348. }, function($ctx1) {$ctx1.fill(self,"testInsertDomNodeInRawDomFragment",{d:d,f:f})});
  349. //>>excludeEnd("ctx");
  350. },
  351. //>>excludeStart("ide", pragmas.excludeIdeData);
  352. args: [],
  353. source: "testInsertDomNodeInRawDomFragment\x0a\x09| d f |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09f := document createDocumentFragment.\x0a\x09f appendChild: (document createElement: 'script').\x0a\x09d << f.\x0a\x09self assertBodyEndsWith: '>sentinel<script></script></div>'",
  354. referencedClasses: [],
  355. //>>excludeEnd("ide");
  356. pragmas: [],
  357. messageSends: ["at:", "testedClass", "createDocumentFragment", "appendChild:", "createElement:", "<<", "assertBodyEndsWith:"]
  358. }),
  359. $globals.DOMiteTest);
  360. $core.addMethod(
  361. $core.method({
  362. selector: "testInsertElement",
  363. protocol: "testing",
  364. fn: function (){
  365. var self=this,$self=this;
  366. var d;
  367. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  368. return $core.withContext(function($ctx1) {
  369. //>>excludeEnd("ctx");
  370. var $1;
  371. $1=$self._testedClass();
  372. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  373. $ctx1.sendIdx["testedClass"]=1;
  374. //>>excludeEnd("ctx");
  375. d=$recv($1)._at_("html body div#fixture");
  376. $recv(d).__lt_lt($recv($self._testedClass())._newElement_("p"));
  377. $self._assertBodyEndsWith_(">sentinel<p></p></div>");
  378. return self;
  379. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  380. }, function($ctx1) {$ctx1.fill(self,"testInsertElement",{d:d})});
  381. //>>excludeEnd("ctx");
  382. },
  383. //>>excludeStart("ide", pragmas.excludeIdeData);
  384. args: [],
  385. source: "testInsertElement\x0a\x09| d |\x0a\x09d := self testedClass at: 'html body div#fixture'.\x0a\x09d << (self testedClass newElement: 'p').\x0a\x09self assertBodyEndsWith: '>sentinel<p></p></div>'",
  386. referencedClasses: [],
  387. //>>excludeEnd("ide");
  388. pragmas: [],
  389. messageSends: ["at:", "testedClass", "<<", "newElement:", "assertBodyEndsWith:"]
  390. }),
  391. $globals.DOMiteTest);
  392. $core.addMethod(
  393. $core.method({
  394. selector: "testInsertElementTwoLevel",
  395. protocol: "testing",
  396. fn: function (){
  397. var self=this,$self=this;
  398. var d,p,s;
  399. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  400. return $core.withContext(function($ctx1) {
  401. //>>excludeEnd("ctx");
  402. var $1,$2;
  403. $1=$self._testedClass();
  404. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  405. $ctx1.sendIdx["testedClass"]=1;
  406. //>>excludeEnd("ctx");
  407. d=$recv($1)._fromElement_($self.fixtureDiv);
  408. $2=$self._testedClass();
  409. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  410. $ctx1.sendIdx["testedClass"]=2;
  411. //>>excludeEnd("ctx");
  412. p=$recv($2)._newElement_("p");
  413. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  414. $ctx1.sendIdx["newElement:"]=1;
  415. //>>excludeEnd("ctx");
  416. $recv(d).__lt_lt(p);
  417. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  418. $ctx1.sendIdx["<<"]=1;
  419. //>>excludeEnd("ctx");
  420. s=$recv($self._testedClass())._newElement_("span");
  421. $recv(p).__lt_lt(s);
  422. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  423. $ctx1.sendIdx["<<"]=2;
  424. //>>excludeEnd("ctx");
  425. $recv(s).__lt_lt("dom-mite");
  426. $self._assertBodyEndsWith_(">sentinel<p><span>dom-mite</span></p></div>");
  427. return self;
  428. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  429. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevel",{d:d,p:p,s:s})});
  430. //>>excludeEnd("ctx");
  431. },
  432. //>>excludeStart("ide", pragmas.excludeIdeData);
  433. args: [],
  434. 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 assertBodyEndsWith: '>sentinel<p><span>dom-mite</span></p></div>'",
  435. referencedClasses: [],
  436. //>>excludeEnd("ide");
  437. pragmas: [],
  438. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  439. }),
  440. $globals.DOMiteTest);
  441. $core.addMethod(
  442. $core.method({
  443. selector: "testInsertElementTwoLevelViaFragments",
  444. protocol: "testing",
  445. fn: function (){
  446. var self=this,$self=this;
  447. var d,p,s;
  448. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  449. return $core.withContext(function($ctx1) {
  450. //>>excludeEnd("ctx");
  451. var $1,$2,$3,$6,$5,$4,$7,$8,$11,$10,$9;
  452. $1=$self._testedClass();
  453. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  454. $ctx1.sendIdx["testedClass"]=1;
  455. //>>excludeEnd("ctx");
  456. d=$recv($1)._at_("#fixture");
  457. $2=$self._testedClass();
  458. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  459. $ctx1.sendIdx["testedClass"]=2;
  460. //>>excludeEnd("ctx");
  461. p=$recv($2)._newElement_("p");
  462. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  463. $ctx1.sendIdx["newElement:"]=1;
  464. //>>excludeEnd("ctx");
  465. $3=d;
  466. $6=$self._testedClass();
  467. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  468. $ctx1.sendIdx["testedClass"]=3;
  469. //>>excludeEnd("ctx");
  470. $5=$recv($6)._newStream();
  471. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  472. $ctx1.sendIdx["newStream"]=1;
  473. //>>excludeEnd("ctx");
  474. $4=$recv($5).__lt_lt(p);
  475. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  476. $ctx1.sendIdx["<<"]=2;
  477. //>>excludeEnd("ctx");
  478. $recv($3).__lt_lt($4);
  479. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  480. $ctx1.sendIdx["<<"]=1;
  481. //>>excludeEnd("ctx");
  482. $7=$self._testedClass();
  483. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  484. $ctx1.sendIdx["testedClass"]=4;
  485. //>>excludeEnd("ctx");
  486. s=$recv($7)._newElement_("span");
  487. $8=p;
  488. $11=$self._testedClass();
  489. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  490. $ctx1.sendIdx["testedClass"]=5;
  491. //>>excludeEnd("ctx");
  492. $10=$recv($11)._newStream();
  493. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  494. $ctx1.sendIdx["newStream"]=2;
  495. //>>excludeEnd("ctx");
  496. $9=$recv($10).__lt_lt(s);
  497. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  498. $ctx1.sendIdx["<<"]=4;
  499. //>>excludeEnd("ctx");
  500. $recv($8).__lt_lt($9);
  501. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  502. $ctx1.sendIdx["<<"]=3;
  503. //>>excludeEnd("ctx");
  504. $recv(s).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("dom-mite"));
  505. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  506. $ctx1.sendIdx["<<"]=5;
  507. //>>excludeEnd("ctx");
  508. $self._assertBodyEndsWith_(">sentinel<p><span>dom-mite</span></p></div>");
  509. return self;
  510. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  511. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaFragments",{d:d,p:p,s:s})});
  512. //>>excludeEnd("ctx");
  513. },
  514. //>>excludeStart("ide", pragmas.excludeIdeData);
  515. args: [],
  516. 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 assertBodyEndsWith: '>sentinel<p><span>dom-mite</span></p></div>'",
  517. referencedClasses: [],
  518. //>>excludeEnd("ide");
  519. pragmas: [],
  520. messageSends: ["at:", "testedClass", "newElement:", "<<", "newStream", "assertBodyEndsWith:"]
  521. }),
  522. $globals.DOMiteTest);
  523. $core.addMethod(
  524. $core.method({
  525. selector: "testInsertElementTwoLevelViaTwoLevelFragments",
  526. protocol: "testing",
  527. fn: function (){
  528. var self=this,$self=this;
  529. var d,p,s;
  530. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  531. return $core.withContext(function($ctx1) {
  532. //>>excludeEnd("ctx");
  533. var $1,$2,$3,$6,$5,$9,$8,$7,$4,$10,$11,$14,$13,$17,$16,$15,$12,$18,$21,$20,$19;
  534. $1=$self._testedClass();
  535. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  536. $ctx1.sendIdx["testedClass"]=1;
  537. //>>excludeEnd("ctx");
  538. d=$recv($1)._fromElement_($self.fixtureDiv);
  539. $2=$self._testedClass();
  540. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  541. $ctx1.sendIdx["testedClass"]=2;
  542. //>>excludeEnd("ctx");
  543. p=$recv($2)._newElement_("p");
  544. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  545. $ctx1.sendIdx["newElement:"]=1;
  546. //>>excludeEnd("ctx");
  547. $3=d;
  548. $6=$self._testedClass();
  549. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  550. $ctx1.sendIdx["testedClass"]=3;
  551. //>>excludeEnd("ctx");
  552. $5=$recv($6)._newStream();
  553. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  554. $ctx1.sendIdx["newStream"]=1;
  555. //>>excludeEnd("ctx");
  556. $9=$self._testedClass();
  557. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  558. $ctx1.sendIdx["testedClass"]=4;
  559. //>>excludeEnd("ctx");
  560. $8=$recv($9)._newStream();
  561. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  562. $ctx1.sendIdx["newStream"]=2;
  563. //>>excludeEnd("ctx");
  564. $7=$recv($8).__lt_lt(p);
  565. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  566. $ctx1.sendIdx["<<"]=3;
  567. //>>excludeEnd("ctx");
  568. $4=$recv($5).__lt_lt($7);
  569. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  570. $ctx1.sendIdx["<<"]=2;
  571. //>>excludeEnd("ctx");
  572. $recv($3).__lt_lt($4);
  573. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  574. $ctx1.sendIdx["<<"]=1;
  575. //>>excludeEnd("ctx");
  576. $10=$self._testedClass();
  577. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  578. $ctx1.sendIdx["testedClass"]=5;
  579. //>>excludeEnd("ctx");
  580. s=$recv($10)._newElement_("span");
  581. $11=p;
  582. $14=$self._testedClass();
  583. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  584. $ctx1.sendIdx["testedClass"]=6;
  585. //>>excludeEnd("ctx");
  586. $13=$recv($14)._newStream();
  587. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  588. $ctx1.sendIdx["newStream"]=3;
  589. //>>excludeEnd("ctx");
  590. $17=$self._testedClass();
  591. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  592. $ctx1.sendIdx["testedClass"]=7;
  593. //>>excludeEnd("ctx");
  594. $16=$recv($17)._newStream();
  595. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  596. $ctx1.sendIdx["newStream"]=4;
  597. //>>excludeEnd("ctx");
  598. $15=$recv($16).__lt_lt(s);
  599. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  600. $ctx1.sendIdx["<<"]=6;
  601. //>>excludeEnd("ctx");
  602. $12=$recv($13).__lt_lt($15);
  603. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  604. $ctx1.sendIdx["<<"]=5;
  605. //>>excludeEnd("ctx");
  606. $recv($11).__lt_lt($12);
  607. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  608. $ctx1.sendIdx["<<"]=4;
  609. //>>excludeEnd("ctx");
  610. $18=s;
  611. $21=$self._testedClass();
  612. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  613. $ctx1.sendIdx["testedClass"]=8;
  614. //>>excludeEnd("ctx");
  615. $20=$recv($21)._newStream();
  616. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  617. $ctx1.sendIdx["newStream"]=5;
  618. //>>excludeEnd("ctx");
  619. $19=$recv($20).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("dom-mite"));
  620. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  621. $ctx1.sendIdx["<<"]=8;
  622. //>>excludeEnd("ctx");
  623. $recv($18).__lt_lt($19);
  624. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  625. $ctx1.sendIdx["<<"]=7;
  626. //>>excludeEnd("ctx");
  627. $self._assertBodyEndsWith_(">sentinel<p><span>dom-mite</span></p></div>");
  628. return self;
  629. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  630. }, function($ctx1) {$ctx1.fill(self,"testInsertElementTwoLevelViaTwoLevelFragments",{d:d,p:p,s:s})});
  631. //>>excludeEnd("ctx");
  632. },
  633. //>>excludeStart("ide", pragmas.excludeIdeData);
  634. args: [],
  635. 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 assertBodyEndsWith: '>sentinel<p><span>dom-mite</span></p></div>'",
  636. referencedClasses: [],
  637. //>>excludeEnd("ide");
  638. pragmas: [],
  639. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "newStream", "assertBodyEndsWith:"]
  640. }),
  641. $globals.DOMiteTest);
  642. $core.addMethod(
  643. $core.method({
  644. selector: "testInsertString",
  645. protocol: "testing",
  646. fn: function (){
  647. var self=this,$self=this;
  648. var d;
  649. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  650. return $core.withContext(function($ctx1) {
  651. //>>excludeEnd("ctx");
  652. d=$recv($self._testedClass())._fromElement_($self.fixtureDiv);
  653. $recv(d).__lt_lt("a-foo--in-a-bar");
  654. $self._assertBodyEndsWith_(">sentinela-foo--in-a-bar</div>");
  655. return self;
  656. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  657. }, function($ctx1) {$ctx1.fill(self,"testInsertString",{d:d})});
  658. //>>excludeEnd("ctx");
  659. },
  660. //>>excludeStart("ide", pragmas.excludeIdeData);
  661. args: [],
  662. source: "testInsertString\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << 'a-foo--in-a-bar'.\x0a\x09self assertBodyEndsWith: '>sentinela-foo--in-a-bar</div>'",
  663. referencedClasses: [],
  664. //>>excludeEnd("ide");
  665. pragmas: [],
  666. messageSends: ["fromElement:", "testedClass", "<<", "assertBodyEndsWith:"]
  667. }),
  668. $globals.DOMiteTest);
  669. $core.addMethod(
  670. $core.method({
  671. selector: "testInsertStringInFragment",
  672. protocol: "testing",
  673. fn: function (){
  674. var self=this,$self=this;
  675. var d;
  676. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  677. return $core.withContext(function($ctx1) {
  678. //>>excludeEnd("ctx");
  679. var $1;
  680. $1=$self._testedClass();
  681. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  682. $ctx1.sendIdx["testedClass"]=1;
  683. //>>excludeEnd("ctx");
  684. d=$recv($1)._at_("#fixture");
  685. $recv(d).__lt_lt($recv($recv($self._testedClass())._newStream()).__lt_lt("a-foo--in-a-bar"));
  686. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  687. $ctx1.sendIdx["<<"]=1;
  688. //>>excludeEnd("ctx");
  689. $self._assertBodyEndsWith_(">sentinela-foo--in-a-bar</div>");
  690. return self;
  691. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  692. }, function($ctx1) {$ctx1.fill(self,"testInsertStringInFragment",{d:d})});
  693. //>>excludeEnd("ctx");
  694. },
  695. //>>excludeStart("ide", pragmas.excludeIdeData);
  696. args: [],
  697. source: "testInsertStringInFragment\x0a\x09| d |\x0a\x09d := self testedClass at: '#fixture'.\x0a\x09d << (self testedClass newStream << 'a-foo--in-a-bar').\x0a\x09self assertBodyEndsWith: '>sentinela-foo--in-a-bar</div>'",
  698. referencedClasses: [],
  699. //>>excludeEnd("ide");
  700. pragmas: [],
  701. messageSends: ["at:", "testedClass", "<<", "newStream", "assertBodyEndsWith:"]
  702. }),
  703. $globals.DOMiteTest);
  704. $core.addMethod(
  705. $core.method({
  706. selector: "testInsertStringifiedJSObject",
  707. protocol: "testing",
  708. fn: function (){
  709. var self=this,$self=this;
  710. var d,obj;
  711. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  712. return $core.withContext(function($ctx1) {
  713. //>>excludeEnd("ctx");
  714. var $1;
  715. d=$recv($self._testedClass())._fromElement_($self.fixtureDiv);
  716. obj=$recv($globals.JSON)._parse_("{}");
  717. $recv(d).__lt_lt(obj);
  718. $1=$recv(">sentinel".__comma($recv(obj)._asString())).__comma("</div>");
  719. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  720. $ctx1.sendIdx[","]=1;
  721. //>>excludeEnd("ctx");
  722. $self._assertBodyEndsWith_($1);
  723. return self;
  724. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  725. }, function($ctx1) {$ctx1.fill(self,"testInsertStringifiedJSObject",{d:d,obj:obj})});
  726. //>>excludeEnd("ctx");
  727. },
  728. //>>excludeStart("ide", pragmas.excludeIdeData);
  729. args: [],
  730. source: "testInsertStringifiedJSObject\x0a\x09| d obj |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09obj := JSON parse: '{}'.\x0a\x09d << obj.\x0a\x09self assertBodyEndsWith: '>sentinel', obj asString, '</div>'",
  731. referencedClasses: ["JSON"],
  732. //>>excludeEnd("ide");
  733. pragmas: [],
  734. messageSends: ["fromElement:", "testedClass", "parse:", "<<", "assertBodyEndsWith:", ",", "asString"]
  735. }),
  736. $globals.DOMiteTest);
  737. $core.addMethod(
  738. $core.method({
  739. selector: "testInsertStringifiedNumber",
  740. protocol: "testing",
  741. fn: function (){
  742. var self=this,$self=this;
  743. var d;
  744. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  745. return $core.withContext(function($ctx1) {
  746. //>>excludeEnd("ctx");
  747. d=$recv($self._testedClass())._fromElement_($self.fixtureDiv);
  748. $recv(d).__lt_lt((42));
  749. $self._assertBodyEndsWith_(">sentinel42</div>");
  750. return self;
  751. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  752. }, function($ctx1) {$ctx1.fill(self,"testInsertStringifiedNumber",{d:d})});
  753. //>>excludeEnd("ctx");
  754. },
  755. //>>excludeStart("ide", pragmas.excludeIdeData);
  756. args: [],
  757. source: "testInsertStringifiedNumber\x0a\x09| d |\x0a\x09d := self testedClass fromElement: fixtureDiv.\x0a\x09d << 42.\x0a\x09self assertBodyEndsWith: '>sentinel42</div>'",
  758. referencedClasses: [],
  759. //>>excludeEnd("ide");
  760. pragmas: [],
  761. messageSends: ["fromElement:", "testedClass", "<<", "assertBodyEndsWith:"]
  762. }),
  763. $globals.DOMiteTest);
  764. $core.addMethod(
  765. $core.method({
  766. selector: "testInsertTable",
  767. protocol: "testing",
  768. fn: function (){
  769. var self=this,$self=this;
  770. var d,tbl,tr;
  771. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  772. return $core.withContext(function($ctx1) {
  773. //>>excludeEnd("ctx");
  774. var $1,$2,$3,$4,$7,$6,$5,$8,$11,$10,$9,$12,$15,$14,$13,$16,$17,$20,$19,$18,$21,$24,$23,$22,$25,$26;
  775. $1=$self._testedClass();
  776. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  777. $ctx1.sendIdx["testedClass"]=1;
  778. //>>excludeEnd("ctx");
  779. d=$recv($1)._at_("html body div#fixture");
  780. $2=$self._testedClass();
  781. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  782. $ctx1.sendIdx["testedClass"]=2;
  783. //>>excludeEnd("ctx");
  784. tbl=$recv($2)._newElement_("table");
  785. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  786. $ctx1.sendIdx["newElement:"]=1;
  787. //>>excludeEnd("ctx");
  788. $3=$self._testedClass();
  789. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  790. $ctx1.sendIdx["testedClass"]=3;
  791. //>>excludeEnd("ctx");
  792. tr=$recv($3)._newElement_("tr");
  793. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  794. $ctx1.sendIdx["newElement:"]=2;
  795. //>>excludeEnd("ctx");
  796. $4=tr;
  797. $7=$self._testedClass();
  798. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  799. $ctx1.sendIdx["testedClass"]=4;
  800. //>>excludeEnd("ctx");
  801. $6=$recv($7)._newElement_("td");
  802. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  803. $ctx1.sendIdx["newElement:"]=3;
  804. //>>excludeEnd("ctx");
  805. $5=$recv($6).__lt_lt("A");
  806. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  807. $ctx1.sendIdx["<<"]=2;
  808. //>>excludeEnd("ctx");
  809. $recv($4).__lt_lt($5);
  810. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  811. $ctx1.sendIdx["<<"]=1;
  812. //>>excludeEnd("ctx");
  813. $8=tr;
  814. $11=$self._testedClass();
  815. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  816. $ctx1.sendIdx["testedClass"]=5;
  817. //>>excludeEnd("ctx");
  818. $10=$recv($11)._newElement_("td");
  819. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  820. $ctx1.sendIdx["newElement:"]=4;
  821. //>>excludeEnd("ctx");
  822. $9=$recv($10).__lt_lt("B");
  823. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  824. $ctx1.sendIdx["<<"]=4;
  825. //>>excludeEnd("ctx");
  826. $recv($8).__lt_lt($9);
  827. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  828. $ctx1.sendIdx["<<"]=3;
  829. //>>excludeEnd("ctx");
  830. $12=tr;
  831. $15=$self._testedClass();
  832. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  833. $ctx1.sendIdx["testedClass"]=6;
  834. //>>excludeEnd("ctx");
  835. $14=$recv($15)._newElement_("td");
  836. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  837. $ctx1.sendIdx["newElement:"]=5;
  838. //>>excludeEnd("ctx");
  839. $13=$recv($14).__lt_lt("C");
  840. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  841. $ctx1.sendIdx["<<"]=6;
  842. //>>excludeEnd("ctx");
  843. $recv($12).__lt_lt($13);
  844. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  845. $ctx1.sendIdx["<<"]=5;
  846. //>>excludeEnd("ctx");
  847. $recv(tbl).__lt_lt(tr);
  848. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  849. $ctx1.sendIdx["<<"]=7;
  850. //>>excludeEnd("ctx");
  851. $16=$self._testedClass();
  852. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  853. $ctx1.sendIdx["testedClass"]=7;
  854. //>>excludeEnd("ctx");
  855. tr=$recv($16)._newElement_("tr");
  856. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  857. $ctx1.sendIdx["newElement:"]=6;
  858. //>>excludeEnd("ctx");
  859. $17=tr;
  860. $20=$self._testedClass();
  861. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  862. $ctx1.sendIdx["testedClass"]=8;
  863. //>>excludeEnd("ctx");
  864. $19=$recv($20)._newElement_("td");
  865. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  866. $ctx1.sendIdx["newElement:"]=7;
  867. //>>excludeEnd("ctx");
  868. $18=$recv($19).__lt_lt("D");
  869. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  870. $ctx1.sendIdx["<<"]=9;
  871. //>>excludeEnd("ctx");
  872. $recv($17).__lt_lt($18);
  873. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  874. $ctx1.sendIdx["<<"]=8;
  875. //>>excludeEnd("ctx");
  876. $21=tr;
  877. $24=$self._testedClass();
  878. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  879. $ctx1.sendIdx["testedClass"]=9;
  880. //>>excludeEnd("ctx");
  881. $23=$recv($24)._newElement_("td");
  882. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  883. $ctx1.sendIdx["newElement:"]=8;
  884. //>>excludeEnd("ctx");
  885. $22=$recv($23).__lt_lt("E");
  886. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  887. $ctx1.sendIdx["<<"]=11;
  888. //>>excludeEnd("ctx");
  889. $recv($21).__lt_lt($22);
  890. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  891. $ctx1.sendIdx["<<"]=10;
  892. //>>excludeEnd("ctx");
  893. $25=tr;
  894. $26=$recv($recv($self._testedClass())._newElement_("td")).__lt_lt("F");
  895. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  896. $ctx1.sendIdx["<<"]=13;
  897. //>>excludeEnd("ctx");
  898. $recv($25).__lt_lt($26);
  899. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  900. $ctx1.sendIdx["<<"]=12;
  901. //>>excludeEnd("ctx");
  902. $recv(tbl).__lt_lt(tr);
  903. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  904. $ctx1.sendIdx["<<"]=14;
  905. //>>excludeEnd("ctx");
  906. $recv(d).__lt_lt(tbl);
  907. $self._assertBodyEndsWith_(">sentinel<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>");
  908. return self;
  909. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  910. }, function($ctx1) {$ctx1.fill(self,"testInsertTable",{d:d,tbl:tbl,tr:tr})});
  911. //>>excludeEnd("ctx");
  912. },
  913. //>>excludeStart("ide", pragmas.excludeIdeData);
  914. args: [],
  915. 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 := self testedClass newElement: 'tr'.\x0a\x09tr << ((self testedClass newElement: 'td') << 'D').\x0a\x09tr << ((self testedClass newElement: 'td') << 'E').\x0a\x09tr << ((self testedClass newElement: 'td') << 'F').\x0a\x09\x0a\x09tbl << tr.\x0a\x09d << tbl.\x0a\x09 \x0a\x09self assertBodyEndsWith: '>sentinel<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>'",
  916. referencedClasses: [],
  917. //>>excludeEnd("ide");
  918. pragmas: [],
  919. messageSends: ["at:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  920. }),
  921. $globals.DOMiteTest);
  922. $core.addMethod(
  923. $core.method({
  924. selector: "testMultipleInserts",
  925. protocol: "testing",
  926. fn: function (){
  927. var self=this,$self=this;
  928. var d,p,s;
  929. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  930. return $core.withContext(function($ctx1) {
  931. //>>excludeEnd("ctx");
  932. var $1,$2;
  933. $1=$self._testedClass();
  934. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  935. $ctx1.sendIdx["testedClass"]=1;
  936. //>>excludeEnd("ctx");
  937. d=$recv($1)._fromElement_($self.fixtureDiv);
  938. $2=$self._testedClass();
  939. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  940. $ctx1.sendIdx["testedClass"]=2;
  941. //>>excludeEnd("ctx");
  942. p=$recv($2)._newElement_("p");
  943. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  944. $ctx1.sendIdx["newElement:"]=1;
  945. //>>excludeEnd("ctx");
  946. $recv(d).__lt_lt(p);
  947. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  948. $ctx1.sendIdx["<<"]=1;
  949. //>>excludeEnd("ctx");
  950. s=$recv($self._testedClass())._newElement_("span");
  951. $recv(d).__lt_lt(s);
  952. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  953. $ctx1.sendIdx["<<"]=2;
  954. //>>excludeEnd("ctx");
  955. $recv(d).__lt_lt("dom-mite");
  956. $self._assertBodyEndsWith_(">sentinel<p></p><span></span>dom-mite</div>");
  957. return self;
  958. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  959. }, function($ctx1) {$ctx1.fill(self,"testMultipleInserts",{d:d,p:p,s:s})});
  960. //>>excludeEnd("ctx");
  961. },
  962. //>>excludeStart("ide", pragmas.excludeIdeData);
  963. args: [],
  964. 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 assertBodyEndsWith: '>sentinel<p></p><span></span>dom-mite</div>'",
  965. referencedClasses: [],
  966. //>>excludeEnd("ide");
  967. pragmas: [],
  968. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "assertBodyEndsWith:"]
  969. }),
  970. $globals.DOMiteTest);
  971. $core.addMethod(
  972. $core.method({
  973. selector: "testMultipleInsertsWithClear",
  974. protocol: "testing",
  975. fn: function (){
  976. var self=this,$self=this;
  977. var d,p,s;
  978. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  979. return $core.withContext(function($ctx1) {
  980. //>>excludeEnd("ctx");
  981. var $1,$2;
  982. $1=$self._testedClass();
  983. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  984. $ctx1.sendIdx["testedClass"]=1;
  985. //>>excludeEnd("ctx");
  986. d=$recv($1)._at_("#fixture");
  987. $2=$self._testedClass();
  988. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  989. $ctx1.sendIdx["testedClass"]=2;
  990. //>>excludeEnd("ctx");
  991. p=$recv($2)._newElement_("p");
  992. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  993. $ctx1.sendIdx["newElement:"]=1;
  994. //>>excludeEnd("ctx");
  995. $recv(d).__lt_lt(p);
  996. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  997. $ctx1.sendIdx["<<"]=1;
  998. //>>excludeEnd("ctx");
  999. s=$recv($self._testedClass())._newElement_("span");
  1000. $recv(d).__lt_lt(s);
  1001. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1002. $ctx1.sendIdx["<<"]=2;
  1003. //>>excludeEnd("ctx");
  1004. $recv(d)._resetContents();
  1005. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1006. $ctx1.sendIdx["resetContents"]=1;
  1007. //>>excludeEnd("ctx");
  1008. $recv(d).__lt_lt("dom-mite");
  1009. $recv(d)._resetContents();
  1010. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1011. $ctx1.sendIdx["resetContents"]=2;
  1012. //>>excludeEnd("ctx");
  1013. $recv(d)._resetContents();
  1014. $self._assertBodyEndsWith_("></div>");
  1015. return self;
  1016. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1017. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClear",{d:d,p:p,s:s})});
  1018. //>>excludeEnd("ctx");
  1019. },
  1020. //>>excludeStart("ide", pragmas.excludeIdeData);
  1021. args: [],
  1022. 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 assertBodyEndsWith: '></div>'",
  1023. referencedClasses: [],
  1024. //>>excludeEnd("ide");
  1025. pragmas: [],
  1026. messageSends: ["at:", "testedClass", "newElement:", "<<", "resetContents", "assertBodyEndsWith:"]
  1027. }),
  1028. $globals.DOMiteTest);
  1029. $core.addMethod(
  1030. $core.method({
  1031. selector: "testMultipleInsertsWithClearInBetween",
  1032. protocol: "testing",
  1033. fn: function (){
  1034. var self=this,$self=this;
  1035. var d,p,s;
  1036. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1037. return $core.withContext(function($ctx1) {
  1038. //>>excludeEnd("ctx");
  1039. var $1,$2;
  1040. $1=$self._testedClass();
  1041. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1042. $ctx1.sendIdx["testedClass"]=1;
  1043. //>>excludeEnd("ctx");
  1044. d=$recv($1)._fromElement_($self.fixtureDiv);
  1045. $2=$self._testedClass();
  1046. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1047. $ctx1.sendIdx["testedClass"]=2;
  1048. //>>excludeEnd("ctx");
  1049. p=$recv($2)._newElement_("p");
  1050. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1051. $ctx1.sendIdx["newElement:"]=1;
  1052. //>>excludeEnd("ctx");
  1053. $recv(d).__lt_lt(p);
  1054. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1055. $ctx1.sendIdx["<<"]=1;
  1056. //>>excludeEnd("ctx");
  1057. s=$recv($self._testedClass())._newElement_("span");
  1058. $recv(d).__lt_lt(s);
  1059. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1060. $ctx1.sendIdx["<<"]=2;
  1061. //>>excludeEnd("ctx");
  1062. $recv(d)._resetContents();
  1063. $recv(d).__lt_lt("dom-mite");
  1064. $self._assertBodyEndsWith_(">dom-mite</div>");
  1065. return self;
  1066. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1067. }, function($ctx1) {$ctx1.fill(self,"testMultipleInsertsWithClearInBetween",{d:d,p:p,s:s})});
  1068. //>>excludeEnd("ctx");
  1069. },
  1070. //>>excludeStart("ide", pragmas.excludeIdeData);
  1071. args: [],
  1072. 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 assertBodyEndsWith: '>dom-mite</div>'",
  1073. referencedClasses: [],
  1074. //>>excludeEnd("ide");
  1075. pragmas: [],
  1076. messageSends: ["fromElement:", "testedClass", "newElement:", "<<", "resetContents", "assertBodyEndsWith:"]
  1077. }),
  1078. $globals.DOMiteTest);
  1079. $core.addMethod(
  1080. $core.method({
  1081. selector: "testedClass",
  1082. protocol: "fixture",
  1083. fn: function (){
  1084. var self=this,$self=this;
  1085. return $globals.Domite;
  1086. },
  1087. //>>excludeStart("ide", pragmas.excludeIdeData);
  1088. args: [],
  1089. source: "testedClass\x0a\x0a\x09^ Domite",
  1090. referencedClasses: ["Domite"],
  1091. //>>excludeEnd("ide");
  1092. pragmas: [],
  1093. messageSends: []
  1094. }),
  1095. $globals.DOMiteTest);
  1096. });