|
@@ -450,6 +450,40 @@ return self;
|
|
|
}; }),
|
|
|
$globals.SUnitAsyncTest);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "fakeNonLifoReturn",
|
|
|
+protocol: "helpers",
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "fakeNonLifoReturn\x0a\x09flag := 'bad'.\x0a\x09self timeout: 30.\x0a\x09flag := (self async: [ flag := 'ok'. ^ 'non-lifo' ]) valueWithTimeout: 20",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+pragmas: [],
|
|
|
+messageSends: ["timeout:", "valueWithTimeout:", "async:"]
|
|
|
+}, function ($methodClass){ return function (){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+var $early={};
|
|
|
+try {
|
|
|
+$self.flag="bad";
|
|
|
+$self._timeout_((30));
|
|
|
+$self.flag=$recv($self._async_((function(){
|
|
|
+$self.flag="ok";
|
|
|
+throw $early=["non-lifo"];
|
|
|
+
|
|
|
+})))._valueWithTimeout_((20));
|
|
|
+return self;
|
|
|
+}
|
|
|
+catch(e) {if(e===$early)return e[0]; throw e}
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"fakeNonLifoReturn",{})});
|
|
|
+
|
|
|
+}; }),
|
|
|
+$globals.SUnitAsyncTest);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "fakeTimeout",
|
|
@@ -773,6 +807,81 @@ return self;
|
|
|
}; }),
|
|
|
$globals.SUnitAsyncTest);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "testNonLifo",
|
|
|
+protocol: "tests",
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "testNonLifo\x0a\x09| suite runner result assertBlock |\x0a\x09suite := #(fakeNonLifoReturn testPass) collect: [ :each | self class selector: each ].\x0a\x09runner := TestSuiteRunner on: suite.\x0a\x09self timeout: 200.\x0a\x09result := runner result.\x0a\x09assertBlock := self async: [\x0a\x09\x09self assert: (self selectorSetOf: result errors) equals: #(fakeNonLifoReturn) asSet.\x0a\x09\x09self assert: (self selectorSetOf: result failures) equals: Set new.\x0a\x09\x09\x22TODO check that error is indeed a correct NonLifoReturn\x22\x0a\x09\x09self finished\x0a\x09].\x0a\x09runner announcer on: ResultAnnouncement do: [ :ann |\x0a\x09\x09(ann result == result and: [ result runs = result total ]) ifTrue: assertBlock ].\x0a\x09runner run",
|
|
|
+referencedClasses: ["TestSuiteRunner", "Set", "ResultAnnouncement"],
|
|
|
+
|
|
|
+pragmas: [],
|
|
|
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "new", "finished", "on:do:", "announcer", "ifTrue:", "and:", "==", "=", "runs", "total", "run"]
|
|
|
+}, function ($methodClass){ return function (){
|
|
|
+var self=this,$self=this;
|
|
|
+var suite,runner,result,assertBlock;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+var $1;
|
|
|
+suite=["fakeNonLifoReturn", "testPass"]._collect_((function(each){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+return $recv($self._class())._selector_(each);
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
|
|
|
+
|
|
|
+}));
|
|
|
+runner=$recv($globals.TestSuiteRunner)._on_(suite);
|
|
|
+$self._timeout_((200));
|
|
|
+result=[$recv(runner)._result()
|
|
|
+
|
|
|
+,$ctx1.sendIdx["result"]=1
|
|
|
+
|
|
|
+][0];
|
|
|
+assertBlock=$self._async_((function(){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+[$self._assert_equals_([$self._selectorSetOf_($recv(result)._errors())
|
|
|
+
|
|
|
+,$ctx2.sendIdx["selectorSetOf:"]=1
|
|
|
+
|
|
|
+][0],["fakeNonLifoReturn"]._asSet())
|
|
|
+
|
|
|
+,$ctx2.sendIdx["assert:equals:"]=1
|
|
|
+
|
|
|
+][0];
|
|
|
+$self._assert_equals_($self._selectorSetOf_($recv(result)._failures()),$recv($globals.Set)._new());
|
|
|
+return $self._finished();
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
|
|
|
+
|
|
|
+}));
|
|
|
+$recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(ann){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+if($core.assert($recv($recv(ann)._result()).__eq_eq(result))){
|
|
|
+$1=$recv($recv(result)._runs()).__eq($recv(result)._total());
|
|
|
+} else {
|
|
|
+$1=false;
|
|
|
+}
|
|
|
+return $recv($1)._ifTrue_(assertBlock);
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1,3)});
|
|
|
+
|
|
|
+}));
|
|
|
+$recv(runner)._run();
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"testNonLifo",{suite:suite,runner:runner,result:result,assertBlock:assertBlock})});
|
|
|
+
|
|
|
+}; }),
|
|
|
+$globals.SUnitAsyncTest);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "testPass",
|
|
@@ -1146,6 +1255,40 @@ return $recv($globals.Promise)._delayMilliseconds_((20));
|
|
|
}; }),
|
|
|
$globals.SUnitPromiseTest);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "fakeNonLifoReturn",
|
|
|
+protocol: "helpers",
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "fakeNonLifoReturn\x0a\x09flag := 'bad'.\x0a\x09self timeout: 30.\x0a\x09flag := Promise delayMilliseconds: 20.\x0a\x09^ flag then: [ flag := 'ok'. ^ 'non-lifo' ]",
|
|
|
+referencedClasses: ["Promise"],
|
|
|
+
|
|
|
+pragmas: [],
|
|
|
+messageSends: ["timeout:", "delayMilliseconds:", "then:"]
|
|
|
+}, function ($methodClass){ return function (){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+var $early={};
|
|
|
+try {
|
|
|
+$self.flag="bad";
|
|
|
+$self._timeout_((30));
|
|
|
+$self.flag=$recv($globals.Promise)._delayMilliseconds_((20));
|
|
|
+return $recv($self.flag)._then_((function(){
|
|
|
+$self.flag="ok";
|
|
|
+throw $early=["non-lifo"];
|
|
|
+
|
|
|
+}));
|
|
|
+}
|
|
|
+catch(e) {if(e===$early)return e[0]; throw e}
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"fakeNonLifoReturn",{})});
|
|
|
+
|
|
|
+}; }),
|
|
|
+$globals.SUnitPromiseTest);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "fakePromiseWithoutTimeout",
|
|
@@ -1321,6 +1464,88 @@ return $recv($globals.Promise)._new();
|
|
|
}; }),
|
|
|
$globals.SUnitPromiseTest);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "testNonLifo",
|
|
|
+protocol: "tests",
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "testNonLifo\x0a\x09| suite runner result |\x0a\x09suite := #(fakeNonLifoReturn testPass) collect: [ :each | self class selector: each ].\x0a\x09runner := TestSuiteRunner on: suite.\x0a\x09self timeout: 200.\x0a\x09result := runner result.\x0a\x09^ Promise new: [ :model |\x0a\x09\x09runner announcer on: ResultAnnouncement do: [ :ann |\x0a\x09\x09\x09(ann result == result and: [ result runs = result total ]) ifTrue: [ model do: [\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result errors) equals: #(fakeNonLifoReturn) asSet.\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result failures) equals: Set new.\x0a\x09\x09\x09\x09\x22TODO check that error is indeed a correct NonLifoReturn\x22\x0a\x09\x09] ] ].\x0a\x09\x09runner run ]",
|
|
|
+referencedClasses: ["TestSuiteRunner", "Promise", "ResultAnnouncement", "Set"],
|
|
|
+
|
|
|
+pragmas: [],
|
|
|
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "new:", "on:do:", "announcer", "ifTrue:", "and:", "==", "=", "runs", "total", "do:", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "new", "run"]
|
|
|
+}, function ($methodClass){ return function (){
|
|
|
+var self=this,$self=this;
|
|
|
+var suite,runner,result;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+var $1;
|
|
|
+suite=["fakeNonLifoReturn", "testPass"]._collect_((function(each){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+return $recv($self._class())._selector_(each);
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
|
|
|
+
|
|
|
+}));
|
|
|
+runner=$recv($globals.TestSuiteRunner)._on_(suite);
|
|
|
+$self._timeout_((200));
|
|
|
+result=[$recv(runner)._result()
|
|
|
+
|
|
|
+,$ctx1.sendIdx["result"]=1
|
|
|
+
|
|
|
+][0];
|
|
|
+return $recv($globals.Promise)._new_((function(model){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx2) {
|
|
|
+
|
|
|
+$recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(ann){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx3) {
|
|
|
+
|
|
|
+if($core.assert($recv($recv(ann)._result()).__eq_eq(result))){
|
|
|
+$1=$recv($recv(result)._runs()).__eq($recv(result)._total());
|
|
|
+} else {
|
|
|
+$1=false;
|
|
|
+}
|
|
|
+if($core.assert($1)){
|
|
|
+return $recv(model)._do_((function(){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx4) {
|
|
|
+
|
|
|
+[$self._assert_equals_([$self._selectorSetOf_($recv(result)._errors())
|
|
|
+
|
|
|
+,$ctx4.sendIdx["selectorSetOf:"]=1
|
|
|
+
|
|
|
+][0],["fakeNonLifoReturn"]._asSet())
|
|
|
+
|
|
|
+,$ctx4.sendIdx["assert:equals:"]=1
|
|
|
+
|
|
|
+][0];
|
|
|
+return $self._assert_equals_($self._selectorSetOf_($recv(result)._failures()),$recv($globals.Set)._new());
|
|
|
+
|
|
|
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3,6)});
|
|
|
+
|
|
|
+}));
|
|
|
+}
|
|
|
+
|
|
|
+}, function($ctx3) {$ctx3.fillBlock({ann:ann},$ctx2,3)});
|
|
|
+
|
|
|
+}));
|
|
|
+return $recv(runner)._run();
|
|
|
+
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({model:model},$ctx1,2)});
|
|
|
+
|
|
|
+}));
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"testNonLifo",{suite:suite,runner:runner,result:result})});
|
|
|
+
|
|
|
+}; }),
|
|
|
+$globals.SUnitPromiseTest);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "testPass",
|
|
@@ -1363,11 +1588,11 @@ selector: "testPromiseErrorsAndFailures",
|
|
|
protocol: "tests",
|
|
|
|
|
|
args: [],
|
|
|
-source: "testPromiseErrorsAndFailures\x0a\x09| suite runner result |\x0a\x09suite := #(fakeError fakeErrorFailingInTearDown fakeFailure testPass) collect: [ :each | self class selector: each ].\x0a\x09runner := TestSuiteRunner on: suite.\x0a\x09self timeout: 200.\x0a\x09result := runner result.\x0a\x09^ Promise new: [ :model |\x0a\x09\x09runner announcer on: ResultAnnouncement do: [ :ann |\x0a\x09\x09\x09(ann result == result and: [ result runs = result total ]) ifTrue: [\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result errors) equals: #(fakeError) asSet.\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result failures) equals: #(fakeErrorFailingInTearDown fakeFailure) asSet.\x0a\x09\x09\x09\x09model value: nil ] ].\x0a\x09\x09runner run ]",
|
|
|
+source: "testPromiseErrorsAndFailures\x0a\x09| suite runner result |\x0a\x09suite := #(fakeError fakeErrorFailingInTearDown fakeFailure testPass) collect: [ :each | self class selector: each ].\x0a\x09runner := TestSuiteRunner on: suite.\x0a\x09self timeout: 200.\x0a\x09result := runner result.\x0a\x09^ Promise new: [ :model |\x0a\x09\x09runner announcer on: ResultAnnouncement do: [ :ann |\x0a\x09\x09\x09(ann result == result and: [ result runs = result total ]) ifTrue: [ model do: [\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result errors) equals: #(fakeError) asSet.\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result failures) equals: #(fakeErrorFailingInTearDown fakeFailure) asSet ] ] ].\x0a\x09\x09runner run ]",
|
|
|
referencedClasses: ["TestSuiteRunner", "Promise", "ResultAnnouncement"],
|
|
|
|
|
|
pragmas: [],
|
|
|
-messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "new:", "on:do:", "announcer", "ifTrue:", "and:", "==", "=", "runs", "total", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "value:", "run"]
|
|
|
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "new:", "on:do:", "announcer", "ifTrue:", "and:", "==", "=", "runs", "total", "do:", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "run"]
|
|
|
}, function ($methodClass){ return function (){
|
|
|
var self=this,$self=this;
|
|
|
var suite,runner,result;
|
|
@@ -1405,21 +1630,28 @@ $1=$recv($recv(result)._runs()).__eq($recv(result)._total());
|
|
|
$1=false;
|
|
|
}
|
|
|
if($core.assert($1)){
|
|
|
+return $recv(model)._do_((function(){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx4) {
|
|
|
+
|
|
|
[$self._assert_equals_([$self._selectorSetOf_($recv(result)._errors())
|
|
|
|
|
|
-,$ctx3.sendIdx["selectorSetOf:"]=1
|
|
|
+,$ctx4.sendIdx["selectorSetOf:"]=1
|
|
|
|
|
|
][0],[["fakeError"]._asSet()
|
|
|
|
|
|
-,$ctx3.sendIdx["asSet"]=1
|
|
|
+,$ctx4.sendIdx["asSet"]=1
|
|
|
|
|
|
][0])
|
|
|
|
|
|
-,$ctx3.sendIdx["assert:equals:"]=1
|
|
|
+,$ctx4.sendIdx["assert:equals:"]=1
|
|
|
|
|
|
][0];
|
|
|
-$self._assert_equals_($self._selectorSetOf_($recv(result)._failures()),["fakeErrorFailingInTearDown", "fakeFailure"]._asSet());
|
|
|
-return $recv(model)._value_(nil);
|
|
|
+return $self._assert_equals_($self._selectorSetOf_($recv(result)._failures()),["fakeErrorFailingInTearDown", "fakeFailure"]._asSet());
|
|
|
+
|
|
|
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3,6)});
|
|
|
+
|
|
|
+}));
|
|
|
}
|
|
|
|
|
|
}, function($ctx3) {$ctx3.fillBlock({ann:ann},$ctx2,3)});
|
|
@@ -1442,18 +1674,18 @@ selector: "testTimeouts",
|
|
|
protocol: "tests",
|
|
|
|
|
|
args: [],
|
|
|
-source: "testTimeouts\x0a\x09| suite runner result |\x0a\x09suite := #(fakeTimeout fakeMultipleTimeoutFailing fakeMultipleTimeoutPassing fakeTimeoutSendOnly fakePromiseWithoutTimeout testPass) collect: [ :each | self class selector: each ].\x0a\x09runner := TestSuiteRunner on: suite.\x0a\x09self timeout: 200.\x0a\x09result := runner result.\x0a\x09^ Promise new: [ :model |\x0a\x09\x09runner announcer on: ResultAnnouncement do: [ :ann |\x0a\x09\x09\x09console log: ann; log: ann result runs.\x0a\x09\x09\x09(ann result == result and: [ result runs = result total ]) ifTrue: [\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result errors) equals: #() asSet.\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result failures) equals: #(fakeMultipleTimeoutFailing fakeTimeout fakeTimeoutSendOnly fakePromiseWithoutTimeout) asSet.\x0a\x09\x09\x09\x09model value: nil ] ].\x0a\x09\x09runner run ]",
|
|
|
+source: "testTimeouts\x0a\x09| suite runner result |\x0a\x09suite := #(fakeTimeout fakeMultipleTimeoutFailing fakeMultipleTimeoutPassing fakeTimeoutSendOnly fakePromiseWithoutTimeout testPass) collect: [ :each | self class selector: each ].\x0a\x09runner := TestSuiteRunner on: suite.\x0a\x09self timeout: 200.\x0a\x09result := runner result.\x0a\x09^ Promise new: [ :model |\x0a\x09\x09runner announcer on: ResultAnnouncement do: [ :ann |\x0a\x09\x09\x09(ann result == result and: [ result runs = result total ]) ifTrue: [ model do: [\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result errors) equals: #() asSet.\x0a\x09\x09\x09\x09self assert: (self selectorSetOf: result failures) equals: #(fakeMultipleTimeoutFailing fakeTimeout fakeTimeoutSendOnly fakePromiseWithoutTimeout) asSet ] ] ].\x0a\x09\x09runner run ]",
|
|
|
referencedClasses: ["TestSuiteRunner", "Promise", "ResultAnnouncement"],
|
|
|
|
|
|
pragmas: [],
|
|
|
-messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "new:", "on:do:", "announcer", "log:", "runs", "ifTrue:", "and:", "==", "=", "total", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "value:", "run"]
|
|
|
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "new:", "on:do:", "announcer", "ifTrue:", "and:", "==", "=", "runs", "total", "do:", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "run"]
|
|
|
}, function ($methodClass){ return function (){
|
|
|
var self=this,$self=this;
|
|
|
var suite,runner,result;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-var $1,$2;
|
|
|
+var $1;
|
|
|
suite=["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "fakeTimeoutSendOnly", "fakePromiseWithoutTimeout", "testPass"]._collect_((function(each){
|
|
|
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -1478,42 +1710,34 @@ $recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(
|
|
|
|
|
|
return $core.withContext(function($ctx3) {
|
|
|
|
|
|
-$1=console;
|
|
|
-[$recv($1)._log_(ann)
|
|
|
-
|
|
|
-,$ctx3.sendIdx["log:"]=1
|
|
|
-
|
|
|
-][0];
|
|
|
-$recv($1)._log_([$recv([$recv(ann)._result()
|
|
|
-
|
|
|
-,$ctx3.sendIdx["result"]=2
|
|
|
-
|
|
|
-][0])._runs()
|
|
|
-
|
|
|
-,$ctx3.sendIdx["runs"]=1
|
|
|
-
|
|
|
-][0]);
|
|
|
if($core.assert($recv($recv(ann)._result()).__eq_eq(result))){
|
|
|
-$2=$recv($recv(result)._runs()).__eq($recv(result)._total());
|
|
|
+$1=$recv($recv(result)._runs()).__eq($recv(result)._total());
|
|
|
} else {
|
|
|
-$2=false;
|
|
|
+$1=false;
|
|
|
}
|
|
|
-if($core.assert($2)){
|
|
|
+if($core.assert($1)){
|
|
|
+return $recv(model)._do_((function(){
|
|
|
+
|
|
|
+return $core.withContext(function($ctx4) {
|
|
|
+
|
|
|
[$self._assert_equals_([$self._selectorSetOf_($recv(result)._errors())
|
|
|
|
|
|
-,$ctx3.sendIdx["selectorSetOf:"]=1
|
|
|
+,$ctx4.sendIdx["selectorSetOf:"]=1
|
|
|
|
|
|
][0],[[]._asSet()
|
|
|
|
|
|
-,$ctx3.sendIdx["asSet"]=1
|
|
|
+,$ctx4.sendIdx["asSet"]=1
|
|
|
|
|
|
][0])
|
|
|
|
|
|
-,$ctx3.sendIdx["assert:equals:"]=1
|
|
|
+,$ctx4.sendIdx["assert:equals:"]=1
|
|
|
|
|
|
][0];
|
|
|
-$self._assert_equals_($self._selectorSetOf_($recv(result)._failures()),["fakeMultipleTimeoutFailing", "fakeTimeout", "fakeTimeoutSendOnly", "fakePromiseWithoutTimeout"]._asSet());
|
|
|
-return $recv(model)._value_(nil);
|
|
|
+return $self._assert_equals_($self._selectorSetOf_($recv(result)._failures()),["fakeMultipleTimeoutFailing", "fakeTimeout", "fakeTimeoutSendOnly", "fakePromiseWithoutTimeout"]._asSet());
|
|
|
+
|
|
|
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3,6)});
|
|
|
+
|
|
|
+}));
|
|
|
}
|
|
|
|
|
|
}, function($ctx3) {$ctx3.fillBlock({ann:ann},$ctx2,3)});
|