1
0

Helios-SUnit-Tests.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. define("helios/Helios-SUnit-Tests", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_vm/globals", "amber_core/SUnit"], function(smalltalk,nil,_st, globals){
  2. smalltalk.addPackage('Helios-SUnit-Tests');
  3. smalltalk.packages["Helios-SUnit-Tests"].transport = {"type":"amd","amdNamespace":"helios"};
  4. smalltalk.addClass('HLSUnitModelTest', globals.TestCase, ['model'], 'Helios-SUnit-Tests');
  5. smalltalk.addMethod(
  6. smalltalk.method({
  7. selector: "setUp",
  8. protocol: 'initializing',
  9. fn: function (){
  10. var self=this;
  11. function $HLSUnitModel(){return globals.HLSUnitModel||(typeof HLSUnitModel=="undefined"?nil:HLSUnitModel)}
  12. return smalltalk.withContext(function($ctx1) {
  13. ($ctx1.supercall = true, globals.HLSUnitModelTest.superclass.fn.prototype._setUp.apply(_st(self), []));
  14. $ctx1.supercall = false;
  15. self["@model"]=_st($HLSUnitModel())._new();
  16. return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},globals.HLSUnitModelTest)})},
  17. args: [],
  18. source: "setUp\x0a\x09super setUp.\x0a\x09model := HLSUnitModel new",
  19. messageSends: ["setUp", "new"],
  20. referencedClasses: ["HLSUnitModel"]
  21. }),
  22. globals.HLSUnitModelTest);
  23. smalltalk.addMethod(
  24. smalltalk.method({
  25. selector: "testClassBecomesAvailable",
  26. protocol: 'tests',
  27. fn: function (){
  28. var self=this;
  29. return smalltalk.withContext(function($ctx1) {
  30. var $2,$1;
  31. $2=_st(self["@model"])._testClasses();
  32. $ctx1.sendIdx["testClasses"]=1;
  33. $1=_st($2)._isEmpty();
  34. self._assert_($1);
  35. $ctx1.sendIdx["assert:"]=1;
  36. _st(self["@model"])._selectPackage_(self._thisPackage());
  37. self._assert_(_st(_st(self["@model"])._testClasses())._includes_(self._class()));
  38. return self}, function($ctx1) {$ctx1.fill(self,"testClassBecomesAvailable",{},globals.HLSUnitModelTest)})},
  39. args: [],
  40. source: "testClassBecomesAvailable\x0a\x09self assert: model testClasses isEmpty.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: (model testClasses includes: self class).\x0a\x09\x0a\x09",
  41. messageSends: ["assert:", "isEmpty", "testClasses", "selectPackage:", "thisPackage", "includes:", "class"],
  42. referencedClasses: []
  43. }),
  44. globals.HLSUnitModelTest);
  45. smalltalk.addMethod(
  46. smalltalk.method({
  47. selector: "testEmptyTestResults",
  48. protocol: 'tests',
  49. fn: function (){
  50. var self=this;
  51. function $TestResult(){return globals.TestResult||(typeof TestResult=="undefined"?nil:TestResult)}
  52. return smalltalk.withContext(function($ctx1) {
  53. self._assert_(_st(_st(self["@model"])._testResult())._isKindOf_($TestResult()));
  54. return self}, function($ctx1) {$ctx1.fill(self,"testEmptyTestResults",{},globals.HLSUnitModelTest)})},
  55. args: [],
  56. source: "testEmptyTestResults\x0a\x09self assert: (model testResult isKindOf: TestResult)",
  57. messageSends: ["assert:", "isKindOf:", "testResult"],
  58. referencedClasses: ["TestResult"]
  59. }),
  60. globals.HLSUnitModelTest);
  61. smalltalk.addMethod(
  62. smalltalk.method({
  63. selector: "testSelectAllPackages",
  64. protocol: 'tests',
  65. fn: function (){
  66. var self=this;
  67. return smalltalk.withContext(function($ctx1) {
  68. var $2,$1,$3;
  69. $2=_st(self["@model"])._selectedPackages();
  70. $ctx1.sendIdx["selectedPackages"]=1;
  71. $1=_st($2)._isEmpty();
  72. self._assert_($1);
  73. _st(self["@model"])._selectAllPackages();
  74. $3=_st(_st(self["@model"])._selectedPackages())._size();
  75. $ctx1.sendIdx["size"]=1;
  76. self._assert_equals_($3,_st(_st(self["@model"])._testPackages())._size());
  77. return self}, function($ctx1) {$ctx1.fill(self,"testSelectAllPackages",{},globals.HLSUnitModelTest)})},
  78. args: [],
  79. source: "testSelectAllPackages\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09model selectAllPackages.\x0a\x09self assert: model selectedPackages size equals: model testPackages size",
  80. messageSends: ["assert:", "isEmpty", "selectedPackages", "selectAllPackages", "assert:equals:", "size", "testPackages"],
  81. referencedClasses: []
  82. }),
  83. globals.HLSUnitModelTest);
  84. smalltalk.addMethod(
  85. smalltalk.method({
  86. selector: "testSelectClass",
  87. protocol: 'tests',
  88. fn: function (){
  89. var self=this;
  90. var announcementFired;
  91. function $HLClassSelected(){return globals.HLClassSelected||(typeof HLClassSelected=="undefined"?nil:HLClassSelected)}
  92. return smalltalk.withContext(function($ctx1) {
  93. var $2,$1,$3,$4;
  94. _st(self["@model"])._selectPackage_(self._thisPackage());
  95. $2=_st(self["@model"])._selectedClasses();
  96. $ctx1.sendIdx["selectedClasses"]=1;
  97. $1=_st($2)._isEmpty();
  98. self._assert_($1);
  99. $ctx1.sendIdx["assert:"]=1;
  100. _st(_st(self["@model"])._announcer())._on_do_for_($HLClassSelected(),(function(){
  101. announcementFired=true;
  102. return announcementFired;
  103. }),self);
  104. $3=self["@model"];
  105. $4=self._class();
  106. $ctx1.sendIdx["class"]=1;
  107. _st($3)._selectClass_($4);
  108. self._assert_equals_(_st(_st(self["@model"])._selectedClasses())._anyOne(),self._class());
  109. self._assert_(announcementFired);
  110. return self}, function($ctx1) {$ctx1.fill(self,"testSelectClass",{announcementFired:announcementFired},globals.HLSUnitModelTest)})},
  111. args: [],
  112. 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.\x0a\x09\x0a\x09",
  113. messageSends: ["selectPackage:", "thisPackage", "assert:", "isEmpty", "selectedClasses", "on:do:for:", "announcer", "selectClass:", "class", "assert:equals:", "anyOne"],
  114. referencedClasses: ["HLClassSelected"]
  115. }),
  116. globals.HLSUnitModelTest);
  117. smalltalk.addMethod(
  118. smalltalk.method({
  119. selector: "testSelectPackage",
  120. protocol: 'tests',
  121. fn: function (){
  122. var self=this;
  123. var announcementFired;
  124. function $HLPackageSelected(){return globals.HLPackageSelected||(typeof HLPackageSelected=="undefined"?nil:HLPackageSelected)}
  125. return smalltalk.withContext(function($ctx1) {
  126. var $2,$1,$3,$4;
  127. $2=_st(self["@model"])._selectedPackages();
  128. $ctx1.sendIdx["selectedPackages"]=1;
  129. $1=_st($2)._isEmpty();
  130. self._assert_($1);
  131. $ctx1.sendIdx["assert:"]=1;
  132. _st(_st(self["@model"])._announcer())._on_do_for_($HLPackageSelected(),(function(){
  133. announcementFired=true;
  134. return announcementFired;
  135. }),self);
  136. $3=self["@model"];
  137. $4=self._thisPackage();
  138. $ctx1.sendIdx["thisPackage"]=1;
  139. _st($3)._selectPackage_($4);
  140. self._assert_equals_(_st(_st(self["@model"])._selectedPackages())._anyOne(),self._thisPackage());
  141. self._assert_(announcementFired);
  142. return self}, function($ctx1) {$ctx1.fill(self,"testSelectPackage",{announcementFired:announcementFired},globals.HLSUnitModelTest)})},
  143. args: [],
  144. 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",
  145. messageSends: ["assert:", "isEmpty", "selectedPackages", "on:do:for:", "announcer", "selectPackage:", "thisPackage", "assert:equals:", "anyOne"],
  146. referencedClasses: ["HLPackageSelected"]
  147. }),
  148. globals.HLSUnitModelTest);
  149. smalltalk.addMethod(
  150. smalltalk.method({
  151. selector: "testSelectedClassNotListedIfPackageUnselected",
  152. protocol: 'tests',
  153. fn: function (){
  154. var self=this;
  155. return smalltalk.withContext(function($ctx1) {
  156. var $1,$2,$3,$4,$6,$5;
  157. $1=self["@model"];
  158. $2=self._thisPackage();
  159. $ctx1.sendIdx["thisPackage"]=1;
  160. _st($1)._selectPackage_($2);
  161. $3=self["@model"];
  162. $4=self._class();
  163. $ctx1.sendIdx["class"]=1;
  164. _st($3)._selectClass_($4);
  165. $6=_st(self["@model"])._selectedClasses();
  166. $ctx1.sendIdx["selectedClasses"]=1;
  167. $5=_st($6)._anyOne();
  168. self._assert_equals_($5,self._class());
  169. _st(self["@model"])._unselectPackage_(self._thisPackage());
  170. self._assert_(_st(_st(self["@model"])._selectedClasses())._isEmpty());
  171. return self}, function($ctx1) {$ctx1.fill(self,"testSelectedClassNotListedIfPackageUnselected",{},globals.HLSUnitModelTest)})},
  172. args: [],
  173. 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.\x0a\x09",
  174. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "assert:equals:", "anyOne", "selectedClasses", "unselectPackage:", "assert:", "isEmpty"],
  175. referencedClasses: []
  176. }),
  177. globals.HLSUnitModelTest);
  178. smalltalk.addMethod(
  179. smalltalk.method({
  180. selector: "testTestClassHasOnlyTestClasses",
  181. protocol: 'tests',
  182. fn: function (){
  183. var self=this;
  184. var notATestClass;
  185. function $Object(){return globals.Object||(typeof Object=="undefined"?nil:Object)}
  186. function $Smalltalk(){return globals.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
  187. return smalltalk.withContext(function($ctx1) {
  188. notATestClass=_st($Object())._subclass_instanceVariableNames_package_("HLNotATestClass","",_st(self._class())._category());
  189. _st(self["@model"])._selectPackage_(self._thisPackage());
  190. self._deny_(_st(_st(self["@model"])._testClasses())._includes_(notATestClass));
  191. _st($Smalltalk())._removeClass_(notATestClass);
  192. return self}, function($ctx1) {$ctx1.fill(self,"testTestClassHasOnlyTestClasses",{notATestClass:notATestClass},globals.HLSUnitModelTest)})},
  193. args: [],
  194. 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.\x0a\x09\x0a\x09",
  195. messageSends: ["subclass:instanceVariableNames:package:", "category", "class", "selectPackage:", "thisPackage", "deny:", "includes:", "testClasses", "removeClass:"],
  196. referencedClasses: ["Object", "Smalltalk"]
  197. }),
  198. globals.HLSUnitModelTest);
  199. smalltalk.addMethod(
  200. smalltalk.method({
  201. selector: "testTestPackages",
  202. protocol: 'tests',
  203. fn: function (){
  204. var self=this;
  205. return smalltalk.withContext(function($ctx1) {
  206. var $2,$1;
  207. $2=_st(self["@model"])._testPackages();
  208. $ctx1.sendIdx["testPackages"]=1;
  209. $1=_st($2)._notEmpty();
  210. self._assert_($1);
  211. $ctx1.sendIdx["assert:"]=1;
  212. self._assert_(_st(_st(self["@model"])._testPackages())._anySatisfy_((function(each){
  213. return smalltalk.withContext(function($ctx2) {
  214. return _st(each).__eq(self._thisPackage());
  215. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})));
  216. return self}, function($ctx1) {$ctx1.fill(self,"testTestPackages",{},globals.HLSUnitModelTest)})},
  217. args: [],
  218. source: "testTestPackages\x0a\x09self assert: model testPackages notEmpty.\x0a\x09self assert: (model testPackages anySatisfy: [:each | each = self thisPackage]).",
  219. messageSends: ["assert:", "notEmpty", "testPackages", "anySatisfy:", "=", "thisPackage"],
  220. referencedClasses: []
  221. }),
  222. globals.HLSUnitModelTest);
  223. smalltalk.addMethod(
  224. smalltalk.method({
  225. selector: "testUnselectClass",
  226. protocol: 'tests',
  227. fn: function (){
  228. var self=this;
  229. var announcementFired;
  230. function $HLClassUnselected(){return globals.HLClassUnselected||(typeof HLClassUnselected=="undefined"?nil:HLClassUnselected)}
  231. return smalltalk.withContext(function($ctx1) {
  232. var $1,$2;
  233. _st(self["@model"])._selectPackage_(self._thisPackage());
  234. $1=self["@model"];
  235. $2=self._class();
  236. $ctx1.sendIdx["class"]=1;
  237. _st($1)._selectClass_($2);
  238. _st(_st(self["@model"])._announcer())._on_do_for_($HLClassUnselected(),(function(){
  239. announcementFired=true;
  240. return announcementFired;
  241. }),self);
  242. _st(self["@model"])._unselectClass_(self._class());
  243. self._assert_(_st(_st(self["@model"])._selectedClasses())._isEmpty());
  244. $ctx1.sendIdx["assert:"]=1;
  245. self._assert_(announcementFired);
  246. return self}, function($ctx1) {$ctx1.fill(self,"testUnselectClass",{announcementFired:announcementFired},globals.HLSUnitModelTest)})},
  247. args: [],
  248. 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\x0a\x09\x0a\x09",
  249. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "on:do:for:", "announcer", "unselectClass:", "assert:", "isEmpty", "selectedClasses"],
  250. referencedClasses: ["HLClassUnselected"]
  251. }),
  252. globals.HLSUnitModelTest);
  253. smalltalk.addMethod(
  254. smalltalk.method({
  255. selector: "testUnselectPackage",
  256. protocol: 'tests',
  257. fn: function (){
  258. var self=this;
  259. var announcementFired;
  260. function $HLPackageUnselected(){return globals.HLPackageUnselected||(typeof HLPackageUnselected=="undefined"?nil:HLPackageUnselected)}
  261. return smalltalk.withContext(function($ctx1) {
  262. var $1,$2;
  263. $1=self["@model"];
  264. $2=self._thisPackage();
  265. $ctx1.sendIdx["thisPackage"]=1;
  266. _st($1)._selectPackage_($2);
  267. _st(_st(self["@model"])._announcer())._on_do_for_($HLPackageUnselected(),(function(){
  268. announcementFired=true;
  269. return announcementFired;
  270. }),self);
  271. _st(self["@model"])._unselectPackage_(self._thisPackage());
  272. self._assert_(_st(_st(self["@model"])._selectedPackages())._isEmpty());
  273. $ctx1.sendIdx["assert:"]=1;
  274. self._assert_(announcementFired);
  275. return self}, function($ctx1) {$ctx1.fill(self,"testUnselectPackage",{announcementFired:announcementFired},globals.HLSUnitModelTest)})},
  276. args: [],
  277. 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.",
  278. messageSends: ["selectPackage:", "thisPackage", "on:do:for:", "announcer", "unselectPackage:", "assert:", "isEmpty", "selectedPackages"],
  279. referencedClasses: ["HLPackageUnselected"]
  280. }),
  281. globals.HLSUnitModelTest);
  282. smalltalk.addMethod(
  283. smalltalk.method({
  284. selector: "thisPackage",
  285. protocol: 'accessing',
  286. fn: function (){
  287. var self=this;
  288. return smalltalk.withContext(function($ctx1) {
  289. var $1;
  290. $1=_st(self._class())._package();
  291. return $1;
  292. }, function($ctx1) {$ctx1.fill(self,"thisPackage",{},globals.HLSUnitModelTest)})},
  293. args: [],
  294. source: "thisPackage\x0a\x09^self class package",
  295. messageSends: ["package", "class"],
  296. referencedClasses: []
  297. }),
  298. globals.HLSUnitModelTest);
  299. });