Browse Source

Fixed ensure semantics and accompanied test.

Herby Vojčík 12 years ago
parent
commit
ad2d53ee7e
6 changed files with 14 additions and 14 deletions
  1. 1 1
      js/Kernel-Methods.deploy.js
  2. 2 2
      js/Kernel-Methods.js
  3. 3 3
      js/Kernel-Tests.deploy.js
  4. 6 6
      js/Kernel-Tests.js
  5. 1 1
      st/Kernel-Methods.st
  6. 1 1
      st/Kernel-Tests.st

+ 1 - 1
js/Kernel-Methods.deploy.js

@@ -30,7 +30,7 @@ smalltalk.method({
 selector: "ensure:",
 fn: function (aBlock){
 var self=this;
-try{self()}finally{return aBlock._value()};
+try{return self()}finally{aBlock._value()};
 ;
 return self}
 }),

+ 2 - 2
js/Kernel-Methods.js

@@ -42,11 +42,11 @@ selector: "ensure:",
 category: 'evaluating',
 fn: function (aBlock){
 var self=this;
-try{self()}finally{return aBlock._value()};
+try{return self()}finally{aBlock._value()};
 ;
 return self},
 args: ["aBlock"],
-source: "ensure: aBlock\x0a\x09<try{self()}finally{return aBlock._value()}>",
+source: "ensure: aBlock\x0a\x09<try{return self()}finally{aBlock._value()}>",
 messageSends: [],
 referencedClasses: []
 }),

+ 3 - 3
js/Kernel-Tests.deploy.js

@@ -19,10 +19,10 @@ smalltalk.method({
 selector: "testEnsure",
 fn: function (){
 var self=this;
-smalltalk.send(self,"_assert_",[smalltalk.send((function(){
-return smalltalk.send((smalltalk.Error || Error),"_new",[]);
+smalltalk.send(self,"_assert_equals_",[(3),smalltalk.send((function(){
+return (3);
 }),"_ensure_",[(function(){
-return true;
+return (4);
 })])]);
 return self}
 }),

+ 6 - 6
js/Kernel-Tests.js

@@ -25,16 +25,16 @@ selector: "testEnsure",
 category: 'tests',
 fn: function (){
 var self=this;
-smalltalk.send(self,"_assert_",[smalltalk.send((function(){
-return smalltalk.send((smalltalk.Error || Error),"_new",[]);
+smalltalk.send(self,"_assert_equals_",[(3),smalltalk.send((function(){
+return (3);
 }),"_ensure_",[(function(){
-return true;
+return (4);
 })])]);
 return self},
 args: [],
-source: "testEnsure\x0a\x09self assert: ([Error new] ensure: [true])",
-messageSends: ["assert:", "ensure:", "new"],
-referencedClasses: ["Error"]
+source: "testEnsure\x0a\x09self assert: 3 equals: ([3] ensure: [4])",
+messageSends: ["assert:equals:", "ensure:"],
+referencedClasses: []
 }),
 smalltalk.BlockClosureTest);
 

+ 1 - 1
st/Kernel-Methods.st

@@ -56,7 +56,7 @@ applyTo: anObject arguments: aCollection
 !
 
 ensure: aBlock
-	<try{self()}finally{return aBlock._value()}>
+	<try{return self()}finally{aBlock._value()}>
 !
 
 new

+ 1 - 1
st/Kernel-Tests.st

@@ -10,7 +10,7 @@ testCompiledSource
 !
 
 testEnsure
-	self assert: ([Error new] ensure: [true])
+	self assert: 3 equals: ([3] ensure: [4])
 !
 
 testEnsureRaises