1
0
Quellcode durchsuchen

Fixes #842

- Fixes Array >> sort
- Modified ArrayTest >> testSort
Nicolas Petton vor 11 Jahren
Ursprung
Commit
a0fb8e00c5
4 geänderte Dateien mit 12 neuen und 9 gelöschten Zeilen
  1. 6 3
      js/Kernel-Collections.js
  2. 3 3
      js/Kernel-Tests.js
  3. 1 1
      st/Kernel-Collections.st
  4. 2 2
      st/Kernel-Tests.st

+ 6 - 3
js/Kernel-Collections.js

@@ -3660,12 +3660,15 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=self._basicPerform_("sort");
+$1=self._sort_((function(a,b){
+return smalltalk.withContext(function($ctx2) {
+return _st(a).__lt(b);
+}, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sort",{},globals.Array)})},
 args: [],
-source: "sort\x0a\x09^ self basicPerform: 'sort'",
-messageSends: ["basicPerform:"],
+source: "sort\x0a\x09^ self sort: [ :a :b | a < b ]",
+messageSends: ["sort:", "<"],
 referencedClasses: []
 }),
 globals.Array);

+ 3 - 3
js/Kernel-Tests.js

@@ -4445,12 +4445,12 @@ fn: function (){
 var self=this;
 var array;
 return smalltalk.withContext(function($ctx1) { 
-array=[(3), (1), (4), (5), (2)];
+array=[(10), (1), (5)];
 _st(array)._sort();
-self._assert_equals_(array,[(1), (2), (3), (4), (5)]);
+self._assert_equals_(array,[(1), (5), (10)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testSort",{array:array},globals.ArrayTest)})},
 args: [],
-source: "testSort\x0a\x09| array |\x0a\x09array := #(3 1 4 5 2). \x0a\x09array sort.\x0a\x09self assert: array equals: #(1 2 3 4 5)",
+source: "testSort\x0a\x09| array |\x0a\x09array := #(10 1 5). \x0a\x09array sort.\x0a\x09self assert: array equals: #(1 5 10)",
 messageSends: ["sort", "assert:equals:"],
 referencedClasses: []
 }),

+ 1 - 1
st/Kernel-Collections.st

@@ -1273,7 +1273,7 @@ select: aBlock
 !
 
 sort
-	^ self basicPerform: 'sort'
+	^ self sort: [ :a :b | a < b ]
 !
 
 sort: aBlock

+ 2 - 2
st/Kernel-Tests.st

@@ -1262,9 +1262,9 @@ testReversed
 
 testSort
 	| array |
-	array := #(3 1 4 5 2). 
+	array := #(10 1 5). 
 	array sort.
-	self assert: array equals: #(1 2 3 4 5)
+	self assert: array equals: #(1 5 10)
 ! !
 
 !ArrayTest class methodsFor: 'fixture'!