@ambers/helios
Version:
Helios IDE for Amber Smalltalk
114 lines (108 loc) • 4.82 kB
JavaScript
define(["amber/boot", "require", "amber/core/SUnit"], function($boot,requirejs){"use strict";
var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
var $pkg = $core.addPackage("Helios-Browser-Tests");
$pkg.transport = {"type":"amd","amdNamespace":"helios"};
$core.addClass("HLBrowserTest", $globals.TestCase, "Helios-Browser-Tests");
$core.setSlots($globals.HLBrowserTest, ["browser"]);
//>>excludeStart("ide", pragmas.excludeIdeData);
$globals.HLBrowserTest.comment="Test cases for the functionality of `HLBrowserModel`";
//>>excludeEnd("ide");
$core.addMethod(
$core.method({
selector: "setUp",
protocol: "tests",
//>>excludeStart("ide", pragmas.excludeIdeData);
args: [],
source: "setUp\x0a\x09browser := HLBrowserModel new.",
referencedClasses: ["HLBrowserModel"],
//>>excludeEnd("ide");
pragmas: [],
messageSends: ["new"]
}, function ($methodClass){ return function (){
var self=this,$self=this;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
return $core.withContext(function($ctx1) {
//>>excludeEnd("ctx");
$self.browser=$recv($globals.HLBrowserModel)._new();
return self;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
}, function($ctx1) {$ctx1.fill(self,"setUp",{})});
//>>excludeEnd("ctx");
}; }),
$globals.HLBrowserTest);
$core.addMethod(
$core.method({
selector: "testAllProtocolsSelectedWhenSelectingAClass",
protocol: "tests",
//>>excludeStart("ide", pragmas.excludeIdeData);
args: [],
source: "testAllProtocolsSelectedWhenSelectingAClass\x0a\x09self assert: browser selectedProtocol isNil.\x0a\x09browser selectedClass: Object.\x0a\x09self assert: browser selectedProtocol equals: browser allProtocol.",
referencedClasses: ["Object"],
//>>excludeEnd("ide");
pragmas: [],
messageSends: ["assert:", "isNil", "selectedProtocol", "selectedClass:", "assert:equals:", "allProtocol"]
}, function ($methodClass){ return function (){
var self=this,$self=this;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
return $core.withContext(function($ctx1) {
//>>excludeEnd("ctx");
$self._assert_($recv([$recv($self.browser)._selectedProtocol()
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
,$ctx1.sendIdx["selectedProtocol"]=1
//>>excludeEnd("ctx");
][0])._isNil());
$recv($self.browser)._selectedClass_($globals.Object);
$self._assert_equals_($recv($self.browser)._selectedProtocol(),$recv($self.browser)._allProtocol());
return self;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
}, function($ctx1) {$ctx1.fill(self,"testAllProtocolsSelectedWhenSelectingAClass",{})});
//>>excludeEnd("ctx");
}; }),
$globals.HLBrowserTest);
$core.addMethod(
$core.method({
selector: "testProtocolSelectedWhenChangingClass",
protocol: "tests",
//>>excludeStart("ide", pragmas.excludeIdeData);
args: [],
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.",
referencedClasses: ["HLProtocolSelected", "Object", "ProtoObject"],
//>>excludeEnd("ide");
pragmas: [],
messageSends: ["on:do:for:", "announcer", "+", "selectedClass:", "assert:equals:"]
}, function ($methodClass){ return function (){
var self=this,$self=this;
var protocolSelectedCalled;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
return $core.withContext(function($ctx1) {
//>>excludeEnd("ctx");
protocolSelectedCalled=(0);
$recv($recv($self.browser)._announcer())._on_do_for_($globals.HLProtocolSelected,(function(){
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
return $core.withContext(function($ctx2) {
//>>excludeEnd("ctx");
protocolSelectedCalled=$recv(protocolSelectedCalled).__plus((1));
return protocolSelectedCalled;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
//>>excludeEnd("ctx");
}),self);
[$recv($self.browser)._selectedClass_($globals.Object)
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
,$ctx1.sendIdx["selectedClass:"]=1
//>>excludeEnd("ctx");
][0];
[$self._assert_equals_(protocolSelectedCalled,(1))
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
,$ctx1.sendIdx["assert:equals:"]=1
//>>excludeEnd("ctx");
][0];
$recv($self.browser)._selectedClass_($globals.ProtoObject);
$self._assert_equals_(protocolSelectedCalled,(2));
return self;
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
}, function($ctx1) {$ctx1.fill(self,"testProtocolSelectedWhenChangingClass",{protocolSelectedCalled:protocolSelectedCalled})});
//>>excludeEnd("ctx");
}; }),
$globals.HLBrowserTest);
});