Re: [squeak-dev] [Seaside] Seaside on Squeak?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [Seaside] Seaside on Squeak?

Max Leske
Thanks for the hint Timothy.


My suggestion is to collect all encoding names manually in Grease
instead of using TextEncoder class>>allEncodingNames. Despite its name,
this method only answers the "default" name of each encoding. I don't
think that's the intended use case we want to support with
GRGenericPharoEncoder. There, I imagine we'd like to match both
'mac-roman' and 'macroman'. Manually collecting the encoding names
allows us to do that.

PR: https://github.com/SeasideSt/Grease/pull/71

BTW: There should really be a message for that on TextEncoder...


Cheers,
Max

On 8 Dec 2018, at 13:00, [hidden email]
wrote:

> my applogies I accidentally hit send with a control key while
> attempting to format the chain of reasoning. What this test does is
> loop through each subclass of GRCodec and asks each one if they
> support the encoding 'mac-roman' those classes are: GRNullCodec
> GRPharoGenericCodec GRPharoUtf8Codec GRPharoLatin1Codec The subclasses
> either hard-code their encodings in the class side
> supportedEncodingNames method or they define it as a subset of
> TextConverter allEncodingNames TextConverter allEncodingNames inspect
> TextConverter allEncodingNames select:[:element | element asString
> beginsWith:'mac'] Like GRCodec, TextConverter loops through all its
> subclasses and asks them what to populate its set of names with. The
> one we want is: MacRomanTextConverter encodingNames If you print that,
> you see two: #('macroman' 'mac-roman') The issue, is in the
> TextConverte allEncodingNames method allEncodingNames "TextConverter
> allEncodingNames" | encodingNames | encodingNames := Set new. self
> allSubclasses do: [:each | | names | names := each encodingNames.
> names notEmpty ifTrue: [encodingNames add: names first asSymbol]].
> ^encodingNames looking at the ifTrue: block you see it only adds the
> FIRST name to the set. This could be a bug in TextConverter. Since
> 'mac-roman' and 'macroman' both point to the same
> MacRomanTextConverter, it stands to reason that changing the test from
> 'mac-roman' to 'macroman' is safe. Do that, and the test passes.
> cheers, t ---- On Wed, 05 Dec 2018 08:33:02 -0500 David T. Lewis
> <[hidden email]> wrote ---- Replying on the squeak-dev list to
> get some more eyes on the issue. Dave On Tue, Dec 04, 2018 at
> 10:17:17PM +0100, Johan Brichau wrote: > Hi, > > Two tests are
> currently still failing for Squeak [1]. > - testNamedTempAt -> fails
> on travis but works in an interactive image??? dunno what???s going on
> but it???s an expected failure in Pharo for a long time as well??? > -
> testGenericCodecMacRoman -> it seems the preferential name for the
> Mac-Roman encoding became ???macroman??? in Squeak instead of
> ???mac-roman???. Not sure what to think about this one??? > > Anybody
> from the Squeak community who wants to step in and check on these? > >
> cheers > Johan > > > [1]
> https://travis-ci.org/SeasideSt/Seaside/jobs/463542906 >
_______________________________________________
seaside-dev mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev