Lukas Renggli wrote:
> 
>> Glad you like the tests.
>>
>> In my version of RBSpellChecker>>normalize, I also commented out the
>> line:
>>        "or: [ input peek = $' ]" "this causes false positives eg 'OK' in
>> class
>> comments"
> 
> That change breaks word like
> 
>    don't
>    Smalltalk's
>    etc.
> 
>  I see that there are a few other cases where you don't want any $'.
> So I removed it for now.
> 
>> OK returns an error on k, RB b etc.
>>
>> So that's what causes the two cases on a Linux box (fairly sure). I'm
>> guessing you have letters k i b and t in the Mac dictionary, or it
>> specifically doesn't check one letter words?
> 
> RBSpellChecker>>#normalize: removes one letter words, so I don't think
> this can be the error. If you show the individual words that are
> checked against the dictionary on the transcript, you will see that
> they all look pretty ok.
> 
>> BTW, it looks like RBPoolVariableNameSpellingRule should be
>> RBPoolDictionaryNameSpellingRule, as that's what it looks at?
> 
> Ok, I renamed that. Probably this rule isn't really needed anyway ...
> 
> Lukas
> 
> -- 
> Lukas Renggli
> http://www.lukas-renggli.ch
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 
> 

Hi Lukas,

I think you didn't pick up the other fix in RBBugFixes

RBLiteralValuesSpellingRule>>initialize
        super initialize.
        matcher := RBParseTreeSearcher new.
        matcher matches: '`#literal'
                do:
                        [ :node :answer | 
                        | nodeValue |
                        nodeValue := node value.
                        (nodeValue isString or: [ nodeValue isSymbol or: [ 
nodeValue isCollection
] ]) ifTrue: 
                                [ answer add: nodeValue ].
                        answer ]

Currently it checks the node, not the node value. When I load this method,
all tests run green.



> RBSpellChecker>>#normalize: removes one letter words, so I don't think
> this can be the error. 
> 

The tests are on 'RB' 'OK' etc, in the quotes in class comments. Leading
capitals are stripped off. If $' is passed through, the check gets made on
K', and as it is 2 characters doesn't get disallowed. That's why the tests
need the pass through of ' taken out at the moment. If instead,  where you
store the result:
 result add: output contents 
if you strip out trailing $' before storing, this would let you verify don't
and smalltalk's as well, I think.
Then you'd need a different test from the position in the stream for size =
1.

I only hit this edge case because I had a class comment about namespace
related prefixes- 'WA' 'RB' etc.

So now 'OK' is not checked, under the 'strip out leading capitals' scenario.
At some point it might be nice to check these as well - eg WARenderCanvas
rather than WBRenderCanvas. YAGNI, NASA, other abbreviations.

Code Critics browser still doesn't show Method Protocols in bold.

Cheers,   ...Stan


-- 
View this message in context: 
http://n2.nabble.com/Spell-check-test-cases-tp4288633p4290734.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to