X Tutup
Skip to content
Prev Previous commit
Next Next commit
class creation in testcases cannot have a name
  • Loading branch information
Johan Brichau committed Dec 27, 2023
commit a11d35e3611c11dcd59ea4363364cafa7bd0f36d
Original file line number Diff line number Diff line change
@@ -1,20 +1,4 @@
accessing-code
defineClass: aClassSymbol superclass: aSuperSymbol

| class |
class := SystemVersion current major >= 12
ifTrue: [
factory make: [ :aBuilder |
aBuilder
superclass: (Smalltalk at: aSuperSymbol);
package: self category ] ]
ifFalse: [
factory
newSubclassOf: (Smalltalk at: aSuperSymbol)
instanceVariableNames: ''
classVariableNames: 'classVarsString'
category: self category ].
environment
addClass: class;
addClass: class theMetaClass.
^ class
"For compatibility"
^ self defineSubClassOf: aSuperSymbol
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
accessing-code
defineSubClassOf: aSuperSymbol

| class |
class := SystemVersion current major >= 12
ifTrue: [
factory make: [ :aBuilder |
aBuilder
superclass: (Smalltalk at: aSuperSymbol);
package: self category ] ]
ifFalse: [
factory
newSubclassOf: (Smalltalk at: aSuperSymbol)
instanceVariableNames: ''
classVariableNames: 'classVarsString'
category: self category ].
environment
addClass: class;
addClass: class theMetaClass.
^ class
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiBooleansRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'and 1 and: [ 2 ] and: [ 3 ] and: [ 4 ]' in: class.
self compile: 'or 1 or: [ 2 ] or: [ 3 ] or: [ 4 ]' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiCharacterRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'character Character value: 123' in: class.
self compile: 'characterRange $a to: $c' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiCollectionsRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'withIndexDo #() withIndexDo: [ :each :index | each + index ]' in: class.
self compile: 'doWithIndex #() doWithIndex: [ :each :index | each + index ]' in: class.
self compile: 'collectThenDo #() collect: [ :a | a ] thenDo: [ :b | b ]' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiConditionalsRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'ifNotNil 1 ifNotNil: [ | a | self or. self and ]' in: class.
self compile: 'ifNotNilDo 1 ifNotNilDo: [ :a | ^ a ]' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiConvertorRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'convertInteger ''1'' asInteger' in: class.
self compile: 'convertString 2 asString' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiExceptionsRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'exception1 [ self or ] on: Error do: [ self or ]' in: class.
self compile: 'exception2 [ self or ] on: Error do: [ self or. self or ]' in: class.
self compile: 'exception3 [ self or ] on: Error do: [ | a | a := 0 ]' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiStreamsRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'writeStream ^ '''' writeStream' in: class.
self compile: 'writeCr | stream | stream := WriteStream on: ''''. stream cr. stream nextPut: Character cr' in: class.
self compile: 'writeLf | stream | stream := WriteStream on: ''''. stream lf. stream nextPut: Character lf' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testAnsiStringsRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'stringCr String cr, (String with: Character cr)' in: class.
self compile: 'stringTab String tab, (String with: Character tab)' in: class.
self compile: 'stringLf String lf, (String with: Character lf)' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testBasicNewInitializeMissing
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #Object.
class := self defineSubClassOf: #Object.
self compile: 'initialize' in: class.
self
runRule: GRBasicNewInitializeMissingRule
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-parsetree
testBlockFormatting
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid1
[:a ]'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testDeprecatedApiProtocol
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'deprecated1 self greaseDeprecatedApi: ''',class name,'>>#deprecated1'' details: ''Something.''' in: class.
self compile: 'deprecated2 self greaseDeprecatedApi: ''',class name,'>>#deprecated'' details: ''Something.''' in: class.
self compile: 'deprecated3 self greaseDeprecatedApi: ''GRSlimeMock>>#deprecated3'' details: ''Something.''' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testEmptyStatements
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'emptyStatement1. self and' in: class.
self compile: 'emptyStatement2 self and..' in: class.
self compile: 'emptyStatement3 self and."foo".' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testInvalidObjectInitialization
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'initializeFoo: aNumber' in: class.
self
runRule: GRInvalidObjectInitializationRule
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testNonPortableMessageRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.

self compile: 'invalid1 ^ Array new anyOne' in: class.
self compile: 'valid1 ^ Array new first' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testNonPortableSourceFormat
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'invalid ^ ''Unicode snow man', (String with: (Character codePoint: 16r2603)) , '''' in: class.
self compile: 'valid ^ ''everything is fine''' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testNotPortableCollectionsRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'beginsWith1 ''abc'' beginsWith: ''a''' in: class.
self compile: 'endsWith1 ''abc'' endsWith: ''a''' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testObjectIn
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'objectIn1 1 in: [ :val | val factorial ]' in: class.
self compile: 'objectIn2 2 in: [ :val | | temps | val factorial ]' in: class.
self compile: 'objectIn3 2 in: [ ''not this'' ]' in: class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-parsetree
testParensFormatting
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid1
( 1 + 2)'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-parsetree
testReturnFormatting
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid1
^1'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-parsetree
testTempsFormatting
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid1
| a|'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-transform
testTestCaseFailRule
| class |
class := self
defineClass: #GRSlimeMockObjectTest
superclass: #TestCase.
class := self defineSubClassOf: #TestCase.
self compile: 'testMethod self fail' in: class.
self
runTransformation: GRTestAssertionsRule
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testUnnecessaryLastPeriodRule
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'invalid 1. 2.' in: class.
self compile: 'valid 1. 2' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-parsetree
testUsesCanPerformOrUnderstand
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid1
Object class canUnderstand: #new'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-parsetree
testUsesClassForHash
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'foo
^ super hash bitXor: self class hash'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ testUsesCurlyBraceArrays
| class |
(self canParse: 'foo { self foo. self bar }')
ifFalse: [ ^ self ].
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid
^ { self foo. self bar }'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ testUsesLiteralByteArrays
| class |
(self canParse: 'foo #[ 1 2 3 ]')
ifFalse: [ ^ self ].
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self
compile: 'invalid
^ #[ 1 2 3 ]'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ testUsesMethodAnnotations
| class |
(self canParse: 'foo <foo: 123>')
ifFalse: [ ^ self ].
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'invalid <foo: 123>' in: class.
self compile: 'valid' in: class.
self
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
tests-block
testUsesNotPortableClass
| class |
class := self
defineClass: #GRSlimeMockObject
superclass: #GRObject.
class := self defineSubClassOf: #GRObject.
self compile: 'invalid ^ Semaphore new' in: class.
self compile: 'valid ^ GRObject new' in: class.
self
Expand Down
X Tutup