resin 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/amber/css/amber-normalize.css +73 -73
- data/amber/css/amber-normalize.less +1 -1
- data/amber/css/amber.css +106 -106
- data/amber/css/helios.css +242 -0
- data/amber/images/hsplitter.png +0 -0
- data/amber/images/vsplitter.png +0 -0
- data/amber/js/Benchfib.deploy.js +116 -38
- data/amber/js/Benchfib.js +120 -42
- data/amber/js/Canvas.deploy.js +674 -403
- data/amber/js/Canvas.js +682 -411
- data/amber/js/Compiler-AST.deploy.js +1150 -0
- data/amber/js/Compiler-AST.js +1591 -0
- data/amber/js/Compiler-Core.deploy.js +1562 -0
- data/amber/js/Compiler-Core.js +1972 -0
- data/amber/js/Compiler-Exceptions.deploy.js +114 -0
- data/amber/js/Compiler-Exceptions.js +161 -0
- data/amber/js/Compiler-IR.deploy.js +2326 -0
- data/amber/js/Compiler-IR.js +3146 -0
- data/amber/js/Compiler-Inlining.deploy.js +1147 -0
- data/amber/js/Compiler-Inlining.js +1514 -0
- data/amber/js/Compiler-Semantic.deploy.js +1207 -0
- data/amber/js/Compiler-Semantic.js +1628 -0
- data/amber/js/Compiler-Tests.deploy.js +646 -60
- data/amber/js/Compiler-Tests.js +843 -82
- data/amber/js/Compiler.deploy.js +1097 -159
- data/amber/js/Compiler.js +1414 -161
- data/amber/js/Examples.deploy.js +31 -15
- data/amber/js/Examples.js +33 -17
- data/amber/js/Helios-Announcements.deploy.js +127 -0
- data/amber/js/Helios-Announcements.js +157 -0
- data/amber/js/Helios-Browser.deploy.js +1473 -0
- data/amber/js/Helios-Browser.js +1953 -0
- data/amber/js/Helios-Commands.deploy.js +403 -0
- data/amber/js/Helios-Commands.js +563 -0
- data/amber/js/Helios-Core.deploy.js +1070 -0
- data/amber/js/Helios-Core.js +1445 -0
- data/amber/js/Helios-Environments.deploy.js +132 -0
- data/amber/js/Helios-Environments.js +179 -0
- data/amber/js/Helios-Inspector.deploy.js +855 -0
- data/amber/js/Helios-Inspector.js +1155 -0
- data/amber/js/Helios-KeyBindings.deploy.js +753 -0
- data/amber/js/Helios-KeyBindings.js +1023 -0
- data/amber/js/Helios-Layout.deploy.js +383 -0
- data/amber/js/Helios-Layout.js +523 -0
- data/amber/js/Helios-Workspace.deploy.js +799 -0
- data/amber/js/Helios-Workspace.js +1074 -0
- data/amber/js/IDE.deploy.js +2541 -1490
- data/amber/js/IDE.js +2721 -1660
- data/amber/js/Importer-Exporter.deploy.js +671 -0
- data/amber/js/Importer-Exporter.js +816 -0
- data/amber/js/Kernel-Announcements.deploy.js +137 -20
- data/amber/js/Kernel-Announcements.js +176 -22
- data/amber/js/Kernel-Classes.deploy.js +555 -168
- data/amber/js/Kernel-Classes.js +662 -205
- data/amber/js/Kernel-Collections.deploy.js +1403 -618
- data/amber/js/Kernel-Collections.js +1545 -690
- data/amber/js/Kernel-Exceptions.deploy.js +109 -45
- data/amber/js/Kernel-Exceptions.js +123 -49
- data/amber/js/Kernel-Methods.deploy.js +196 -81
- data/amber/js/Kernel-Methods.js +214 -89
- data/amber/js/Kernel-Objects.deploy.js +1542 -1117
- data/amber/js/Kernel-Objects.js +1593 -1148
- data/amber/js/Kernel-Tests.deploy.js +1725 -772
- data/amber/js/Kernel-Tests.js +2301 -1123
- data/amber/js/Kernel-Transcript.deploy.js +23 -25
- data/amber/js/Kernel-Transcript.js +24 -26
- data/amber/js/SUnit.deploy.js +204 -131
- data/amber/js/SUnit.js +222 -139
- data/amber/js/Spaces.deploy.js +240 -0
- data/amber/js/Spaces.js +326 -0
- data/amber/js/amber.js +26 -7
- data/amber/js/boot.js +65 -47
- data/amber/js/init.js +1 -1
- data/amber/js/lib/CodeMirror/amber.css +21 -21
- data/amber/js/lib/CodeMirror/codemirror.css +119 -13
- data/amber/js/lib/CodeMirror/codemirror.js +2219 -1220
- data/amber/js/lib/CodeMirror/smalltalk.js +134 -129
- data/amber/js/lib/bootstrap/css/bootstrap.css +5837 -0
- data/amber/js/lib/bootstrap/css/bootstrap.min.css +841 -0
- data/amber/js/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/amber/js/lib/bootstrap/img/glyphicons-halflings.png +0 -0
- data/amber/js/lib/bootstrap/js/bootstrap.js +2038 -0
- data/amber/js/lib/bootstrap/js/bootstrap.min.js +7 -0
- data/amber/js/lib/jQuery/jquery-1.8.2.min.js +2 -0
- data/amber/js/lib/jQuery/jquery-ui-1.8.24.custom.min.js +125 -0
- data/amber/st/Compiler-AST.st +505 -0
- data/amber/st/Compiler-Core.st +835 -0
- data/amber/st/Compiler-Exceptions.st +87 -0
- data/amber/st/Compiler-IR.st +1097 -0
- data/amber/st/Compiler-Inlining.st +650 -0
- data/amber/st/Compiler-Semantic.st +558 -0
- data/amber/st/Compiler-Tests.st +285 -381
- data/amber/st/Compiler.st +725 -2
- data/amber/st/Helios-Announcements.st +104 -0
- data/amber/st/Helios-Browser.st +708 -0
- data/amber/st/Helios-Commands.st +223 -0
- data/amber/st/Helios-Core.st +532 -0
- data/amber/st/Helios-Environments.st +98 -0
- data/amber/st/Helios-Inspector.st +367 -0
- data/amber/st/Helios-KeyBindings.st +337 -0
- data/amber/st/Helios-Layout.st +199 -0
- data/amber/st/Helios-Workspace.st +367 -0
- data/amber/st/IDE.st +75 -53
- data/amber/st/Importer-Exporter.st +386 -0
- data/amber/st/Kernel-Announcements.st +92 -0
- data/amber/st/Kernel-Classes.st +137 -15
- data/amber/st/Kernel-Collections.st +137 -47
- data/amber/st/Kernel-Exceptions.st +14 -0
- data/amber/st/Kernel-Methods.st +9 -1
- data/amber/st/Kernel-Objects.st +29 -5
- data/amber/st/Kernel-Tests.st +545 -199
- data/amber/st/SUnit.st +10 -0
- data/amber/st/Spaces.st +142 -0
- data/lib/resin/app.rb +1 -1
- metadata +86 -31
- data/amber/js/lib/jQuery/jquery-1.4.4.min.js +0 -167
- data/amber/js/lib/jQuery/jquery-1.6.4.min.js +0 -4
data/amber/js/SUnit.js
CHANGED
|
@@ -5,10 +5,11 @@ smalltalk.addMethod(
|
|
|
5
5
|
smalltalk.method({
|
|
6
6
|
selector: "assert:",
|
|
7
7
|
category: 'testing',
|
|
8
|
-
fn: function (aBoolean){
|
|
9
|
-
var self=this;
|
|
10
|
-
smalltalk.send(self, "_assert_description_", [aBoolean, "Assertion failed"]);
|
|
11
|
-
return self;
|
|
8
|
+
fn: function (aBoolean) {
|
|
9
|
+
var self = this;
|
|
10
|
+
smalltalk.send(self, "_assert_description_", [aBoolean, "Assertion failed"]);
|
|
11
|
+
return self;
|
|
12
|
+
},
|
|
12
13
|
args: ["aBoolean"],
|
|
13
14
|
source: "assert: aBoolean\x0a\x09self assert: aBoolean description: 'Assertion failed'",
|
|
14
15
|
messageSends: ["assert:description:"],
|
|
@@ -21,10 +22,13 @@ smalltalk.addMethod(
|
|
|
21
22
|
smalltalk.method({
|
|
22
23
|
selector: "assert:description:",
|
|
23
24
|
category: 'testing',
|
|
24
|
-
fn: function (aBoolean, aString){
|
|
25
|
-
var self=this;
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
fn: function (aBoolean, aString) {
|
|
26
|
+
var self = this;
|
|
27
|
+
if (!smalltalk.assert(aBoolean)) {
|
|
28
|
+
smalltalk.send(self, "_signalFailure_", [aString]);
|
|
29
|
+
}
|
|
30
|
+
return self;
|
|
31
|
+
},
|
|
28
32
|
args: ["aBoolean", "aString"],
|
|
29
33
|
source: "assert: aBoolean description: aString\x0a\x09aBoolean ifFalse: [self signalFailure: aString]",
|
|
30
34
|
messageSends: ["ifFalse:", "signalFailure:"],
|
|
@@ -37,10 +41,12 @@ smalltalk.addMethod(
|
|
|
37
41
|
smalltalk.method({
|
|
38
42
|
selector: "assert:equals:",
|
|
39
43
|
category: 'testing',
|
|
40
|
-
fn: function (expected, actual){
|
|
41
|
-
var self=this;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
fn: function (expected, actual) {
|
|
45
|
+
var self = this;
|
|
46
|
+
var $1;
|
|
47
|
+
$1 = smalltalk.send(self, "_assert_description_", [smalltalk.send(expected, "__eq", [actual]), smalltalk.send(smalltalk.send(smalltalk.send("Expected: ", "__comma", [smalltalk.send(expected, "_asString", [])]), "__comma", [" but was: "]), "__comma", [smalltalk.send(actual, "_asString", [])])]);
|
|
48
|
+
return $1;
|
|
49
|
+
},
|
|
44
50
|
args: ["expected", "actual"],
|
|
45
51
|
source: "assert: expected equals: actual\x0a\x09^ self assert: (expected = actual) description: 'Expected: ', expected asString, ' but was: ', actual asString",
|
|
46
52
|
messageSends: ["assert:description:", "=", ",", "asString"],
|
|
@@ -53,10 +59,11 @@ smalltalk.addMethod(
|
|
|
53
59
|
smalltalk.method({
|
|
54
60
|
selector: "deny:",
|
|
55
61
|
category: 'testing',
|
|
56
|
-
fn: function (aBoolean){
|
|
57
|
-
var self=this;
|
|
58
|
-
smalltalk.send(self, "_assert_", [smalltalk.send(aBoolean, "_not", [])]);
|
|
59
|
-
return self;
|
|
62
|
+
fn: function (aBoolean) {
|
|
63
|
+
var self = this;
|
|
64
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(aBoolean, "_not", [])]);
|
|
65
|
+
return self;
|
|
66
|
+
},
|
|
60
67
|
args: ["aBoolean"],
|
|
61
68
|
source: "deny: aBoolean\x0a\x09self assert: aBoolean not",
|
|
62
69
|
messageSends: ["assert:", "not"],
|
|
@@ -69,14 +76,15 @@ smalltalk.addMethod(
|
|
|
69
76
|
smalltalk.method({
|
|
70
77
|
selector: "performTestFor:",
|
|
71
78
|
category: 'running',
|
|
72
|
-
fn: function (aResult){
|
|
73
|
-
var self=this;
|
|
74
|
-
smalltalk.send(
|
|
75
|
-
return self;
|
|
79
|
+
fn: function (aResult) {
|
|
80
|
+
var self = this;
|
|
81
|
+
smalltalk.send(function () {return smalltalk.send(function () {return smalltalk.send(self, "_perform_", [smalltalk.send(self, "_selector", [])]);}, "_on_do_", [smalltalk.TestFailure || TestFailure, function (ex) {return smalltalk.send(aResult, "_addFailure_", [self]);}]);}, "_on_do_", [smalltalk.Error || Error, function (ex) {return smalltalk.send(aResult, "_addError_", [self]);}]);
|
|
82
|
+
return self;
|
|
83
|
+
},
|
|
76
84
|
args: ["aResult"],
|
|
77
85
|
source: "performTestFor: aResult\x0a\x09[[self perform: self selector]\x0a\x09\x09on: TestFailure do: [:ex | aResult addFailure: self]]\x0a\x09\x09on: Error do: [:ex | aResult addError: self]",
|
|
78
|
-
messageSends: ["on:do:", "
|
|
79
|
-
referencedClasses: ["
|
|
86
|
+
messageSends: ["on:do:", "addError:", "addFailure:", "perform:", "selector"],
|
|
87
|
+
referencedClasses: ["Error", "TestFailure"]
|
|
80
88
|
}),
|
|
81
89
|
smalltalk.TestCase);
|
|
82
90
|
|
|
@@ -85,13 +93,14 @@ smalltalk.addMethod(
|
|
|
85
93
|
smalltalk.method({
|
|
86
94
|
selector: "runCaseFor:",
|
|
87
95
|
category: 'running',
|
|
88
|
-
fn: function (aTestResult){
|
|
89
|
-
var self=this;
|
|
90
|
-
smalltalk.send(self, "_setUp", []);
|
|
91
|
-
smalltalk.send(aTestResult, "_increaseRuns", []);
|
|
92
|
-
smalltalk.send(self, "_performTestFor_", [aTestResult]);
|
|
93
|
-
smalltalk.send(self, "_tearDown", []);
|
|
94
|
-
return self;
|
|
96
|
+
fn: function (aTestResult) {
|
|
97
|
+
var self = this;
|
|
98
|
+
smalltalk.send(self, "_setUp", []);
|
|
99
|
+
smalltalk.send(aTestResult, "_increaseRuns", []);
|
|
100
|
+
smalltalk.send(self, "_performTestFor_", [aTestResult]);
|
|
101
|
+
smalltalk.send(self, "_tearDown", []);
|
|
102
|
+
return self;
|
|
103
|
+
},
|
|
95
104
|
args: ["aTestResult"],
|
|
96
105
|
source: "runCaseFor: aTestResult\x0a\x09self setUp.\x0a\x09aTestResult increaseRuns.\x0a\x09self performTestFor: aTestResult.\x0a\x09self tearDown",
|
|
97
106
|
messageSends: ["setUp", "increaseRuns", "performTestFor:", "tearDown"],
|
|
@@ -104,10 +113,10 @@ smalltalk.addMethod(
|
|
|
104
113
|
smalltalk.method({
|
|
105
114
|
selector: "selector",
|
|
106
115
|
category: 'accessing',
|
|
107
|
-
fn: function (){
|
|
108
|
-
var self=this;
|
|
109
|
-
return self['@testSelector'];
|
|
110
|
-
|
|
116
|
+
fn: function () {
|
|
117
|
+
var self = this;
|
|
118
|
+
return self['@testSelector'];
|
|
119
|
+
},
|
|
111
120
|
args: [],
|
|
112
121
|
source: "selector\x0a\x09^testSelector",
|
|
113
122
|
messageSends: [],
|
|
@@ -120,10 +129,11 @@ smalltalk.addMethod(
|
|
|
120
129
|
smalltalk.method({
|
|
121
130
|
selector: "setTestSelector:",
|
|
122
131
|
category: 'accessing',
|
|
123
|
-
fn: function (aSelector){
|
|
124
|
-
var self=this;
|
|
125
|
-
|
|
126
|
-
return self;
|
|
132
|
+
fn: function (aSelector) {
|
|
133
|
+
var self = this;
|
|
134
|
+
self['@testSelector'] = aSelector;
|
|
135
|
+
return self;
|
|
136
|
+
},
|
|
127
137
|
args: ["aSelector"],
|
|
128
138
|
source: "setTestSelector: aSelector\x0a\x09testSelector := aSelector",
|
|
129
139
|
messageSends: [],
|
|
@@ -136,10 +146,10 @@ smalltalk.addMethod(
|
|
|
136
146
|
smalltalk.method({
|
|
137
147
|
selector: "setUp",
|
|
138
148
|
category: 'running',
|
|
139
|
-
fn: function (){
|
|
140
|
-
var self=this;
|
|
141
|
-
|
|
142
|
-
|
|
149
|
+
fn: function () {
|
|
150
|
+
var self = this;
|
|
151
|
+
return self;
|
|
152
|
+
},
|
|
143
153
|
args: [],
|
|
144
154
|
source: "setUp",
|
|
145
155
|
messageSends: [],
|
|
@@ -152,10 +162,11 @@ smalltalk.addMethod(
|
|
|
152
162
|
smalltalk.method({
|
|
153
163
|
selector: "should:",
|
|
154
164
|
category: 'testing',
|
|
155
|
-
fn: function (aBlock){
|
|
156
|
-
var self=this;
|
|
157
|
-
smalltalk.send(self, "_assert_", [smalltalk.send(aBlock, "_value", [])]);
|
|
158
|
-
return self;
|
|
165
|
+
fn: function (aBlock) {
|
|
166
|
+
var self = this;
|
|
167
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(aBlock, "_value", [])]);
|
|
168
|
+
return self;
|
|
169
|
+
},
|
|
159
170
|
args: ["aBlock"],
|
|
160
171
|
source: "should: aBlock\x0a\x09self assert: aBlock value",
|
|
161
172
|
messageSends: ["assert:", "value"],
|
|
@@ -168,10 +179,11 @@ smalltalk.addMethod(
|
|
|
168
179
|
smalltalk.method({
|
|
169
180
|
selector: "should:raise:",
|
|
170
181
|
category: 'testing',
|
|
171
|
-
fn: function (aBlock, anExceptionClass){
|
|
172
|
-
var self=this;
|
|
173
|
-
smalltalk.send(self, "_assert_", [smalltalk.send(
|
|
174
|
-
return self;
|
|
182
|
+
fn: function (aBlock, anExceptionClass) {
|
|
183
|
+
var self = this;
|
|
184
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(function () {smalltalk.send(aBlock, "_value", []);return false;}, "_on_do_", [anExceptionClass, function (ex) {return true;}])]);
|
|
185
|
+
return self;
|
|
186
|
+
},
|
|
175
187
|
args: ["aBlock", "anExceptionClass"],
|
|
176
188
|
source: "should: aBlock raise: anExceptionClass\x0a\x09self assert: ([aBlock value. false] \x0a\x09\x09on: anExceptionClass \x0a\x09\x09do: [:ex | true])",
|
|
177
189
|
messageSends: ["assert:", "on:do:", "value"],
|
|
@@ -179,18 +191,39 @@ referencedClasses: []
|
|
|
179
191
|
}),
|
|
180
192
|
smalltalk.TestCase);
|
|
181
193
|
|
|
194
|
+
smalltalk.addMethod(
|
|
195
|
+
"_shouldnt_raise_",
|
|
196
|
+
smalltalk.method({
|
|
197
|
+
selector: "shouldnt:raise:",
|
|
198
|
+
category: 'testing',
|
|
199
|
+
fn: function (aBlock, anExceptionClass) {
|
|
200
|
+
var self = this;
|
|
201
|
+
smalltalk.send(self, "_assert_", [smalltalk.send(function () {smalltalk.send(aBlock, "_value", []);return true;}, "_on_do_", [anExceptionClass, function (ex) {return false;}])]);
|
|
202
|
+
return self;
|
|
203
|
+
},
|
|
204
|
+
args: ["aBlock", "anExceptionClass"],
|
|
205
|
+
source: "shouldnt: aBlock raise: anExceptionClass\x0a\x09self assert: ([aBlock value. true] \x0a\x09\x09on: anExceptionClass \x0a\x09\x09do: [:ex | false])",
|
|
206
|
+
messageSends: ["assert:", "on:do:", "value"],
|
|
207
|
+
referencedClasses: []
|
|
208
|
+
}),
|
|
209
|
+
smalltalk.TestCase);
|
|
210
|
+
|
|
182
211
|
smalltalk.addMethod(
|
|
183
212
|
"_signalFailure_",
|
|
184
213
|
smalltalk.method({
|
|
185
214
|
selector: "signalFailure:",
|
|
186
215
|
category: 'private',
|
|
187
|
-
fn: function (aString){
|
|
188
|
-
var self=this;
|
|
189
|
-
|
|
190
|
-
|
|
216
|
+
fn: function (aString) {
|
|
217
|
+
var self = this;
|
|
218
|
+
var $1, $2;
|
|
219
|
+
$1 = smalltalk.send(smalltalk.TestFailure || TestFailure, "_new", []);
|
|
220
|
+
smalltalk.send($1, "_messageText_", [aString]);
|
|
221
|
+
$2 = smalltalk.send($1, "_signal", []);
|
|
222
|
+
return self;
|
|
223
|
+
},
|
|
191
224
|
args: ["aString"],
|
|
192
225
|
source: "signalFailure: aString\x0a\x09TestFailure new\x0a\x09\x09messageText: aString;\x0a\x09\x09signal",
|
|
193
|
-
messageSends: ["messageText:", "
|
|
226
|
+
messageSends: ["messageText:", "new", "signal"],
|
|
194
227
|
referencedClasses: ["TestFailure"]
|
|
195
228
|
}),
|
|
196
229
|
smalltalk.TestCase);
|
|
@@ -200,10 +233,10 @@ smalltalk.addMethod(
|
|
|
200
233
|
smalltalk.method({
|
|
201
234
|
selector: "tearDown",
|
|
202
235
|
category: 'running',
|
|
203
|
-
fn: function (){
|
|
204
|
-
var self=this;
|
|
205
|
-
|
|
206
|
-
|
|
236
|
+
fn: function () {
|
|
237
|
+
var self = this;
|
|
238
|
+
return self;
|
|
239
|
+
},
|
|
207
240
|
args: [],
|
|
208
241
|
source: "tearDown",
|
|
209
242
|
messageSends: [],
|
|
@@ -217,16 +250,20 @@ smalltalk.addMethod(
|
|
|
217
250
|
smalltalk.method({
|
|
218
251
|
selector: "allTestSelectors",
|
|
219
252
|
category: 'accessing',
|
|
220
|
-
fn: function (){
|
|
221
|
-
var self=this;
|
|
222
|
-
var
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
253
|
+
fn: function () {
|
|
254
|
+
var self = this;
|
|
255
|
+
var $1;
|
|
256
|
+
var selectors;
|
|
257
|
+
selectors = smalltalk.send(self, "_testSelectors", []);
|
|
258
|
+
$1 = smalltalk.send(self, "_shouldInheritSelectors", []);
|
|
259
|
+
if (smalltalk.assert($1)) {
|
|
260
|
+
smalltalk.send(selectors, "_addAll_", [smalltalk.send(smalltalk.send(self, "_superclass", []), "_allTestSelectors", [])]);
|
|
261
|
+
}
|
|
262
|
+
return selectors;
|
|
263
|
+
},
|
|
227
264
|
args: [],
|
|
228
265
|
source: "allTestSelectors\x0a\x09| selectors |\x0a\x09selectors := self testSelectors.\x0a\x09self shouldInheritSelectors ifTrue: [\x0a\x09\x09selectors addAll: self superclass allTestSelectors].\x0a\x09^selectors",
|
|
229
|
-
messageSends: ["testSelectors", "ifTrue:", "
|
|
266
|
+
messageSends: ["testSelectors", "ifTrue:", "addAll:", "allTestSelectors", "superclass", "shouldInheritSelectors"],
|
|
230
267
|
referencedClasses: []
|
|
231
268
|
}),
|
|
232
269
|
smalltalk.TestCase.klass);
|
|
@@ -236,13 +273,33 @@ smalltalk.addMethod(
|
|
|
236
273
|
smalltalk.method({
|
|
237
274
|
selector: "buildSuite",
|
|
238
275
|
category: 'accessing',
|
|
239
|
-
fn: function (){
|
|
240
|
-
var self=this;
|
|
241
|
-
|
|
242
|
-
return self;}
|
|
276
|
+
fn: function () {
|
|
277
|
+
var self = this;
|
|
278
|
+
var $1;
|
|
279
|
+
$1 = smalltalk.send(smalltalk.send(self, "_allTestSelectors", []), "_collect_", [function (each) {return smalltalk.send(self, "_selector_", [each]);}]);
|
|
280
|
+
return $1;
|
|
281
|
+
},
|
|
243
282
|
args: [],
|
|
244
283
|
source: "buildSuite\x0a\x09^self allTestSelectors collect: [:each | self selector: each]",
|
|
245
|
-
messageSends: ["collect:", "
|
|
284
|
+
messageSends: ["collect:", "selector:", "allTestSelectors"],
|
|
285
|
+
referencedClasses: []
|
|
286
|
+
}),
|
|
287
|
+
smalltalk.TestCase.klass);
|
|
288
|
+
|
|
289
|
+
smalltalk.addMethod(
|
|
290
|
+
"_isAbstract",
|
|
291
|
+
smalltalk.method({
|
|
292
|
+
selector: "isAbstract",
|
|
293
|
+
category: 'testing',
|
|
294
|
+
fn: function () {
|
|
295
|
+
var self = this;
|
|
296
|
+
var $1;
|
|
297
|
+
$1 = smalltalk.send(smalltalk.send(self, "_name", []), "__eq", ["TestCase"]);
|
|
298
|
+
return $1;
|
|
299
|
+
},
|
|
300
|
+
args: [],
|
|
301
|
+
source: "isAbstract\x0a\x09^ self name = 'TestCase'",
|
|
302
|
+
messageSends: ["=", "name"],
|
|
246
303
|
referencedClasses: []
|
|
247
304
|
}),
|
|
248
305
|
smalltalk.TestCase.klass);
|
|
@@ -252,10 +309,10 @@ smalltalk.addMethod(
|
|
|
252
309
|
smalltalk.method({
|
|
253
310
|
selector: "lookupHierarchyRoot",
|
|
254
311
|
category: 'accessing',
|
|
255
|
-
fn: function (){
|
|
256
|
-
var self=this;
|
|
257
|
-
return
|
|
258
|
-
|
|
312
|
+
fn: function () {
|
|
313
|
+
var self = this;
|
|
314
|
+
return smalltalk.TestCase || TestCase;
|
|
315
|
+
},
|
|
259
316
|
args: [],
|
|
260
317
|
source: "lookupHierarchyRoot\x0a\x09^TestCase",
|
|
261
318
|
messageSends: [],
|
|
@@ -268,13 +325,18 @@ smalltalk.addMethod(
|
|
|
268
325
|
smalltalk.method({
|
|
269
326
|
selector: "selector:",
|
|
270
327
|
category: 'accessing',
|
|
271
|
-
fn: function (aSelector){
|
|
272
|
-
var self=this;
|
|
273
|
-
|
|
274
|
-
|
|
328
|
+
fn: function (aSelector) {
|
|
329
|
+
var self = this;
|
|
330
|
+
var $2, $3, $1;
|
|
331
|
+
$2 = smalltalk.send(self, "_new", []);
|
|
332
|
+
smalltalk.send($2, "_setTestSelector_", [aSelector]);
|
|
333
|
+
$3 = smalltalk.send($2, "_yourself", []);
|
|
334
|
+
$1 = $3;
|
|
335
|
+
return $1;
|
|
336
|
+
},
|
|
275
337
|
args: ["aSelector"],
|
|
276
338
|
source: "selector: aSelector\x0a\x09^self new\x0a\x09\x09setTestSelector: aSelector;\x0a\x09\x09yourself",
|
|
277
|
-
messageSends: ["setTestSelector:", "
|
|
339
|
+
messageSends: ["setTestSelector:", "new", "yourself"],
|
|
278
340
|
referencedClasses: []
|
|
279
341
|
}),
|
|
280
342
|
smalltalk.TestCase.klass);
|
|
@@ -284,10 +346,12 @@ smalltalk.addMethod(
|
|
|
284
346
|
smalltalk.method({
|
|
285
347
|
selector: "shouldInheritSelectors",
|
|
286
348
|
category: 'testing',
|
|
287
|
-
fn: function (){
|
|
288
|
-
var self=this;
|
|
289
|
-
|
|
290
|
-
|
|
349
|
+
fn: function () {
|
|
350
|
+
var self = this;
|
|
351
|
+
var $1;
|
|
352
|
+
$1 = smalltalk.send(self, "_~_eq", [smalltalk.send(self, "_lookupHierarchyRoot", [])]);
|
|
353
|
+
return $1;
|
|
354
|
+
},
|
|
291
355
|
args: [],
|
|
292
356
|
source: "shouldInheritSelectors\x0a\x09^self ~= self lookupHierarchyRoot",
|
|
293
357
|
messageSends: ["~=", "lookupHierarchyRoot"],
|
|
@@ -300,13 +364,15 @@ smalltalk.addMethod(
|
|
|
300
364
|
smalltalk.method({
|
|
301
365
|
selector: "testSelectors",
|
|
302
366
|
category: 'accessing',
|
|
303
|
-
fn: function (){
|
|
304
|
-
var self=this;
|
|
305
|
-
|
|
306
|
-
return
|
|
367
|
+
fn: function () {
|
|
368
|
+
var self = this;
|
|
369
|
+
var $1;
|
|
370
|
+
$1 = smalltalk.send(smalltalk.send(smalltalk.send(self, "_methodDictionary", []), "_keys", []), "_select_", [function (each) {return smalltalk.send(each, "_match_", ["^test"]);}]);
|
|
371
|
+
return $1;
|
|
372
|
+
},
|
|
307
373
|
args: [],
|
|
308
374
|
source: "testSelectors\x0a\x09^self methodDictionary keys select: [:each | each match: '^test']",
|
|
309
|
-
messageSends: ["select:", "
|
|
375
|
+
messageSends: ["select:", "match:", "keys", "methodDictionary"],
|
|
310
376
|
referencedClasses: []
|
|
311
377
|
}),
|
|
312
378
|
smalltalk.TestCase.klass);
|
|
@@ -321,10 +387,11 @@ smalltalk.addMethod(
|
|
|
321
387
|
smalltalk.method({
|
|
322
388
|
selector: "addError:",
|
|
323
389
|
category: 'accessing',
|
|
324
|
-
fn: function (anError){
|
|
325
|
-
var self=this;
|
|
326
|
-
smalltalk.send(smalltalk.send(self, "_errors", []), "_add_", [anError]);
|
|
327
|
-
return self;
|
|
390
|
+
fn: function (anError) {
|
|
391
|
+
var self = this;
|
|
392
|
+
smalltalk.send(smalltalk.send(self, "_errors", []), "_add_", [anError]);
|
|
393
|
+
return self;
|
|
394
|
+
},
|
|
328
395
|
args: ["anError"],
|
|
329
396
|
source: "addError: anError\x0a\x09self errors add: anError",
|
|
330
397
|
messageSends: ["add:", "errors"],
|
|
@@ -337,10 +404,11 @@ smalltalk.addMethod(
|
|
|
337
404
|
smalltalk.method({
|
|
338
405
|
selector: "addFailure:",
|
|
339
406
|
category: 'accessing',
|
|
340
|
-
fn: function (aFailure){
|
|
341
|
-
var self=this;
|
|
342
|
-
smalltalk.send(smalltalk.send(self, "_failures", []), "_add_", [aFailure]);
|
|
343
|
-
return self;
|
|
407
|
+
fn: function (aFailure) {
|
|
408
|
+
var self = this;
|
|
409
|
+
smalltalk.send(smalltalk.send(self, "_failures", []), "_add_", [aFailure]);
|
|
410
|
+
return self;
|
|
411
|
+
},
|
|
344
412
|
args: ["aFailure"],
|
|
345
413
|
source: "addFailure: aFailure\x0a\x09self failures add: aFailure",
|
|
346
414
|
messageSends: ["add:", "failures"],
|
|
@@ -353,10 +421,10 @@ smalltalk.addMethod(
|
|
|
353
421
|
smalltalk.method({
|
|
354
422
|
selector: "errors",
|
|
355
423
|
category: 'accessing',
|
|
356
|
-
fn: function (){
|
|
357
|
-
var self=this;
|
|
358
|
-
return self['@errors'];
|
|
359
|
-
|
|
424
|
+
fn: function () {
|
|
425
|
+
var self = this;
|
|
426
|
+
return self['@errors'];
|
|
427
|
+
},
|
|
360
428
|
args: [],
|
|
361
429
|
source: "errors\x0a\x09^errors",
|
|
362
430
|
messageSends: [],
|
|
@@ -369,10 +437,10 @@ smalltalk.addMethod(
|
|
|
369
437
|
smalltalk.method({
|
|
370
438
|
selector: "failures",
|
|
371
439
|
category: 'accessing',
|
|
372
|
-
fn: function (){
|
|
373
|
-
var self=this;
|
|
374
|
-
return self['@failures'];
|
|
375
|
-
|
|
440
|
+
fn: function () {
|
|
441
|
+
var self = this;
|
|
442
|
+
return self['@failures'];
|
|
443
|
+
},
|
|
376
444
|
args: [],
|
|
377
445
|
source: "failures\x0a\x09^failures",
|
|
378
446
|
messageSends: [],
|
|
@@ -385,10 +453,11 @@ smalltalk.addMethod(
|
|
|
385
453
|
smalltalk.method({
|
|
386
454
|
selector: "increaseRuns",
|
|
387
455
|
category: 'accessing',
|
|
388
|
-
fn: function (){
|
|
389
|
-
var self=this;
|
|
390
|
-
|
|
391
|
-
return self;
|
|
456
|
+
fn: function () {
|
|
457
|
+
var self = this;
|
|
458
|
+
self['@runs'] = smalltalk.send(self['@runs'], "__plus", [1]);
|
|
459
|
+
return self;
|
|
460
|
+
},
|
|
392
461
|
args: [],
|
|
393
462
|
source: "increaseRuns\x0a\x09runs := runs + 1",
|
|
394
463
|
messageSends: ["+"],
|
|
@@ -401,15 +470,16 @@ smalltalk.addMethod(
|
|
|
401
470
|
smalltalk.method({
|
|
402
471
|
selector: "initialize",
|
|
403
472
|
category: 'initialization',
|
|
404
|
-
fn: function (){
|
|
405
|
-
var self=this;
|
|
406
|
-
smalltalk.send(self, "_initialize", [], smalltalk.
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
return self;
|
|
473
|
+
fn: function () {
|
|
474
|
+
var self = this;
|
|
475
|
+
smalltalk.send(self, "_initialize", [], smalltalk.Object);
|
|
476
|
+
self['@timestamp'] = smalltalk.send(smalltalk.Date || Date, "_now", []);
|
|
477
|
+
self['@runs'] = 0;
|
|
478
|
+
self['@errors'] = smalltalk.send(smalltalk.Array || Array, "_new", []);
|
|
479
|
+
self['@failures'] = smalltalk.send(smalltalk.Array || Array, "_new", []);
|
|
480
|
+
self['@total'] = 0;
|
|
481
|
+
return self;
|
|
482
|
+
},
|
|
413
483
|
args: [],
|
|
414
484
|
source: "initialize\x0a\x09super initialize.\x0a\x09timestamp := Date now.\x0a\x09runs := 0.\x0a\x09errors := Array new.\x0a\x09failures := Array new.\x0a\x09total := 0",
|
|
415
485
|
messageSends: ["initialize", "now", "new"],
|
|
@@ -422,10 +492,10 @@ smalltalk.addMethod(
|
|
|
422
492
|
smalltalk.method({
|
|
423
493
|
selector: "runs",
|
|
424
494
|
category: 'accessing',
|
|
425
|
-
fn: function (){
|
|
426
|
-
var self=this;
|
|
427
|
-
return self['@runs'];
|
|
428
|
-
|
|
495
|
+
fn: function () {
|
|
496
|
+
var self = this;
|
|
497
|
+
return self['@runs'];
|
|
498
|
+
},
|
|
429
499
|
args: [],
|
|
430
500
|
source: "runs\x0a\x09^runs",
|
|
431
501
|
messageSends: [],
|
|
@@ -438,13 +508,25 @@ smalltalk.addMethod(
|
|
|
438
508
|
smalltalk.method({
|
|
439
509
|
selector: "status",
|
|
440
510
|
category: 'accessing',
|
|
441
|
-
fn: function (){
|
|
442
|
-
var self=this;
|
|
443
|
-
|
|
444
|
-
|
|
511
|
+
fn: function () {
|
|
512
|
+
var self = this;
|
|
513
|
+
var $2, $3, $1;
|
|
514
|
+
$2 = smalltalk.send(smalltalk.send(self, "_errors", []), "_isEmpty", []);
|
|
515
|
+
if (smalltalk.assert($2)) {
|
|
516
|
+
$3 = smalltalk.send(smalltalk.send(self, "_failures", []), "_isEmpty", []);
|
|
517
|
+
if (smalltalk.assert($3)) {
|
|
518
|
+
$1 = "success";
|
|
519
|
+
} else {
|
|
520
|
+
$1 = "failure";
|
|
521
|
+
}
|
|
522
|
+
} else {
|
|
523
|
+
$1 = "error";
|
|
524
|
+
}
|
|
525
|
+
return $1;
|
|
526
|
+
},
|
|
445
527
|
args: [],
|
|
446
528
|
source: "status\x0a\x09^self errors isEmpty \x0a\x09\x09ifTrue: [\x0a\x09\x09\x09self failures isEmpty \x0a\x09\x09\x09\x09ifTrue: ['success']\x0a\x09\x09\x09\x09ifFalse: ['failure']]\x0a\x09\x09ifFalse: ['error']",
|
|
447
|
-
messageSends: ["ifTrue:ifFalse:", "isEmpty", "
|
|
529
|
+
messageSends: ["ifTrue:ifFalse:", "isEmpty", "failures", "errors"],
|
|
448
530
|
referencedClasses: []
|
|
449
531
|
}),
|
|
450
532
|
smalltalk.TestResult);
|
|
@@ -454,10 +536,10 @@ smalltalk.addMethod(
|
|
|
454
536
|
smalltalk.method({
|
|
455
537
|
selector: "timestamp",
|
|
456
538
|
category: 'accessing',
|
|
457
|
-
fn: function (){
|
|
458
|
-
var self=this;
|
|
459
|
-
return self['@timestamp'];
|
|
460
|
-
|
|
539
|
+
fn: function () {
|
|
540
|
+
var self = this;
|
|
541
|
+
return self['@timestamp'];
|
|
542
|
+
},
|
|
461
543
|
args: [],
|
|
462
544
|
source: "timestamp\x0a\x09^timestamp",
|
|
463
545
|
messageSends: [],
|
|
@@ -470,10 +552,10 @@ smalltalk.addMethod(
|
|
|
470
552
|
smalltalk.method({
|
|
471
553
|
selector: "total",
|
|
472
554
|
category: 'accessing',
|
|
473
|
-
fn: function (){
|
|
474
|
-
var self=this;
|
|
475
|
-
return self['@total'];
|
|
476
|
-
|
|
555
|
+
fn: function () {
|
|
556
|
+
var self = this;
|
|
557
|
+
return self['@total'];
|
|
558
|
+
},
|
|
477
559
|
args: [],
|
|
478
560
|
source: "total\x0a\x09^total",
|
|
479
561
|
messageSends: [],
|
|
@@ -486,10 +568,11 @@ smalltalk.addMethod(
|
|
|
486
568
|
smalltalk.method({
|
|
487
569
|
selector: "total:",
|
|
488
570
|
category: 'accessing',
|
|
489
|
-
fn: function (aNumber){
|
|
490
|
-
var self=this;
|
|
491
|
-
|
|
492
|
-
return self;
|
|
571
|
+
fn: function (aNumber) {
|
|
572
|
+
var self = this;
|
|
573
|
+
self['@total'] = aNumber;
|
|
574
|
+
return self;
|
|
575
|
+
},
|
|
493
576
|
args: ["aNumber"],
|
|
494
577
|
source: "total: aNumber\x0a\x09total := aNumber",
|
|
495
578
|
messageSends: [],
|