Browse Source

One more case for 1242 tests.

Herby Vojčík 4 years ago
parent
commit
f8053cd07c
2 changed files with 43 additions and 0 deletions
  1. 36 0
      lang/src/Compiler-Tests.js
  2. 7 0
      lang/src/Compiler-Tests.st

+ 36 - 0
lang/src/Compiler-Tests.js

@@ -1000,6 +1000,42 @@ return self;
 }; }),
 $globals.AbstractCompilerTest);
 
+$core.addMethod(
+$core.method({
+selector: "testRegression1242ForReturn",
+protocol: "tests",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "testRegression1242ForReturn\x0a\x09self should: 'foo [ ^ nil ifNil: [] ] value' return: nil.\x0a\x09self should: 'foo [ ^ 1 ifNotNil: [] ] value' return: nil.\x0a\x09self should: 'foo [ ^ false ifFalse: [] ] value' return: nil.\x0a\x09self should: 'foo [ ^ true ifTrue: [] ] value' return: nil.",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: ["should:return:"]
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+$self._should_return_("foo [ ^ nil ifNil: [] ] value",nil);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["should:return:"]=1;
+//>>excludeEnd("ctx");
+$self._should_return_("foo [ ^ 1 ifNotNil: [] ] value",nil);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["should:return:"]=2;
+//>>excludeEnd("ctx");
+$self._should_return_("foo [ ^ false ifFalse: [] ] value",nil);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["should:return:"]=3;
+//>>excludeEnd("ctx");
+$self._should_return_("foo [ ^ true ifTrue: [] ] value",nil);
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"testRegression1242ForReturn",{})});
+//>>excludeEnd("ctx");
+}; }),
+$globals.AbstractCompilerTest);
+
 $core.addMethod(
 $core.method({
 selector: "testRegression1244",

+ 7 - 0
lang/src/Compiler-Tests.st

@@ -266,6 +266,13 @@ testRegression1242
 	' return: nil.
 !
 
+testRegression1242ForReturn
+	self should: 'foo [ ^ nil ifNil: [] ] value' return: nil.
+	self should: 'foo [ ^ 1 ifNotNil: [] ] value' return: nil.
+	self should: 'foo [ ^ false ifFalse: [] ] value' return: nil.
+	self should: 'foo [ ^ true ifTrue: [] ] value' return: nil.
+!
+
 testRegression1244
 	self should: 'foo [ ^ true ifTrue: [1] ifFalse: [2] ] value' return: 1
 !