Skip to content

Commit

Permalink
cleaning up
Browse files Browse the repository at this point in the history
  • Loading branch information
kasperosterbye committed Dec 11, 2019
1 parent d1abbf0 commit 9210704
Show file tree
Hide file tree
Showing 11 changed files with 63 additions and 44 deletions.
9 changes: 7 additions & 2 deletions src/GeneralRules-Tests/RBAbstractRuleTestCase.class.st
Expand Up @@ -23,14 +23,19 @@ RBAbstractRuleTestCase >> myCritiguesOnMethod: method [
]

{ #category : #'as yet unclassified' }
RBAbstractRuleTestCase >> myCritiquesOnFoo [
RBAbstractRuleTestCase >> myCritiques [
| critiques |
critiques := OrderedCollection new.
self subjectUnderTest new
check: (self class >> #foo ) forCritiquesDo:[:critique | critiques add: critique].
check: (self class >> #sampleMethod ) forCritiquesDo:[:critique | critiques add: critique].
^critiques
]

{ #category : #'as yet unclassified' }
RBAbstractRuleTestCase >> sourceAtChritique: critique [
^ critique sourceAnchor in: [ :anchor | anchor entity sourceCode atAll: anchor interval ]
]

{ #category : #'as yet unclassified' }
RBAbstractRuleTestCase >> subjectUnderTest [
^(self class name allButLast: 4) asClass
Expand Down
Expand Up @@ -8,7 +8,7 @@ Class {
}

{ #category : #'test-help' }
RBAssignmentOnBlockArgumentRuleTest >> foo [
RBAssignmentOnBlockArgumentRuleTest >> sampleMethod [
"Assignment to blockArgument is bad - here x"
| myBlock |
myBlock := [:x :y|
Expand All @@ -20,8 +20,15 @@ RBAssignmentOnBlockArgumentRuleTest >> foo [
{ #category : #tests }
RBAssignmentOnBlockArgumentRuleTest >> testRule [
| critiques|
critiques := self myCritiquesOnFoo.
self class compile: 'sampleMethod
"Assignment to blockArgument is bad - here x"
| myBlock |
myBlock := [:x :y|
x := x+y.
y := y+x
]' classified: 'test-help'.
critiques := self myCritiques.

self assert: critiques size equals: 2.
self assert: critiques second sourceAnchor interval equals: (99 to: 106).
self assert: (self sourceAtChritique: critiques second) equals: 'y := y+x'.
]
8 changes: 4 additions & 4 deletions src/GeneralRules-Tests/RBGlobalVariablesUsageTest.class.st
Expand Up @@ -8,18 +8,18 @@ Class {
}

{ #category : #'test-help' }
RBGlobalVariablesUsageTest >> foo [
RBGlobalVariablesUsageTest >> sampleMethod [
"Global variable are stored in Smalltalk globals, and one should avoid them when possible.
Examples are Display and Sensor"
Display value.
Sensor value.
]

{ #category : #tests }
RBGlobalVariablesUsageTest >> testCheckForCritiques [
RBGlobalVariablesUsageTest >> testRule [
| critiques |
critiques := self myCritiquesOnFoo.
critiques := self myCritiques.

self assert: critiques size equals: 2.
self assert: critiques second sourceAnchor interval equals: (149 to: 154).
self assert: (self sourceAtChritique: critiques second) equals: 'Sensor'.
]
Expand Up @@ -8,7 +8,7 @@ Class {
}

{ #category : #'test-help' }
RBMethodSourceContainsLinefeedsRuleTest >> foo [
RBMethodSourceContainsLinefeedsRuleTest >> sampleMethod [
"This method contains two linefeeds which should be carriage returns."
"There is one after this line" 7.
"Noone here" 9.
Expand All @@ -18,16 +18,16 @@ RBMethodSourceContainsLinefeedsRuleTest >> foo [

{ #category : #tests }
RBMethodSourceContainsLinefeedsRuleTest >> testRule [
| fooMethod critiques|
fooMethod := 'foo
| sampleMethod critiques|
sampleMethod := 'sampleMethod
"This method contains two linefeeds which should be carriage returns."
"There is one after this line" 7.
"Noone here" 9.
"and one here" 8 .
"That was it." -1'.
self class compile: fooMethod classified: 'test-help'.
critiques := self myCritiquesOnFoo .
"There is one after this line" 7.', String lf,
' "Noone here" 9.
"and one here" 8 .', String lf,
' "That was it." -1'.
self class compile: sampleMethod classified: 'test-help'.
critiques := self myCritiques .

self assert: critiques size equals: 2.
self assert: critiques first sourceAnchor interval equals: (111 to: 111).
self assert: (self sourceAtChritique: critiques first) equals: String lf.
]
Expand Up @@ -8,7 +8,7 @@ Class {
}

{ #category : #'test-help' }
RBMultiplePeriodsTerminatingStatementRuleTest >> foo [
RBMultiplePeriodsTerminatingStatementRuleTest >> sampleMethod [
"I have two periods between statements"
2+3. .
{1.2..3}.
Expand All @@ -19,8 +19,8 @@ RBMultiplePeriodsTerminatingStatementRuleTest >> foo [
{ #category : #tests }
RBMultiplePeriodsTerminatingStatementRuleTest >> testRule [
| critiques |
critiques := self myCritiquesOnFoo .
critiques := self myCritiques .

self assert: critiques size equals: 2.
self assert: critiques second sourceAnchor interval equals: (69 to: 71)
self assert: (self sourceAtChritique: critiques first) equals: '. .'.
]
2 changes: 1 addition & 1 deletion src/GeneralRules-Tests/RBRefersToClassRuleTest.class.st
Expand Up @@ -36,5 +36,5 @@ RBRefersToClassRuleTest >> testRuleDetectHardCodedClass [
critiques := self myCritiguesOnMethod: self class >> #referToClassName.

self assert: critiques size equals: 2.
self assert: critiques second sourceAnchor interval equals: (116 to: 138).
self assert: (self sourceAtChritique: critiques first) equals: 'RBRefersToClassRuleTest'.
]
Expand Up @@ -8,7 +8,7 @@ Class {
}

{ #category : #'test-help' }
RBSelfSentNotImplementedRuleTest >> foo [
RBSelfSentNotImplementedRuleTest >> sampleMethod [
"Do not highlight this bar. I am a method used in testCheckForCritiques"

self bar.
Expand All @@ -18,11 +18,11 @@ RBSelfSentNotImplementedRuleTest >> foo [
]

{ #category : #tests }
RBSelfSentNotImplementedRuleTest >> testCheckForCritiques [
RBSelfSentNotImplementedRuleTest >> testRule [
| critiques|
critiques := self myCritiquesOnFoo .
critiques := self myCritiques .

self assert: critiques size equals: 4.
self assert: critiques first sourceAnchor interval equals: (81 to: 88).
self assert: (self sourceAtChritique: critiques first) equals: 'self bar'.

]
7 changes: 4 additions & 3 deletions src/GeneralRules-Tests/RBSentNotImplementedRuleTest.class.st
Expand Up @@ -8,7 +8,7 @@ Class {
}

{ #category : #'test-help' }
RBSentNotImplementedRuleTest >> foo [
RBSentNotImplementedRuleTest >> sampleMethod [
"this is a comment, so whatShallIDoNow should not highlight"
99 whatShallIDoNow.
77 andThisIsBogusToo.
Expand All @@ -19,7 +19,8 @@ RBSentNotImplementedRuleTest >> foo [
{ #category : #tests }
RBSentNotImplementedRuleTest >> testRule [
| critiques |
critiques := self myCritiquesOnFoo.
critiques := self myCritiques.

self assert: critiques size equals: 3.
self assert: critiques first sourceAnchor interval equals: (68 to: 85)
self assert: (self sourceAtChritique: critiques third) equals: '88 whatShallIDoNow'.
]
15 changes: 11 additions & 4 deletions src/GeneralRules-Tests/RBTempVarOverridesInstVarRuleTest.class.st
Expand Up @@ -13,8 +13,8 @@ Class {
#category : #'GeneralRules-Tests-Migrated'
}

{ #category : #'text-help' }
RBTempVarOverridesInstVarRuleTest >> foo: dummy1 [
{ #category : #'test-help' }
RBTempVarOverridesInstVarRuleTest >> sampleMethod: dummy1 [
"I override dummy1, dummy2, dummy3 "
| dummy2 |
dummy2 := [ :dummy3 | dummy4 := dummy1 + dummy3 ].
Expand All @@ -25,7 +25,14 @@ RBTempVarOverridesInstVarRuleTest >> foo: dummy1 [
{ #category : #tests }
RBTempVarOverridesInstVarRuleTest >> testRule [
| critiques |
critiques := self myCritiguesOnMethod: self class >> #foo:.
self class compile: 'sampleMethod: dummy1
"I override dummy1, dummy2, dummy3 "
| dummy2 |
dummy2 := [ :dummy3 | dummy4 := dummy1 + dummy3 ].
^ dummy2 value: dummy1.
' classified: 'test-help'.
critiques := self myCritiguesOnMethod: self class >> #sampleMethod:.

self assert: critiques size equals: 2.
self assert: critiques second sourceAnchor interval equals: (55 to: 60)
self assert: (self sourceAtChritique: critiques second) equals: 'dummy2'.
]
11 changes: 5 additions & 6 deletions src/GeneralRules-Tests/RBUncommonMessageSendRuleTest.class.st
Expand Up @@ -8,19 +8,18 @@ Class {
}

{ #category : #'test-help' }
RBUncommonMessageSendRuleTest >> foo [
RBUncommonMessageSendRuleTest >> sampleMethod [
"I check that no uncommon method sends occour. For instance using self or true as method names, or method names with capital - like '7 BadSelector'"
99 self.
3 factorial.
7 BadSelector.
]

{ #category : #tests }
RBUncommonMessageSendRuleTest >> testCheckForCritiques [
RBUncommonMessageSendRuleTest >> testRule [
| critiques |
critiques := self myCritiquesOnFoo.
critiques := self myCritiques.

self assert: critiques size equals: 2.
self
assert: critiques first sourceAnchor interval
equals: (156 to: 162)
self assert: (self sourceAtChritique: critiques second) equals: '7 BadSelector'.
]
8 changes: 4 additions & 4 deletions src/GeneralRules-Tests/RBUsesTrueRuleTest.class.st
Expand Up @@ -8,18 +8,18 @@ Class {
}

{ #category : #'test-help' }
RBUsesTrueRuleTest >> foo [
RBUsesTrueRuleTest >> sampleMethod [
"You should not use True or False, but true and false. Unless it is the classes you refer to"
| foo balse|
foo := True.
balse := False | foo
]

{ #category : #'test-help' }
RBUsesTrueRuleTest >> testCheckForCritiques [
RBUsesTrueRuleTest >> testRule [
| critiques|
critiques := self myCritiquesOnFoo .
critiques := self myCritiques .

self assert: critiques size equals: 2.
self assert: critiques first sourceAnchor interval equals: (122 to: 125).
self assert: (self sourceAtChritique: critiques second) equals: 'False'.
]

0 comments on commit 9210704

Please sign in to comment.