From 921070467d57b4aa9c7f94405003b143dca80a2c Mon Sep 17 00:00:00 2001 From: kasperosterbye Date: Wed, 11 Dec 2019 11:38:41 +0100 Subject: [PATCH] cleaning up --- .../RBAbstractRuleTestCase.class.st | 9 +++++++-- ...AssignmentOnBlockArgumentRuleTest.class.st | 13 +++++++++--- .../RBGlobalVariablesUsageTest.class.st | 8 ++++---- ...odSourceContainsLinefeedsRuleTest.class.st | 20 +++++++++---------- ...riodsTerminatingStatementRuleTest.class.st | 6 +++--- .../RBRefersToClassRuleTest.class.st | 2 +- .../RBSelfSentNotImplementedRuleTest.class.st | 8 ++++---- .../RBSentNotImplementedRuleTest.class.st | 7 ++++--- ...RBTempVarOverridesInstVarRuleTest.class.st | 15 ++++++++++---- .../RBUncommonMessageSendRuleTest.class.st | 11 +++++----- .../RBUsesTrueRuleTest.class.st | 8 ++++---- 11 files changed, 63 insertions(+), 44 deletions(-) diff --git a/src/GeneralRules-Tests/RBAbstractRuleTestCase.class.st b/src/GeneralRules-Tests/RBAbstractRuleTestCase.class.st index be10b1c39c1..e8e324a1fdd 100644 --- a/src/GeneralRules-Tests/RBAbstractRuleTestCase.class.st +++ b/src/GeneralRules-Tests/RBAbstractRuleTestCase.class.st @@ -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 diff --git a/src/GeneralRules-Tests/RBAssignmentOnBlockArgumentRuleTest.class.st b/src/GeneralRules-Tests/RBAssignmentOnBlockArgumentRuleTest.class.st index 7e5071cc0fd..afd42cf1995 100644 --- a/src/GeneralRules-Tests/RBAssignmentOnBlockArgumentRuleTest.class.st +++ b/src/GeneralRules-Tests/RBAssignmentOnBlockArgumentRuleTest.class.st @@ -8,7 +8,7 @@ Class { } { #category : #'test-help' } -RBAssignmentOnBlockArgumentRuleTest >> foo [ +RBAssignmentOnBlockArgumentRuleTest >> sampleMethod [ "Assignment to blockArgument is bad - here x" | myBlock | myBlock := [:x :y| @@ -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'. ] diff --git a/src/GeneralRules-Tests/RBGlobalVariablesUsageTest.class.st b/src/GeneralRules-Tests/RBGlobalVariablesUsageTest.class.st index 3295a2ff228..ad0ebf099f8 100644 --- a/src/GeneralRules-Tests/RBGlobalVariablesUsageTest.class.st +++ b/src/GeneralRules-Tests/RBGlobalVariablesUsageTest.class.st @@ -8,7 +8,7 @@ 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. @@ -16,10 +16,10 @@ RBGlobalVariablesUsageTest >> foo [ ] { #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'. ] diff --git a/src/GeneralRules-Tests/RBMethodSourceContainsLinefeedsRuleTest.class.st b/src/GeneralRules-Tests/RBMethodSourceContainsLinefeedsRuleTest.class.st index e67e64a270b..ee8c0593b9c 100644 --- a/src/GeneralRules-Tests/RBMethodSourceContainsLinefeedsRuleTest.class.st +++ b/src/GeneralRules-Tests/RBMethodSourceContainsLinefeedsRuleTest.class.st @@ -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. @@ -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. ] diff --git a/src/GeneralRules-Tests/RBMultiplePeriodsTerminatingStatementRuleTest.class.st b/src/GeneralRules-Tests/RBMultiplePeriodsTerminatingStatementRuleTest.class.st index d0689a6c410..5b195d0c221 100644 --- a/src/GeneralRules-Tests/RBMultiplePeriodsTerminatingStatementRuleTest.class.st +++ b/src/GeneralRules-Tests/RBMultiplePeriodsTerminatingStatementRuleTest.class.st @@ -8,7 +8,7 @@ Class { } { #category : #'test-help' } -RBMultiplePeriodsTerminatingStatementRuleTest >> foo [ +RBMultiplePeriodsTerminatingStatementRuleTest >> sampleMethod [ "I have two periods between statements" 2+3. . {1.2..3}. @@ -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: '. .'. ] diff --git a/src/GeneralRules-Tests/RBRefersToClassRuleTest.class.st b/src/GeneralRules-Tests/RBRefersToClassRuleTest.class.st index 3ccd28c61ea..0d20f16b9ca 100644 --- a/src/GeneralRules-Tests/RBRefersToClassRuleTest.class.st +++ b/src/GeneralRules-Tests/RBRefersToClassRuleTest.class.st @@ -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'. ] diff --git a/src/GeneralRules-Tests/RBSelfSentNotImplementedRuleTest.class.st b/src/GeneralRules-Tests/RBSelfSentNotImplementedRuleTest.class.st index d09bbf26e32..3a262d6a0a6 100644 --- a/src/GeneralRules-Tests/RBSelfSentNotImplementedRuleTest.class.st +++ b/src/GeneralRules-Tests/RBSelfSentNotImplementedRuleTest.class.st @@ -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. @@ -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'. ] diff --git a/src/GeneralRules-Tests/RBSentNotImplementedRuleTest.class.st b/src/GeneralRules-Tests/RBSentNotImplementedRuleTest.class.st index 87a13cd042d..920815dcc5d 100644 --- a/src/GeneralRules-Tests/RBSentNotImplementedRuleTest.class.st +++ b/src/GeneralRules-Tests/RBSentNotImplementedRuleTest.class.st @@ -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. @@ -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'. ] diff --git a/src/GeneralRules-Tests/RBTempVarOverridesInstVarRuleTest.class.st b/src/GeneralRules-Tests/RBTempVarOverridesInstVarRuleTest.class.st index 9581d7dd793..394e9d5f53e 100644 --- a/src/GeneralRules-Tests/RBTempVarOverridesInstVarRuleTest.class.st +++ b/src/GeneralRules-Tests/RBTempVarOverridesInstVarRuleTest.class.st @@ -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 ]. @@ -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'. ] diff --git a/src/GeneralRules-Tests/RBUncommonMessageSendRuleTest.class.st b/src/GeneralRules-Tests/RBUncommonMessageSendRuleTest.class.st index ae25bbc95ed..ab7f483ce21 100644 --- a/src/GeneralRules-Tests/RBUncommonMessageSendRuleTest.class.st +++ b/src/GeneralRules-Tests/RBUncommonMessageSendRuleTest.class.st @@ -8,7 +8,7 @@ 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. @@ -16,11 +16,10 @@ RBUncommonMessageSendRuleTest >> foo [ ] { #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'. ] diff --git a/src/GeneralRules-Tests/RBUsesTrueRuleTest.class.st b/src/GeneralRules-Tests/RBUsesTrueRuleTest.class.st index 6d9dbd190fc..19430563e2e 100644 --- a/src/GeneralRules-Tests/RBUsesTrueRuleTest.class.st +++ b/src/GeneralRules-Tests/RBUsesTrueRuleTest.class.st @@ -8,7 +8,7 @@ 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. @@ -16,10 +16,10 @@ RBUsesTrueRuleTest >> 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'. ]