[Seaside] Grease testSeconds is failing in Squeak 4.3 and Pharo 1.4

Philippe Marschall philippe.marschall at gmail.com
Mon Feb 20 05:51:24 UTC 2012


2012/2/20 nicolas cellier <nicolas.cellier.aka.nice at gmail.com>:
> In all Smalltalk, (2/1) is automatically reduced to a canonical Integer
> representation.
> Nonetheless it is also a fraction.
>
> 1) Since all Integer are special kind of fraction and are polymorphic to
> fraction in Squeak and Pharo (responds to numerator, denominator, fractionPart
> etc...)
> 2) and since doing so both simplify and speed up some arithmetic code,
>
> Squeak and Pharo (2 isFraction) now answer true.
>
> One consequence is a failing Grease test (GRPlatformTest>>testSeconds)
>
>    self deny: Time now seconds isFraction.
>
> The purpose is to test that no fractional seconds get returned.
> I suggest rewriting:
>
>    self deny: (Time now seconds isKindOf: Fraction).
>
> which should be fairly portable

2 isFraction. -> true
(2 / 1) isFraction. -> true
2s0 isFraction. -> false
2s0 = 2. -> true
2s0 = (2 / 1). -> true

makes total sense

Cheers
Philippe


More information about the seaside mailing list