123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628 |
- define("trapped/Trapped-Tests", ["amber/boot", "amber_core/SUnit"], function($boot){"use strict";
- var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
- $core.addPackage('Trapped-Tests');
- $core.packages["Trapped-Tests"].innerEval = function (expr) { return eval(expr); };
- $core.packages["Trapped-Tests"].transport = {"type":"amd","amdNamespace":"trapped"};
- $core.addClass('IsolatorTest', $globals.TestCase, ['rootModel'], 'Trapped-Tests');
- $core.addMethod(
- $core.method({
- selector: "setUp",
- protocol: 'running',
- fn: function (){
- var self=this;
- function $EavModel(){return $globals.EavModel||(typeof EavModel=="undefined"?nil:EavModel)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- var $1,$2;
- $1=$recv($EavModel())._new();
- $recv($1)._getBlock_((function(x){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv(x)._root();
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- $2=$recv($1)._putBlock_((function(x,y){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv(x)._root_(y);
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x,y:y},$ctx1,2)});
- //>>excludeEnd("ctx");
- }));
- self["@rootModel"]=$2;
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "setUp\x0a\x0arootModel := EavModel new\x0a\x09getBlock: [:x | x root];\x0a putBlock: [:x :y | x root: y].",
- referencedClasses: ["EavModel"],
- //>>excludeEnd("ide");
- messageSends: ["getBlock:", "new", "root", "putBlock:", "root:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testNontrivialModelGetsAppropriateValueForModification",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,model,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- function $EavModel(){return $globals.EavModel||(typeof EavModel=="undefined"?nil:EavModel)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- var $1,$3,$2,$4;
- result=nil;
- isolator=$recv($Isolator())._on_($globals.HashedCollection._newFromPairs_(["foo",["bar", [(1), [(2), (5)]], "baz"],"moo","zoo"]));
- $1=$recv($EavModel())._new();
- $recv($1)._getBlock_((function(x){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- $3=$recv(x)._root();
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["root"]=1;
- //>>excludeEnd("ctx");
- $2=$recv($3)._at_("foo");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["at:"]=2;
- //>>excludeEnd("ctx");
- return $recv($2)._at_((2));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["at:"]=1;
- //>>excludeEnd("ctx");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- $4=$recv($1)._putBlock_((function(x,y){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv($recv($recv(x)._root())._at_("foo"))._at_put_((2),y);
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x,y:y},$ctx1,2)});
- //>>excludeEnd("ctx");
- }));
- model=$4;
- $recv(isolator)._model_modify_(model,(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(1), [(2), (5)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testNontrivialModelGetsAppropriateValueForModification",{isolator:isolator,model:model,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testNontrivialModelGetsAppropriateValueForModification\x0a| isolator model result |\x0aresult := nil.\x0aisolator := Isolator on: #{ 'foo' -> #('bar' #(1 #(2 5)) 'baz'). 'moo' -> 'zoo' }.\x0amodel := EavModel new\x0a\x09getBlock: [ :x | (x root at: 'foo') at: 2 ];\x0a\x09putBlock: [ :x :y | (x root at: 'foo') at: 2 put: y].\x0aisolator model: model modify: [:r|result := r].\x0aself assert: #(1 #(2 5)) equals: result",
- referencedClasses: ["Isolator", "EavModel"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "getBlock:", "new", "at:", "root", "putBlock:", "at:put:", "model:modify:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testNontrivialModelModifiesAppropriateValue",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,model,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- function $EavModel(){return $globals.EavModel||(typeof EavModel=="undefined"?nil:EavModel)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- var $1,$3,$2,$4;
- result=nil;
- isolator=$recv($Isolator())._on_($globals.HashedCollection._newFromPairs_(["foo",["bar", [(1), [(2), (3)]], "baz"],"moo","zoo"]));
- $1=$recv($EavModel())._new();
- $recv($1)._getBlock_((function(x){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- $3=$recv(x)._root();
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["root"]=1;
- //>>excludeEnd("ctx");
- $2=$recv($3)._at_("foo");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["at:"]=2;
- //>>excludeEnd("ctx");
- return $recv($2)._at_((2));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["at:"]=1;
- //>>excludeEnd("ctx");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- $4=$recv($1)._putBlock_((function(x,y){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv($recv($recv(x)._root())._at_("foo"))._at_put_((2),y);
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x,y:y},$ctx1,2)});
- //>>excludeEnd("ctx");
- }));
- model=$4;
- $recv(isolator)._model_modify_(model,(function(r){
- return "new";
- }));
- $recv(isolator)._model_read_(model,(function(r){
- result=r;
- return result;
- }));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["model:read:"]=1;
- //>>excludeEnd("ctx");
- self._assert_equals_("new",result);
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["assert:equals:"]=1;
- //>>excludeEnd("ctx");
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_($globals.HashedCollection._newFromPairs_(["foo",["bar", "new", "baz"],"moo","zoo"]),result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testNontrivialModelModifiesAppropriateValue",{isolator:isolator,model:model,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testNontrivialModelModifiesAppropriateValue\x0a| isolator model result |\x0aresult := nil.\x0aisolator := Isolator on: #{ 'foo' -> #('bar' #(1 #(2 3)) 'baz'). 'moo' -> 'zoo' }.\x0amodel := EavModel new\x0a\x09getBlock: [ :x | (x root at: 'foo') at: 2 ];\x0a\x09putBlock: [ :x :y | (x root at: 'foo') at: 2 put: y].\x0aisolator model: model modify: [:r|#new].\x0aisolator model: model read: [:r|result := r].\x0aself assert: #new equals: result.\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #{ 'foo' -> #('bar' #new 'baz'). 'moo' -> 'zoo' } equals: result",
- referencedClasses: ["Isolator", "EavModel"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "getBlock:", "new", "at:", "root", "putBlock:", "at:put:", "model:modify:", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testNontrivialModelReturnsAppropriateValue",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,model,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- function $EavModel(){return $globals.EavModel||(typeof EavModel=="undefined"?nil:EavModel)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_($globals.HashedCollection._newFromPairs_(["foo",["bar", [(1), [(2), (3)]], "baz"],"moo","zoo"]));
- model=$recv($recv($EavModel())._new())._getBlock_((function(x){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv($recv($recv(x)._root())._at_("foo"))._at_((2));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["at:"]=1;
- //>>excludeEnd("ctx");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- $recv(isolator)._model_read_(model,(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(1), [(2), (3)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testNontrivialModelReturnsAppropriateValue",{isolator:isolator,model:model,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testNontrivialModelReturnsAppropriateValue\x0a| isolator model result |\x0aresult := nil.\x0aisolator := Isolator on: #{ 'foo' -> #('bar' #(1 #(2 3)) 'baz'). 'moo' -> 'zoo' }.\x0amodel := EavModel new getBlock: [ :x | (x root at: 'foo') at: 2 ].\x0aisolator model: model read: [:r|result := r].\x0aself assert: #(1 #(2 3)) equals: result",
- referencedClasses: ["Isolator", "EavModel"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "getBlock:", "new", "at:", "root", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelExaminesThenModifiesRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- $recv(isolator)._model_modify_(self["@rootModel"],(function(r){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv(r)._second();
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({r:r},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(2), (3)],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelExaminesThenModifiesRoot",{isolator:isolator,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelExaminesThenModifiesRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel modify: [:r|r second].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(2 3) equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:modify:", "second", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelGetsRootForModification",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(2), [(1), (0)]]);
- $recv(isolator)._model_modify_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(2), [(1), (0)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelGetsRootForModification",{isolator:isolator,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelGetsRootForModification\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(2 #(1 0)).\x0aisolator model: rootModel modify: [:r|result := r].\x0aself assert: #(2 #(1 0)) equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:modify:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelModifiesAndDeeplyIsolatesInPlaceModifiedRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result,newValue;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- newValue=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- $recv(isolator)._model_modify_(self["@rootModel"],(function(r){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- newValue=r;
- newValue;
- $recv(r)._at_put_((1),(4));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx2.sendIdx["at:put:"]=1;
- //>>excludeEnd("ctx");
- return r;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({r:r},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- $recv(newValue)._at_put_((2),"bar");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["at:put:"]=2;
- //>>excludeEnd("ctx");
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- $recv(newValue)._at_put_((2),"baz");
- self._assert_equals_([(4), [(2), (3)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelModifiesAndDeeplyIsolatesInPlaceModifiedRoot",{isolator:isolator,result:result,newValue:newValue},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelModifiesAndDeeplyIsolatesInPlaceModifiedRoot\x0a| isolator result newValue |\x0aresult := nil. newValue := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel modify: [:r|newValue := r. r at: 1 put: 4. r].\x0anewValue at: 2 put: 'bar'.\x0aisolator model: rootModel read: [:r|result := r].\x0anewValue at: 2 put: 'baz'.\x0aself assert: #(4 #(2 3)) equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:modify:", "at:put:", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelModifiesAndDeeplyIsolatesRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result,newValue;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- var $1;
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- newValue=$globals.HashedCollection._newFromPairs_(["foo",[(4), (5), (6)]]);
- $recv(isolator)._model_modify_(self["@rootModel"],(function(r){
- return newValue;
- }));
- $1=$recv(newValue)._at_("foo");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["at:"]=1;
- //>>excludeEnd("ctx");
- $recv($1)._at_put_((1),"bar");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["at:put:"]=1;
- //>>excludeEnd("ctx");
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- $recv($recv(newValue)._at_("foo"))._at_put_((3),"baz");
- self._assert_equals_($globals.HashedCollection._newFromPairs_(["foo",[(4), (5), (6)]]),result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelModifiesAndDeeplyIsolatesRoot",{isolator:isolator,result:result,newValue:newValue},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelModifiesAndDeeplyIsolatesRoot\x0a| isolator result newValue |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0anewValue := #{'foo'->#(4 5 6)}.\x0aisolator model: rootModel modify: [:r|newValue].\x0a(newValue at: 'foo') at: 1 put: 'bar'.\x0aisolator model: rootModel read: [:r|result := r].\x0a(newValue at: 'foo') at: 3 put: 'baz'.\x0aself assert: #{'foo'->#(4 5 6)} equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:modify:", "at:put:", "at:", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelModifiesAndIsolatesRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result,newValue;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- newValue=$globals.HashedCollection._newFromPairs_(["foo",[(4), (5), (6)]]);
- $recv(isolator)._model_modify_(self["@rootModel"],(function(r){
- return newValue;
- }));
- $recv(newValue)._at_put_("foo","bar");
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["at:put:"]=1;
- //>>excludeEnd("ctx");
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- $recv(newValue)._at_put_("foo","baz");
- self._assert_equals_($globals.HashedCollection._newFromPairs_(["foo",[(4), (5), (6)]]),result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelModifiesAndIsolatesRoot",{isolator:isolator,result:result,newValue:newValue},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelModifiesAndIsolatesRoot\x0a| isolator result newValue |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0anewValue := #{'foo'->#(4 5 6)}.\x0aisolator model: rootModel modify: [:r|newValue].\x0anewValue at: 'foo' put: 'bar'.\x0aisolator model: rootModel read: [:r|result := r].\x0anewValue at: 'foo' put: 'baz'.\x0aself assert: #{'foo'->#(4 5 6)} equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:modify:", "at:put:", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelModifiesRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- $recv(isolator)._model_modify_(self["@rootModel"],(function(r){
- return $globals.HashedCollection._newFromPairs_(["foo",[(4), (5), (6)]]);
- }));
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_($globals.HashedCollection._newFromPairs_(["foo",[(4), (5), (6)]]),result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelModifiesRoot",{isolator:isolator,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelModifiesRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel modify: [:r|#{'foo'->#(4 5 6)}].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #{'foo'->#(4 5 6)} equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:modify:", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelReturnsDeeplyIsolatedRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv($recv(r)._at_((2)))._at_put_((1),(0));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({r:r},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["model:read:"]=1;
- //>>excludeEnd("ctx");
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(1), [(2), (3)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelReturnsDeeplyIsolatedRoot",{isolator:isolator,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelReturnsDeeplyIsolatedRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel read: [:r|(r at: 2) at: 1 put: 0].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(1 #(2 3)) equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:read:", "at:put:", "at:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelReturnsIsolatedRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (4)]]);
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx2) {
- //>>excludeEnd("ctx");
- return $recv(r)._at_put_((2),nil);
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx2) {$ctx2.fillBlock({r:r},$ctx1,1)});
- //>>excludeEnd("ctx");
- }));
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- $ctx1.sendIdx["model:read:"]=1;
- //>>excludeEnd("ctx");
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(1), [(2), (4)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelReturnsIsolatedRoot",{isolator:isolator,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelReturnsIsolatedRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 4)).\x0aisolator model: rootModel read: [:r|r at: 2 put: nil].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(1 #(2 4)) equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:read:", "at:put:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- $core.addMethod(
- $core.method({
- selector: "testRootModelReturnsRoot",
- protocol: 'tests',
- fn: function (){
- var self=this;
- var isolator,result;
- function $Isolator(){return $globals.Isolator||(typeof Isolator=="undefined"?nil:Isolator)}
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- return $core.withContext(function($ctx1) {
- //>>excludeEnd("ctx");
- result=nil;
- isolator=$recv($Isolator())._on_([(1), [(2), (3)]]);
- $recv(isolator)._model_read_(self["@rootModel"],(function(r){
- result=r;
- return result;
- }));
- self._assert_equals_([(1), [(2), (3)]],result);
- return self;
- //>>excludeStart("ctx", pragmas.excludeDebugContexts);
- }, function($ctx1) {$ctx1.fill(self,"testRootModelReturnsRoot",{isolator:isolator,result:result},$globals.IsolatorTest)});
- //>>excludeEnd("ctx");
- },
- //>>excludeStart("ide", pragmas.excludeIdeData);
- args: [],
- source: "testRootModelReturnsRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(1 #(2 3)) equals: result",
- referencedClasses: ["Isolator"],
- //>>excludeEnd("ide");
- messageSends: ["on:", "model:read:", "assert:equals:"]
- }),
- $globals.IsolatorTest);
- });
|