Helios-SUnit-Tests.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  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("Helios-SUnit-Tests");
  4. $pkg.innerEval = function (expr) { return eval(expr); };
  5. $pkg.transport = {"type":"amd","amdNamespace":"helios"};
  6. $core.addClass("HLSUnitModelTest", $globals.TestCase, ["model"], "Helios-SUnit-Tests");
  7. //>>excludeStart("ide", pragmas.excludeIdeData);
  8. $globals.HLSUnitModelTest.comment="Test cases for the functionality of `HLSUnitModel`";
  9. //>>excludeEnd("ide");
  10. $core.addMethod(
  11. $core.method({
  12. selector: "setUp",
  13. protocol: "initializing",
  14. //>>excludeStart("ide", pragmas.excludeIdeData);
  15. args: [],
  16. source: "setUp\x0a\x09super setUp.\x0a\x09model := HLSUnitModel new",
  17. referencedClasses: ["HLSUnitModel"],
  18. //>>excludeEnd("ide");
  19. pragmas: [],
  20. messageSends: ["setUp", "new"]
  21. }, function ($methodClass){ return function (){
  22. var self=this,$self=this;
  23. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  24. return $core.withContext(function($ctx1) {
  25. //>>excludeEnd("ctx");
  26. [(
  27. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  28. $ctx1.supercall = true,
  29. //>>excludeEnd("ctx");
  30. ($methodClass.superclass||$boot.nilAsClass).fn.prototype._setUp.call($self))
  31. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  32. ,$ctx1.supercall = false
  33. //>>excludeEnd("ctx");
  34. ][0];
  35. $self.model=$recv($globals.HLSUnitModel)._new();
  36. return self;
  37. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  38. }, function($ctx1) {$ctx1.fill(self,"setUp",{})});
  39. //>>excludeEnd("ctx");
  40. }; }),
  41. $globals.HLSUnitModelTest);
  42. $core.addMethod(
  43. $core.method({
  44. selector: "testClassBecomesAvailable",
  45. protocol: "tests",
  46. //>>excludeStart("ide", pragmas.excludeIdeData);
  47. args: [],
  48. source: "testClassBecomesAvailable\x0a\x09self assert: model testClasses isEmpty.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: (model testClasses includes: self class).",
  49. referencedClasses: [],
  50. //>>excludeEnd("ide");
  51. pragmas: [],
  52. messageSends: ["assert:", "isEmpty", "testClasses", "selectPackage:", "thisPackage", "includes:", "class"]
  53. }, function ($methodClass){ return function (){
  54. var self=this,$self=this;
  55. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  56. return $core.withContext(function($ctx1) {
  57. //>>excludeEnd("ctx");
  58. [$self._assert_($recv([$recv($self.model)._testClasses()
  59. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  60. ,$ctx1.sendIdx["testClasses"]=1
  61. //>>excludeEnd("ctx");
  62. ][0])._isEmpty())
  63. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  64. ,$ctx1.sendIdx["assert:"]=1
  65. //>>excludeEnd("ctx");
  66. ][0];
  67. $recv($self.model)._selectPackage_($self._thisPackage());
  68. $self._assert_($recv($recv($self.model)._testClasses())._includes_($self._class()));
  69. return self;
  70. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  71. }, function($ctx1) {$ctx1.fill(self,"testClassBecomesAvailable",{})});
  72. //>>excludeEnd("ctx");
  73. }; }),
  74. $globals.HLSUnitModelTest);
  75. $core.addMethod(
  76. $core.method({
  77. selector: "testEmptyTestResults",
  78. protocol: "tests",
  79. //>>excludeStart("ide", pragmas.excludeIdeData);
  80. args: [],
  81. source: "testEmptyTestResults\x0a\x09self assert: (model testResult isKindOf: TestResult)",
  82. referencedClasses: ["TestResult"],
  83. //>>excludeEnd("ide");
  84. pragmas: [],
  85. messageSends: ["assert:", "isKindOf:", "testResult"]
  86. }, function ($methodClass){ return function (){
  87. var self=this,$self=this;
  88. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  89. return $core.withContext(function($ctx1) {
  90. //>>excludeEnd("ctx");
  91. $self._assert_($recv($recv($self.model)._testResult())._isKindOf_($globals.TestResult));
  92. return self;
  93. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  94. }, function($ctx1) {$ctx1.fill(self,"testEmptyTestResults",{})});
  95. //>>excludeEnd("ctx");
  96. }; }),
  97. $globals.HLSUnitModelTest);
  98. $core.addMethod(
  99. $core.method({
  100. selector: "testInvertSelectedClasses",
  101. protocol: "tests",
  102. //>>excludeStart("ide", pragmas.excludeIdeData);
  103. args: [],
  104. source: "testInvertSelectedClasses\x0a\x09model selectAllPackages.\x0a\x09model selectAllClasses.\x0a\x09model unselectClass: self class.\x0a\x09self assert: model selectedClasses notEmpty.\x0a\x09self assert: model selectedClasses size equals: model testClasses size - 1.\x0a\x09model invertSelectedClasses.\x0a\x09self assert: model selectedClasses size equals: 1.\x0a\x09self assert: model selectedClasses anyOne equals: self class.",
  105. referencedClasses: [],
  106. //>>excludeEnd("ide");
  107. pragmas: [],
  108. messageSends: ["selectAllPackages", "selectAllClasses", "unselectClass:", "class", "assert:", "notEmpty", "selectedClasses", "assert:equals:", "size", "-", "testClasses", "invertSelectedClasses", "anyOne"]
  109. }, function ($methodClass){ return function (){
  110. var self=this,$self=this;
  111. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  112. return $core.withContext(function($ctx1) {
  113. //>>excludeEnd("ctx");
  114. $recv($self.model)._selectAllPackages();
  115. $recv($self.model)._selectAllClasses();
  116. $recv($self.model)._unselectClass_([$self._class()
  117. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  118. ,$ctx1.sendIdx["class"]=1
  119. //>>excludeEnd("ctx");
  120. ][0]);
  121. $self._assert_($recv([$recv($self.model)._selectedClasses()
  122. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  123. ,$ctx1.sendIdx["selectedClasses"]=1
  124. //>>excludeEnd("ctx");
  125. ][0])._notEmpty());
  126. [$self._assert_equals_([$recv([$recv($self.model)._selectedClasses()
  127. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  128. ,$ctx1.sendIdx["selectedClasses"]=2
  129. //>>excludeEnd("ctx");
  130. ][0])._size()
  131. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  132. ,$ctx1.sendIdx["size"]=1
  133. //>>excludeEnd("ctx");
  134. ][0],$recv([$recv($recv($self.model)._testClasses())._size()
  135. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  136. ,$ctx1.sendIdx["size"]=2
  137. //>>excludeEnd("ctx");
  138. ][0]).__minus((1)))
  139. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  140. ,$ctx1.sendIdx["assert:equals:"]=1
  141. //>>excludeEnd("ctx");
  142. ][0];
  143. $recv($self.model)._invertSelectedClasses();
  144. [$self._assert_equals_($recv([$recv($self.model)._selectedClasses()
  145. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  146. ,$ctx1.sendIdx["selectedClasses"]=3
  147. //>>excludeEnd("ctx");
  148. ][0])._size(),(1))
  149. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  150. ,$ctx1.sendIdx["assert:equals:"]=2
  151. //>>excludeEnd("ctx");
  152. ][0];
  153. $self._assert_equals_($recv($recv($self.model)._selectedClasses())._anyOne(),$self._class());
  154. return self;
  155. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  156. }, function($ctx1) {$ctx1.fill(self,"testInvertSelectedClasses",{})});
  157. //>>excludeEnd("ctx");
  158. }; }),
  159. $globals.HLSUnitModelTest);
  160. $core.addMethod(
  161. $core.method({
  162. selector: "testInvertSelectedPackages",
  163. protocol: "tests",
  164. //>>excludeStart("ide", pragmas.excludeIdeData);
  165. args: [],
  166. source: "testInvertSelectedPackages\x0a\x09model selectAllPackages.\x0a\x09model unselectPackage: self thisPackage.\x0a\x09self assert: model selectedPackages notEmpty.\x0a\x09self assert: model selectedPackages size equals: model testPackages size - 1.\x0a\x09model invertSelectedPackages.\x0a\x09self assert: model selectedPackages size equals: 1.\x0a\x09self assert: model selectedPackages anyOne equals: self thisPackage.",
  167. referencedClasses: [],
  168. //>>excludeEnd("ide");
  169. pragmas: [],
  170. messageSends: ["selectAllPackages", "unselectPackage:", "thisPackage", "assert:", "notEmpty", "selectedPackages", "assert:equals:", "size", "-", "testPackages", "invertSelectedPackages", "anyOne"]
  171. }, function ($methodClass){ return function (){
  172. var self=this,$self=this;
  173. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  174. return $core.withContext(function($ctx1) {
  175. //>>excludeEnd("ctx");
  176. $recv($self.model)._selectAllPackages();
  177. $recv($self.model)._unselectPackage_([$self._thisPackage()
  178. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  179. ,$ctx1.sendIdx["thisPackage"]=1
  180. //>>excludeEnd("ctx");
  181. ][0]);
  182. $self._assert_($recv([$recv($self.model)._selectedPackages()
  183. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  184. ,$ctx1.sendIdx["selectedPackages"]=1
  185. //>>excludeEnd("ctx");
  186. ][0])._notEmpty());
  187. [$self._assert_equals_([$recv([$recv($self.model)._selectedPackages()
  188. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  189. ,$ctx1.sendIdx["selectedPackages"]=2
  190. //>>excludeEnd("ctx");
  191. ][0])._size()
  192. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  193. ,$ctx1.sendIdx["size"]=1
  194. //>>excludeEnd("ctx");
  195. ][0],$recv([$recv($recv($self.model)._testPackages())._size()
  196. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  197. ,$ctx1.sendIdx["size"]=2
  198. //>>excludeEnd("ctx");
  199. ][0]).__minus((1)))
  200. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  201. ,$ctx1.sendIdx["assert:equals:"]=1
  202. //>>excludeEnd("ctx");
  203. ][0];
  204. $recv($self.model)._invertSelectedPackages();
  205. [$self._assert_equals_($recv([$recv($self.model)._selectedPackages()
  206. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  207. ,$ctx1.sendIdx["selectedPackages"]=3
  208. //>>excludeEnd("ctx");
  209. ][0])._size(),(1))
  210. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  211. ,$ctx1.sendIdx["assert:equals:"]=2
  212. //>>excludeEnd("ctx");
  213. ][0];
  214. $self._assert_equals_($recv($recv($self.model)._selectedPackages())._anyOne(),$self._thisPackage());
  215. return self;
  216. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  217. }, function($ctx1) {$ctx1.fill(self,"testInvertSelectedPackages",{})});
  218. //>>excludeEnd("ctx");
  219. }; }),
  220. $globals.HLSUnitModelTest);
  221. $core.addMethod(
  222. $core.method({
  223. selector: "testSelectAllClasses",
  224. protocol: "tests",
  225. //>>excludeStart("ide", pragmas.excludeIdeData);
  226. args: [],
  227. source: "testSelectAllClasses\x0a\x09model selectAllPackages.\x0a\x09self assert: model testClasses notEmpty.\x0a\x09model selectAllClasses.\x0a\x09self assert: model selectedClasses size equals: model testClasses size",
  228. referencedClasses: [],
  229. //>>excludeEnd("ide");
  230. pragmas: [],
  231. messageSends: ["selectAllPackages", "assert:", "notEmpty", "testClasses", "selectAllClasses", "assert:equals:", "size", "selectedClasses"]
  232. }, function ($methodClass){ return function (){
  233. var self=this,$self=this;
  234. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  235. return $core.withContext(function($ctx1) {
  236. //>>excludeEnd("ctx");
  237. $recv($self.model)._selectAllPackages();
  238. $self._assert_($recv([$recv($self.model)._testClasses()
  239. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  240. ,$ctx1.sendIdx["testClasses"]=1
  241. //>>excludeEnd("ctx");
  242. ][0])._notEmpty());
  243. $recv($self.model)._selectAllClasses();
  244. $self._assert_equals_([$recv($recv($self.model)._selectedClasses())._size()
  245. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  246. ,$ctx1.sendIdx["size"]=1
  247. //>>excludeEnd("ctx");
  248. ][0],$recv($recv($self.model)._testClasses())._size());
  249. return self;
  250. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  251. }, function($ctx1) {$ctx1.fill(self,"testSelectAllClasses",{})});
  252. //>>excludeEnd("ctx");
  253. }; }),
  254. $globals.HLSUnitModelTest);
  255. $core.addMethod(
  256. $core.method({
  257. selector: "testSelectAllPackages",
  258. protocol: "tests",
  259. //>>excludeStart("ide", pragmas.excludeIdeData);
  260. args: [],
  261. source: "testSelectAllPackages\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09model selectAllPackages.\x0a\x09self assert: model selectedPackages size equals: model testPackages size",
  262. referencedClasses: [],
  263. //>>excludeEnd("ide");
  264. pragmas: [],
  265. messageSends: ["assert:", "isEmpty", "selectedPackages", "selectAllPackages", "assert:equals:", "size", "testPackages"]
  266. }, function ($methodClass){ return function (){
  267. var self=this,$self=this;
  268. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  269. return $core.withContext(function($ctx1) {
  270. //>>excludeEnd("ctx");
  271. $self._assert_($recv([$recv($self.model)._selectedPackages()
  272. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  273. ,$ctx1.sendIdx["selectedPackages"]=1
  274. //>>excludeEnd("ctx");
  275. ][0])._isEmpty());
  276. $recv($self.model)._selectAllPackages();
  277. $self._assert_equals_([$recv($recv($self.model)._selectedPackages())._size()
  278. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  279. ,$ctx1.sendIdx["size"]=1
  280. //>>excludeEnd("ctx");
  281. ][0],$recv($recv($self.model)._testPackages())._size());
  282. return self;
  283. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  284. }, function($ctx1) {$ctx1.fill(self,"testSelectAllPackages",{})});
  285. //>>excludeEnd("ctx");
  286. }; }),
  287. $globals.HLSUnitModelTest);
  288. $core.addMethod(
  289. $core.method({
  290. selector: "testSelectClass",
  291. protocol: "tests",
  292. //>>excludeStart("ide", pragmas.excludeIdeData);
  293. args: [],
  294. source: "testSelectClass\x0a\x09| announcementFired |\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: model selectedClasses isEmpty.\x0a\x09model announcer on: HLClassSelected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model selectClass: self class.\x0a\x09self assert: model selectedClasses anyOne equals: self class.\x0a\x09self assert: announcementFired.",
  295. referencedClasses: ["HLClassSelected"],
  296. //>>excludeEnd("ide");
  297. pragmas: [],
  298. messageSends: ["selectPackage:", "thisPackage", "assert:", "isEmpty", "selectedClasses", "on:do:for:", "announcer", "selectClass:", "class", "assert:equals:", "anyOne"]
  299. }, function ($methodClass){ return function (){
  300. var self=this,$self=this;
  301. var announcementFired;
  302. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  303. return $core.withContext(function($ctx1) {
  304. //>>excludeEnd("ctx");
  305. $recv($self.model)._selectPackage_($self._thisPackage());
  306. [$self._assert_($recv([$recv($self.model)._selectedClasses()
  307. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  308. ,$ctx1.sendIdx["selectedClasses"]=1
  309. //>>excludeEnd("ctx");
  310. ][0])._isEmpty())
  311. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  312. ,$ctx1.sendIdx["assert:"]=1
  313. //>>excludeEnd("ctx");
  314. ][0];
  315. $recv($recv($self.model)._announcer())._on_do_for_($globals.HLClassSelected,(function(){
  316. announcementFired=true;
  317. return announcementFired;
  318. }),self);
  319. $recv($self.model)._selectClass_([$self._class()
  320. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  321. ,$ctx1.sendIdx["class"]=1
  322. //>>excludeEnd("ctx");
  323. ][0]);
  324. $self._assert_equals_($recv($recv($self.model)._selectedClasses())._anyOne(),$self._class());
  325. $self._assert_(announcementFired);
  326. return self;
  327. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  328. }, function($ctx1) {$ctx1.fill(self,"testSelectClass",{announcementFired:announcementFired})});
  329. //>>excludeEnd("ctx");
  330. }; }),
  331. $globals.HLSUnitModelTest);
  332. $core.addMethod(
  333. $core.method({
  334. selector: "testSelectPackage",
  335. protocol: "tests",
  336. //>>excludeStart("ide", pragmas.excludeIdeData);
  337. args: [],
  338. source: "testSelectPackage\x0a\x09| announcementFired |\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09model announcer on: HLPackageSelected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: model selectedPackages anyOne equals: self thisPackage.\x0a\x09self assert: announcementFired",
  339. referencedClasses: ["HLPackageSelected"],
  340. //>>excludeEnd("ide");
  341. pragmas: [],
  342. messageSends: ["assert:", "isEmpty", "selectedPackages", "on:do:for:", "announcer", "selectPackage:", "thisPackage", "assert:equals:", "anyOne"]
  343. }, function ($methodClass){ return function (){
  344. var self=this,$self=this;
  345. var announcementFired;
  346. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  347. return $core.withContext(function($ctx1) {
  348. //>>excludeEnd("ctx");
  349. [$self._assert_($recv([$recv($self.model)._selectedPackages()
  350. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  351. ,$ctx1.sendIdx["selectedPackages"]=1
  352. //>>excludeEnd("ctx");
  353. ][0])._isEmpty())
  354. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  355. ,$ctx1.sendIdx["assert:"]=1
  356. //>>excludeEnd("ctx");
  357. ][0];
  358. $recv($recv($self.model)._announcer())._on_do_for_($globals.HLPackageSelected,(function(){
  359. announcementFired=true;
  360. return announcementFired;
  361. }),self);
  362. $recv($self.model)._selectPackage_([$self._thisPackage()
  363. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  364. ,$ctx1.sendIdx["thisPackage"]=1
  365. //>>excludeEnd("ctx");
  366. ][0]);
  367. $self._assert_equals_($recv($recv($self.model)._selectedPackages())._anyOne(),$self._thisPackage());
  368. $self._assert_(announcementFired);
  369. return self;
  370. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  371. }, function($ctx1) {$ctx1.fill(self,"testSelectPackage",{announcementFired:announcementFired})});
  372. //>>excludeEnd("ctx");
  373. }; }),
  374. $globals.HLSUnitModelTest);
  375. $core.addMethod(
  376. $core.method({
  377. selector: "testSelectedClassNotListedIfPackageUnselected",
  378. protocol: "tests",
  379. //>>excludeStart("ide", pragmas.excludeIdeData);
  380. args: [],
  381. source: "testSelectedClassNotListedIfPackageUnselected\x0a\x09model selectPackage: self thisPackage.\x0a\x09model selectClass: self class.\x0a\x09self assert: model selectedClasses anyOne equals: self class.\x0a\x09model unselectPackage: self thisPackage.\x0a\x09self assert: model selectedClasses isEmpty.",
  382. referencedClasses: [],
  383. //>>excludeEnd("ide");
  384. pragmas: [],
  385. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "assert:equals:", "anyOne", "selectedClasses", "unselectPackage:", "assert:", "isEmpty"]
  386. }, function ($methodClass){ return function (){
  387. var self=this,$self=this;
  388. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  389. return $core.withContext(function($ctx1) {
  390. //>>excludeEnd("ctx");
  391. $recv($self.model)._selectPackage_([$self._thisPackage()
  392. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  393. ,$ctx1.sendIdx["thisPackage"]=1
  394. //>>excludeEnd("ctx");
  395. ][0]);
  396. $recv($self.model)._selectClass_([$self._class()
  397. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  398. ,$ctx1.sendIdx["class"]=1
  399. //>>excludeEnd("ctx");
  400. ][0]);
  401. $self._assert_equals_($recv([$recv($self.model)._selectedClasses()
  402. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  403. ,$ctx1.sendIdx["selectedClasses"]=1
  404. //>>excludeEnd("ctx");
  405. ][0])._anyOne(),$self._class());
  406. $recv($self.model)._unselectPackage_($self._thisPackage());
  407. $self._assert_($recv($recv($self.model)._selectedClasses())._isEmpty());
  408. return self;
  409. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  410. }, function($ctx1) {$ctx1.fill(self,"testSelectedClassNotListedIfPackageUnselected",{})});
  411. //>>excludeEnd("ctx");
  412. }; }),
  413. $globals.HLSUnitModelTest);
  414. $core.addMethod(
  415. $core.method({
  416. selector: "testTestClassHasOnlyTestClasses",
  417. protocol: "tests",
  418. //>>excludeStart("ide", pragmas.excludeIdeData);
  419. args: [],
  420. source: "testTestClassHasOnlyTestClasses\x0a\x09| notATestClass |\x0a\x09notATestClass := Object subclass: #HLNotATestClass\x0a\x09\x09instanceVariableNames: ''\x0a\x09\x09package: self class category.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self deny: (model testClasses includes: notATestClass).\x0a\x09Smalltalk removeClass: notATestClass.",
  421. referencedClasses: ["Object", "Smalltalk"],
  422. //>>excludeEnd("ide");
  423. pragmas: [],
  424. messageSends: ["subclass:instanceVariableNames:package:", "category", "class", "selectPackage:", "thisPackage", "deny:", "includes:", "testClasses", "removeClass:"]
  425. }, function ($methodClass){ return function (){
  426. var self=this,$self=this;
  427. var notATestClass;
  428. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  429. return $core.withContext(function($ctx1) {
  430. //>>excludeEnd("ctx");
  431. notATestClass=$recv($globals.Object)._subclass_instanceVariableNames_package_("HLNotATestClass","",$recv($self._class())._category());
  432. $recv($self.model)._selectPackage_($self._thisPackage());
  433. $self._deny_($recv($recv($self.model)._testClasses())._includes_(notATestClass));
  434. $recv($globals.Smalltalk)._removeClass_(notATestClass);
  435. return self;
  436. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  437. }, function($ctx1) {$ctx1.fill(self,"testTestClassHasOnlyTestClasses",{notATestClass:notATestClass})});
  438. //>>excludeEnd("ctx");
  439. }; }),
  440. $globals.HLSUnitModelTest);
  441. $core.addMethod(
  442. $core.method({
  443. selector: "testTestPackages",
  444. protocol: "tests",
  445. //>>excludeStart("ide", pragmas.excludeIdeData);
  446. args: [],
  447. source: "testTestPackages\x0a\x09self assert: model testPackages notEmpty.\x0a\x09self assert: (model testPackages anySatisfy: [:each | each = self thisPackage]).",
  448. referencedClasses: [],
  449. //>>excludeEnd("ide");
  450. pragmas: [],
  451. messageSends: ["assert:", "notEmpty", "testPackages", "anySatisfy:", "=", "thisPackage"]
  452. }, function ($methodClass){ return function (){
  453. var self=this,$self=this;
  454. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  455. return $core.withContext(function($ctx1) {
  456. //>>excludeEnd("ctx");
  457. [$self._assert_($recv([$recv($self.model)._testPackages()
  458. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  459. ,$ctx1.sendIdx["testPackages"]=1
  460. //>>excludeEnd("ctx");
  461. ][0])._notEmpty())
  462. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  463. ,$ctx1.sendIdx["assert:"]=1
  464. //>>excludeEnd("ctx");
  465. ][0];
  466. $self._assert_($recv($recv($self.model)._testPackages())._anySatisfy_((function(each){
  467. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  468. return $core.withContext(function($ctx2) {
  469. //>>excludeEnd("ctx");
  470. return $recv(each).__eq($self._thisPackage());
  471. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  472. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  473. //>>excludeEnd("ctx");
  474. })));
  475. return self;
  476. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  477. }, function($ctx1) {$ctx1.fill(self,"testTestPackages",{})});
  478. //>>excludeEnd("ctx");
  479. }; }),
  480. $globals.HLSUnitModelTest);
  481. $core.addMethod(
  482. $core.method({
  483. selector: "testUnselectClass",
  484. protocol: "tests",
  485. //>>excludeStart("ide", pragmas.excludeIdeData);
  486. args: [],
  487. source: "testUnselectClass\x0a\x09| announcementFired |\x0a\x09model selectPackage: self thisPackage.\x0a\x09model selectClass: self class.\x0a\x09model announcer on: HLClassUnselected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model unselectClass: self class.\x0a\x09self assert: model selectedClasses isEmpty.\x0a\x09self assert: announcementFired",
  488. referencedClasses: ["HLClassUnselected"],
  489. //>>excludeEnd("ide");
  490. pragmas: [],
  491. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "on:do:for:", "announcer", "unselectClass:", "assert:", "isEmpty", "selectedClasses"]
  492. }, function ($methodClass){ return function (){
  493. var self=this,$self=this;
  494. var announcementFired;
  495. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  496. return $core.withContext(function($ctx1) {
  497. //>>excludeEnd("ctx");
  498. $recv($self.model)._selectPackage_($self._thisPackage());
  499. $recv($self.model)._selectClass_([$self._class()
  500. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  501. ,$ctx1.sendIdx["class"]=1
  502. //>>excludeEnd("ctx");
  503. ][0]);
  504. $recv($recv($self.model)._announcer())._on_do_for_($globals.HLClassUnselected,(function(){
  505. announcementFired=true;
  506. return announcementFired;
  507. }),self);
  508. $recv($self.model)._unselectClass_($self._class());
  509. [$self._assert_($recv($recv($self.model)._selectedClasses())._isEmpty())
  510. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  511. ,$ctx1.sendIdx["assert:"]=1
  512. //>>excludeEnd("ctx");
  513. ][0];
  514. $self._assert_(announcementFired);
  515. return self;
  516. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  517. }, function($ctx1) {$ctx1.fill(self,"testUnselectClass",{announcementFired:announcementFired})});
  518. //>>excludeEnd("ctx");
  519. }; }),
  520. $globals.HLSUnitModelTest);
  521. $core.addMethod(
  522. $core.method({
  523. selector: "testUnselectPackage",
  524. protocol: "tests",
  525. //>>excludeStart("ide", pragmas.excludeIdeData);
  526. args: [],
  527. source: "testUnselectPackage\x0a\x09| announcementFired |\x0a\x09model selectPackage: self thisPackage.\x0a\x09model announcer on: HLPackageUnselected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model unselectPackage: self thisPackage.\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09self assert: announcementFired.",
  528. referencedClasses: ["HLPackageUnselected"],
  529. //>>excludeEnd("ide");
  530. pragmas: [],
  531. messageSends: ["selectPackage:", "thisPackage", "on:do:for:", "announcer", "unselectPackage:", "assert:", "isEmpty", "selectedPackages"]
  532. }, function ($methodClass){ return function (){
  533. var self=this,$self=this;
  534. var announcementFired;
  535. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  536. return $core.withContext(function($ctx1) {
  537. //>>excludeEnd("ctx");
  538. $recv($self.model)._selectPackage_([$self._thisPackage()
  539. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  540. ,$ctx1.sendIdx["thisPackage"]=1
  541. //>>excludeEnd("ctx");
  542. ][0]);
  543. $recv($recv($self.model)._announcer())._on_do_for_($globals.HLPackageUnselected,(function(){
  544. announcementFired=true;
  545. return announcementFired;
  546. }),self);
  547. $recv($self.model)._unselectPackage_($self._thisPackage());
  548. [$self._assert_($recv($recv($self.model)._selectedPackages())._isEmpty())
  549. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  550. ,$ctx1.sendIdx["assert:"]=1
  551. //>>excludeEnd("ctx");
  552. ][0];
  553. $self._assert_(announcementFired);
  554. return self;
  555. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  556. }, function($ctx1) {$ctx1.fill(self,"testUnselectPackage",{announcementFired:announcementFired})});
  557. //>>excludeEnd("ctx");
  558. }; }),
  559. $globals.HLSUnitModelTest);
  560. $core.addMethod(
  561. $core.method({
  562. selector: "thisPackage",
  563. protocol: "accessing",
  564. //>>excludeStart("ide", pragmas.excludeIdeData);
  565. args: [],
  566. source: "thisPackage\x0a\x09^self class package",
  567. referencedClasses: [],
  568. //>>excludeEnd("ide");
  569. pragmas: [],
  570. messageSends: ["package", "class"]
  571. }, function ($methodClass){ return function (){
  572. var self=this,$self=this;
  573. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  574. return $core.withContext(function($ctx1) {
  575. //>>excludeEnd("ctx");
  576. return $recv($self._class())._package();
  577. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  578. }, function($ctx1) {$ctx1.fill(self,"thisPackage",{})});
  579. //>>excludeEnd("ctx");
  580. }; }),
  581. $globals.HLSUnitModelTest);
  582. });