Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 31 additions & 10 deletions src/Microdown-BookTester-Tests/MiCheckerEngineTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -29,24 +29,45 @@ MiCheckerEngineTest >> setUp [
]

{ #category : 'running' }
MiCheckerEngineTest >> testEngineDetectsHeaderMistake [
| config results |
MiCheckerEngineTest >> testCheckersFromConfiguration [
| config checkers |
config := OrderedDictionary new.
config at: 'HeaderCapitalization' put: 'uppercase'.
results := engine runOn: file withConfiguration: config.
self deny: results isEmpty.
self assert: results size equals: 3.
config at: 'EnglishTypography' put: nil.
config at: 'HeaderCapitalization' put: 'lowercase'.
checkers := engine checkersFromConfiguration: config.
self assert: checkers size equals: 2.
self assert: (checkers anySatisfy: [:c | c isKindOf: MicEnglishTypographyChecker]).
self assert: (checkers anySatisfy: [:c | c isKindOf: MicRuleHeaderChecker]).
]

{ #category : 'running' }
MiCheckerEngineTest >> testEngineDetectsVocabularyMistake [
MiCheckerEngineTest >> testCheckersFromConfigurationAllCheckers [
| config checkers |
config := OrderedDictionary new.
config at: 'EnglishTypography' put: nil.
config at: 'FrenchTypography' put: nil.
config at: 'HeaderCapitalization' put: 'lowercase'.
config at: 'Vocabulary' put: { #('colour' 'color')}.
config at: 'CodeIndentation' put: nil.
config at: 'MethodReferenceUsingHash' put: nil.
config at: 'MethodStructure' put: nil.
config at: 'NotTheFigureX' put: nil.
config at: 'CodeLastPeriod' put: 'true'.
config at: 'ParagraphLabelEndPeriod' put: 'true'.
config at: 'CodeLastPeriodInCaption' put: nil.
config at: 'LastPeriodInCode' put: nil.
checkers := engine checkersFromConfiguration: config.
self assert: checkers size equals: 12.
]

{ #category : 'running' }
MiCheckerEngineTest >> testEngineDetectsHeaderMistake [
| config results |
config := OrderedDictionary new.
config at: 'Vocabulary' put: { #('colour' . 'color') }.
config at: 'HeaderCapitalization' put: 'uppercase'.
results := engine runOn: file withConfiguration: config.
self deny: results isEmpty.
self assert: results size equals: 1.
self assert: (results first explanation includesSubstring: 'colour').
self assert: results size equals: 3.
]

{ #category : 'running' }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ MicAnchoredSectionTableFigureChecker class >> checkerName [
^ 'NotTheFigureX'
]

{ #category : 'configuration' }
MicAnchoredSectionTableFigureChecker >> configureFrom: aConfiguration [
^ self
]

{ #category : 'visiting' }
MicAnchoredSectionTableFigureChecker >> visitParagraph: aMicParagraph [
| children |
Expand Down
5 changes: 5 additions & 0 deletions src/Microdown-Rules/MicCodeIndentationChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ MicCodeIndentationChecker class >> checkerName [
^ 'CodeIndentation'
]

{ #category : 'configuration' }
MicCodeIndentationChecker >> configureFrom: aConfiguration [
^ self
]

{ #category : 'visiting' }
MicCodeIndentationChecker >> visitCode: aMicCode [
| lines |
Expand Down
12 changes: 12 additions & 0 deletions src/Microdown-Rules/MicCodeIndentationCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ MicCodeIndentationCheckerTest >> setUp [
checker := MicCodeIndentationChecker new.
]

{ #category : 'tests' }
MicCodeIndentationCheckerTest >> testConfigureFromAnyValue [
checker configureFrom: 'anything'.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicCodeIndentationCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicCodeIndentationCheckerTest >> testIndentationCorrect [
checker checkProject: fileSystem / 'indentationCorrect.md'.
Expand Down
14 changes: 14 additions & 0 deletions src/Microdown-Rules/MicEnglishTypographyCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,20 @@ MicEnglishTypographyCheckerTest >> testConfigureFrom [
object' 'metaobject'))
]

{ #category : 'tests' }
MicEnglishTypographyCheckerTest >> testConfigureFromAnyValue [

checker configureFrom: 'anything'.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicEnglishTypographyCheckerTest >> testConfigureFromNil [

checker configureFrom: nil.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicEnglishTypographyCheckerTest >> testCorrectFile [

Expand Down
5 changes: 5 additions & 0 deletions src/Microdown-Rules/MicFrenchTypoChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ MicFrenchTypoChecker >> checkString: aString for: anElement [
]
]

{ #category : 'configuration' }
MicFrenchTypoChecker >> configureFrom: aConfiguration [
^ self
]

{ #category : 'adding' }
MicFrenchTypoChecker >> visitCode: aMicCode [
aMicCode caption ifNil: [ ^ self ].
Expand Down
12 changes: 12 additions & 0 deletions src/Microdown-Rules/MicFrenchTypoCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,18 @@ MicFrenchTypoCheckerTest >> setUp [
checker := MicFrenchTypoChecker new.
]

{ #category : 'tests' }
MicFrenchTypoCheckerTest >> testConfigureFromAnyValue [
checker configureFrom: 'anything'.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test not useful.

self assert: checker isOkay.
]

{ #category : 'tests' }
MicFrenchTypoCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test not useful

self assert: checker isOkay.
]

{ #category : 'tests' }
MicFrenchTypoCheckerTest >> testCorrect [
checker checkProject: fileSystem / 'correct.md'.
Expand Down
21 changes: 21 additions & 0 deletions src/Microdown-Rules/MicHeaderCapitalizationCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,27 @@ MicHeaderCapitalizationCheckerTest >> testCheckIdentifyHeaderNotLowercased [

]

{ #category : 'tests - headers should be lowercased' }
MicHeaderCapitalizationCheckerTest >> testConfigureFromLowercase [

checker configureFrom: 'lowercase'.
self assert: (checker strategy isKindOf: MicRuleLowercaseHeaderStrategy).
]

{ #category : 'tests - headers should be lowercased' }
MicHeaderCapitalizationCheckerTest >> testConfigureFromNil [

checker configureFrom: nil.
self assert: (checker strategy isKindOf: MicRuleLowercaseHeaderStrategy).
]

{ #category : 'tests - headers should be lowercased' }
MicHeaderCapitalizationCheckerTest >> testConfigureFromUppercase [

checker configureFrom: 'uppercase'.
self assert: (checker strategy isKindOf: MicRuleUppercaseHeaderStrategy).
]

{ #category : 'tests - headers should be lowercased' }
MicHeaderCapitalizationCheckerTest >> testWritingBooksCorrect [

Expand Down
12 changes: 9 additions & 3 deletions src/Microdown-Rules/MicLastPeriodChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,16 @@ MicLastPeriodChecker >> checkMissingPeriodIn: aMicCodeBlock [
codeShouldEndWithPeriod: codeShouldEndWithPeriod) ]
]

{ #category : 'visiting' }
MicLastPeriodChecker >> configureFrom: aBoolean [
{ #category : 'accessing' }
MicLastPeriodChecker >> codeShouldEndWithPeriod [

^ codeShouldEndWithPeriod
]

aBoolean = 'true'
{ #category : 'visiting' }
MicLastPeriodChecker >> configureFrom: aConfiguration [
aConfiguration isNil ifTrue: [ ^ self ].
aConfiguration = 'true'
ifTrue: [ codeShouldEndWithPeriod := true ]
ifFalse: [ codeShouldEndWithPeriod := false ]
]
Expand Down
18 changes: 18 additions & 0 deletions src/Microdown-Rules/MicLastPeriodInCaptionCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,24 @@ MicLastPeriodInCaptionCheckerTest >> testCodeCheckerIdentifyCorrectlyMissingExtr
'Text: "This is the famous missing period" in file/codeCaptionMissingPeriod.md contains a mistake: Captions should be terminated with a period (.).'
]

{ #category : 'tests' }
MicLastPeriodInCaptionCheckerTest >> testConfigureFromFalse [
checker configureFrom: 'false'.
self assert: checker codeShouldEndWithPeriod equals: false.
]

{ #category : 'tests' }
MicLastPeriodInCaptionCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
self assert: checker codeShouldEndWithPeriod equals: true.
]

{ #category : 'tests' }
MicLastPeriodInCaptionCheckerTest >> testConfigureFromTrue [
checker configureFrom: 'true'.
self assert: checker codeShouldEndWithPeriod equals: true.
]

{ #category : 'tests - missing period' }
MicLastPeriodInCaptionCheckerTest >> testFigureCheckerChecksCorrectlyMissingExtraPeriod [

Expand Down
5 changes: 5 additions & 0 deletions src/Microdown-Rules/MicMethodReferenceChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ MicMethodReferenceChecker class >> checkerName [
^ 'MethodReferenceUsingHash'
]

{ #category : 'configuration' }
MicMethodReferenceChecker >> configureFrom: aConfiguration [
^ self
]

{ #category : 'visiting - inline elements' }
MicMethodReferenceChecker >> visitText: aMicText [
| text withHash withhoutHash |
Expand Down
12 changes: 12 additions & 0 deletions src/Microdown-Rules/MicMethodReferenceCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,18 @@ MicMethodReferenceCheckerTest >> setUp [
checker := MicMethodReferenceChecker new.
]

{ #category : 'tests' }
MicMethodReferenceCheckerTest >> testConfigureFromAnyValue [
checker configureFrom: 'anything'.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicMethodReferenceCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicMethodReferenceCheckerTest >> testMixedReferenceDetected [
checker checkProject: fileSystem / 'mixedReference.md'.
Expand Down
5 changes: 5 additions & 0 deletions src/Microdown-Rules/MicMethodStructureChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ MicMethodStructureChecker class >> checkerName [
^ 'MethodStructure'
]

{ #category : 'configuration' }
MicMethodStructureChecker >> configureFrom: aConfiguration [
^ self
]

{ #category : 'visiting' }
MicMethodStructureChecker >> visitCode: aMicCode [
| lines firstLine secondLine |
Expand Down
12 changes: 12 additions & 0 deletions src/Microdown-Rules/MicMethodStructureCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,18 @@ MicMethodStructureCheckerTest >> setUp [
checker := MicMethodStructureChecker new.
]

{ #category : 'tests' }
MicMethodStructureCheckerTest >> testConfigureFromAnyValue [
checker configureFrom: 'anything'.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicMethodStructureCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
self assert: checker isOkay.
]

{ #category : 'tests' }
MicMethodStructureCheckerTest >> testMethodCorrect [
checker checkProject: fileSystem / 'methodCorrect.md'.
Expand Down
11 changes: 10 additions & 1 deletion src/Microdown-Rules/MicParagraphLabelChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,10 @@ MicParagraphLabelChecker >> checkMissingPeriodIn: aMicHeader [

{ #category : 'visiting' }
MicParagraphLabelChecker >> configureFrom: aConfiguration [

aConfiguration isNil ifTrue: [ ^ self ].
aConfiguration = 'true'
ifTrue: [ labelShouldEndWithPeriod := true ]
ifFalse: [ labelShouldEndWithPeriod := false ]
]

{ #category : 'visiting' }
Expand All @@ -83,6 +86,12 @@ MicParagraphLabelChecker >> initialize [
levelForParagraph := 4.
]

{ #category : 'accessing' }
MicParagraphLabelChecker >> labelShouldEndWithPeriod [

^ labelShouldEndWithPeriod
]

{ #category : 'accessing' }
MicParagraphLabelChecker >> levelForParagraph [

Expand Down
18 changes: 18 additions & 0 deletions src/Microdown-Rules/MicParagraphLabelCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,24 @@ MicParagraphLabelCheckerTest >> setUp [
checker := MicParagraphLabelChecker new.
]

{ #category : 'tests' }
MicParagraphLabelCheckerTest >> testConfigureFromFalse [
checker configureFrom: 'false'.
self assert: checker labelShouldEndWithPeriod equals: false.
]

{ #category : 'tests' }
MicParagraphLabelCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
self assert: checker labelShouldEndWithPeriod equals: true.
]

{ #category : 'tests' }
MicParagraphLabelCheckerTest >> testConfigureFromTrue [
checker configureFrom: 'true'.
self assert: checker labelShouldEndWithPeriod equals: true.
]

{ #category : 'tests' }
MicParagraphLabelCheckerTest >> testLevel1NotChecked [
checker checkProject: fileSystem / 'level1.md'.
Expand Down
17 changes: 17 additions & 0 deletions src/Microdown-Rules/MicReferencesCheckerTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ Class {
#tag : 'References'
}

{ #category : 'public - name' }
MicReferencesCheckerTest class >> checkerName [
^ 'ReferenceChecks'
]

{ #category : 'running' }
MicReferencesCheckerTest >> generateFilesystemExample [
| file |
Expand Down Expand Up @@ -64,6 +69,18 @@ MicReferencesCheckerTest >> setUp [
checker := MicAnchoredSectionTableFigureChecker new.
]

{ #category : 'running' }
MicReferencesCheckerTest >> testConfigureFromAnyValue [
checker configureFrom: 'anything'.
self assert: checker isOkay.
]

{ #category : 'running' }
MicReferencesCheckerTest >> testConfigureFromNil [
checker configureFrom: nil.
self assert: checker isOkay.
]

{ #category : 'running' }
MicReferencesCheckerTest >> testFigureCorrect [
checker checkProject: fileSystem / 'figureCorrect.md'.
Expand Down
6 changes: 6 additions & 0 deletions src/Microdown-Rules/MicRuleHeaderChecker.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@ MicRuleHeaderChecker >> shouldCapitalizedWord: aString [
^ (uncapitalizableText includes: normalized) not
]

{ #category : 'accessing' }
MicRuleHeaderChecker >> strategy [

^ strategy
]

{ #category : 'initialization' }
MicRuleHeaderChecker >> verifyLowercase [

Expand Down
Loading
Loading