Helios-Browser-Tests.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. define("helios/Helios-Browser-Tests", ["amber/boot", "amber_core/SUnit"], function($boot){
  2. var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. $core.addPackage('Helios-Browser-Tests');
  4. $core.packages["Helios-Browser-Tests"].transport = {"type":"amd","amdNamespace":"helios"};
  5. $core.addClass('HLBrowserTest', $globals.TestCase, ['browser'], 'Helios-Browser-Tests');
  6. //>>excludeStart("ide", pragmas.excludeIdeData);
  7. $globals.HLBrowserTest.comment="Test cases for the functionality of `HLBrowserModel`";
  8. //>>excludeEnd("ide");
  9. $core.addMethod(
  10. $core.method({
  11. selector: "setUp",
  12. protocol: 'tests',
  13. fn: function (){
  14. var self=this;
  15. function $HLBrowserModel(){return $globals.HLBrowserModel||(typeof HLBrowserModel=="undefined"?nil:HLBrowserModel)}
  16. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  17. return $core.withContext(function($ctx1) {
  18. //>>excludeEnd("ctx");
  19. self["@browser"]=$recv($HLBrowserModel())._new();
  20. return self;
  21. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  22. }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.HLBrowserTest)});
  23. //>>excludeEnd("ctx");
  24. },
  25. //>>excludeStart("ide", pragmas.excludeIdeData);
  26. args: [],
  27. source: "setUp\x0a\x09browser := HLBrowserModel new.",
  28. referencedClasses: ["HLBrowserModel"],
  29. //>>excludeEnd("ide");
  30. messageSends: ["new"]
  31. }),
  32. $globals.HLBrowserTest);
  33. $core.addMethod(
  34. $core.method({
  35. selector: "testAllProtocolsSelectedWhenSelectingAClass",
  36. protocol: 'tests',
  37. fn: function (){
  38. var self=this;
  39. function $Object(){return $globals.Object||(typeof Object=="undefined"?nil:Object)}
  40. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  41. return $core.withContext(function($ctx1) {
  42. //>>excludeEnd("ctx");
  43. var $2,$1;
  44. $2=$recv(self["@browser"])._selectedProtocol();
  45. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  46. $ctx1.sendIdx["selectedProtocol"]=1;
  47. //>>excludeEnd("ctx");
  48. $1=$recv($2)._isNil();
  49. self._assert_($1);
  50. $recv(self["@browser"])._selectedClass_($Object());
  51. self._assert_equals_($recv(self["@browser"])._selectedProtocol(),$recv(self["@browser"])._allProtocol());
  52. return self;
  53. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  54. }, function($ctx1) {$ctx1.fill(self,"testAllProtocolsSelectedWhenSelectingAClass",{},$globals.HLBrowserTest)});
  55. //>>excludeEnd("ctx");
  56. },
  57. //>>excludeStart("ide", pragmas.excludeIdeData);
  58. args: [],
  59. source: "testAllProtocolsSelectedWhenSelectingAClass\x0a\x09self assert: browser selectedProtocol isNil.\x0a\x09browser selectedClass: Object.\x0a\x09self assert: browser selectedProtocol equals: browser allProtocol.",
  60. referencedClasses: ["Object"],
  61. //>>excludeEnd("ide");
  62. messageSends: ["assert:", "isNil", "selectedProtocol", "selectedClass:", "assert:equals:", "allProtocol"]
  63. }),
  64. $globals.HLBrowserTest);
  65. $core.addMethod(
  66. $core.method({
  67. selector: "testProtocolSelectedWhenChangingClass",
  68. protocol: 'tests',
  69. fn: function (){
  70. var self=this;
  71. var protocolSelectedCalled;
  72. function $HLProtocolSelected(){return $globals.HLProtocolSelected||(typeof HLProtocolSelected=="undefined"?nil:HLProtocolSelected)}
  73. function $Object(){return $globals.Object||(typeof Object=="undefined"?nil:Object)}
  74. function $ProtoObject(){return $globals.ProtoObject||(typeof ProtoObject=="undefined"?nil:ProtoObject)}
  75. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  76. return $core.withContext(function($ctx1) {
  77. //>>excludeEnd("ctx");
  78. protocolSelectedCalled=(0);
  79. $recv($recv(self["@browser"])._announcer())._on_do_for_($HLProtocolSelected(),(function(){
  80. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  81. return $core.withContext(function($ctx2) {
  82. //>>excludeEnd("ctx");
  83. protocolSelectedCalled=$recv(protocolSelectedCalled).__plus((1));
  84. return protocolSelectedCalled;
  85. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  86. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  87. //>>excludeEnd("ctx");
  88. }),self);
  89. $recv(self["@browser"])._selectedClass_($Object());
  90. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  91. $ctx1.sendIdx["selectedClass:"]=1;
  92. //>>excludeEnd("ctx");
  93. self._assert_equals_(protocolSelectedCalled,(1));
  94. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  95. $ctx1.sendIdx["assert:equals:"]=1;
  96. //>>excludeEnd("ctx");
  97. $recv(self["@browser"])._selectedClass_($ProtoObject());
  98. self._assert_equals_(protocolSelectedCalled,(2));
  99. return self;
  100. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  101. }, function($ctx1) {$ctx1.fill(self,"testProtocolSelectedWhenChangingClass",{protocolSelectedCalled:protocolSelectedCalled},$globals.HLBrowserTest)});
  102. //>>excludeEnd("ctx");
  103. },
  104. //>>excludeStart("ide", pragmas.excludeIdeData);
  105. args: [],
  106. source: "testProtocolSelectedWhenChangingClass\x0a\x09| protocolSelectedCalled |\x0a\x09protocolSelectedCalled := 0.\x0a\x09browser announcer on: HLProtocolSelected do: [protocolSelectedCalled := protocolSelectedCalled + 1] for: self.\x0a\x09browser selectedClass: Object.\x0a\x09self assert: protocolSelectedCalled equals: 1.\x0a\x09browser selectedClass: ProtoObject.\x0a\x09self assert: protocolSelectedCalled equals: 2.",
  107. referencedClasses: ["HLProtocolSelected", "Object", "ProtoObject"],
  108. //>>excludeEnd("ide");
  109. messageSends: ["on:do:for:", "announcer", "+", "selectedClass:", "assert:equals:"]
  110. }),
  111. $globals.HLBrowserTest);
  112. });