How to create a SqueakSource image?

Frank Shearar frank.shearar at angband.za.org
Thu Feb 9 07:20:22 UTC 2006


http://bugs.impara.de/view.php?id=2698 demonstrates a bug in
Integer>>printOn:base:showRadix: (123 printOn: foo base: 8 showRadix: false
puts '8r173' in s, not '173'), and supplies a fix.

frank
----- Original Message ----- 
From: "Frank Shearar" <frank.shearar at angband.za.org>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Thursday, February 09, 2006 8:02 AM
Subject: Re: How to create a SqueakSource image?


> Hi Stéphane,
>
> By "tests with the correct results" what do you mean?
> IntegerTest>>testPrintOnBaseShowRadix?
>
> I presume that these are the correct results? If so I'll write something
up
> and put it on Mantis today.
>
> 123 printOn: foo base: 10 showRadix: true  => 10r123
> 123 printOn: foo base: 10 showRadix: false => 123
> 123 printOn: foo base: 8 showRadix: true  => 8r173
> 123 printOn: foo base: 8 showRadix: false => 173
>
> frank
>
> ----- Original Message ----- 
> From: "stéphane ducasse" <ducasse at iam.unibe.ch>
> To: "The general-purpose Squeak developers list"
> <squeak-dev at lists.squeakfoundation.org>
> Sent: Wednesday, February 08, 2006 8:18 PM
> Subject: Re: How to create a SqueakSource image?
>
>
> Yes I just checked that.
>
>
> testPrintPaddedWith
>
> self assert: (123 printPaddedWith: $0 to: 10 base: 2)  = '0001111011'.
> self assert: (123 printPaddedWith: $0 to: 10 base: 8)  = '0000000173'.
> self assert: (123 printPaddedWith: $0 to: 10 base: 10) = '0000000123'.
> self assert: (123 printPaddedWith: $0 to: 10 base: 16) = '000000007B'.
>
> So creating a couple of tests with the correct results would be nice.
>
> Stef
>
>
> On 8 févr. 06, at 12:48, Frank Shearar wrote:
>
> > This sounds like http://bugs.impara.de/view.php?id=2229 which looks
> > like it
> > was added to 3.9a-6707.
> >
> > IntegerTest>>testPrintPaddedWith does exercise the code, although
> > it's fair
> > to say that this is hardly obvious.
> > Integer>>printOn:base:showRadix:'s sole
> > sender is Integer>>printPaddedWith:to:base:, but perhaps I should
> > write a
> > test suite for #printOn:base:showRadix.
> >
> > I completely agree that (in 6706) there's horrible special-casing
> > for base
> > 10: I wrote some tests detailing what I _thought_ should happen,
> > and made
> > only the smallest changes I could to make the tests pass. In
> > particular, I
> > made it work; I didn't make it right.
> >
> > frank
> > ----- Original Message -----
> > From: "Andreas Raab" <andreas.raab at gmx.de>
> > To: "The general-purpose Squeak developers list"
> > <squeak-dev at lists.squeakfoundation.org>
> > Sent: Tuesday, February 07, 2006 11:52 PM
> > Subject: Re: How to create a SqueakSource image?
> >
> >
> >> Actually #printOn:base:showRadix: will fail for any showRadix: false
> >> unless base is 10. Sounds weird? Yeah. Here are examples:
> >>
> >>    100 printOn: Transcript base:  8 showRadix: false "->fails"
> >>    100 printOn: Transcript base: 10 showRadix: false "->succeeds"
> >>    100 printOn: Transcript base: 16 showRadix: false "->fails"
> >>
> >> Looks like #printStringRadix: is supposed to return a radix whenever
> >> invoked but doesn't. Note how it is actually special-casing radix
> >> 10 -
> >> it looks like it's expecting #printStringBase: to add the "16r"
> >> prefix
> >> which apparently #printStringBase: doesn't (or rather "no longer")
> >> do.
> >>
> >> BTW, this is a classic screw-up that tests would have found in no
> >> time.
> >> Where are they when you need 'em?
> >>
> >> Cheers,
> >>    - Andreas
> >>
> >> Wilkes Joiner wrote:
> >>> image 3.8 6665
> >>> it fails on the default color on red 54.
> >>>
> >>> On 2/7/06, Philippe Marschall <philippe.marschall at gmail.com> wrote:
> >>>> 2006/2/7, Wilkes Joiner <wilkesjoiner at gmail.com>:
> >>>>> That seems to be part of the problem.  The error is being
> >>>>> generated by
> >>>>> Color>>hex from
> >>>>> Integer>>printOn: base: showRadix:
> >>>>>
> >>>>> "radix indicator not found."
> >>>> Can you go up the stack and see for what number this fails?
> >>>>
> >>>> What an Image (version) do you have?
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >>
> >
> >
>
>
>
>
>




More information about the Squeak-dev mailing list