Helios-Browser-Tests.js 4.9 KB

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