<div dir="ltr">David/Elliot, <div><br></div><div>I think David means:</div><div><br></div><div>

<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">1) Change the test to say this:</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span class="gmail-im" style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br>        self assert: Array name equals: Array new canonicalArgumentName.<br><br></span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">instead of this:</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span class="gmail-im" style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br>        self assert: Collection name equals: Array new canonicalArgumentName.</span>

<br></div><div><br></div><div>Plus the rest.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 1, 2018 at 6:13 PM, David T. Lewis <span dir="ltr"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That sounds right to me also.<br>
<br>
@eliot - do you have a view on this? The fix would involve reverting one of your<br>
changes from Tools-eem.788.<br>
<br>
Summary: The proposed fix for the DebuggerExtensionsTest>>#<wbr>testCollectionsGeneralise<br>
test failure would be:<br>
<br>
1) Change the test to say this:<br>
<span class=""><br>
        self assert: Collection name equals: Array new canonicalArgumentName.<br>
<br>
</span>instead of this:<br>
<span class=""><br>
        self assert: Collection name equals: Array new canonicalArgumentName.<br>
<br>
</span>2) Delete the SequenceableCollection>><wbr>canonicalArgumentName that was added in Tools-eem.788<br>
<br>
<br>
With those two changes, the test passes and the generated argument names<br>
seem reasonable.<br>
<br>
Dave<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Tue, May 01, 2018 at 01:48:48AM +0000, Chris Cunningham wrote:<br>
> I LIKE Array being anArray but the others being aCollection.   But that's<br>
> just me.<br>
> <br>
> aSequence sound weird to me<br>
> <br>
> Cbc<br>
> <br>
> On Mon, Apr 30, 2018, 18:03 David T. Lewis <<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>> wrote:<br>
> <br>
> > On Mon, Apr 30, 2018 at 07:28:03PM -0400, David T. Lewis wrote:<br>
> > > On Mon, Apr 30, 2018 at 02:13:15PM -0700, Frank Shearar wrote:<br>
> > > > On 30 April 2018 at 13:23, David T. Lewis <<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>> wrote:<br>
> > > ><br>
> > > > > On Fri, Apr 27, 2018 at 10:36:17PM -0500, Tim Johnson wrote:<br>
> > > > > > Hi,<br>
> > > > > ><br>
> > > > > > I ran some tests and found a couple that are failing.  I also<br>
> > checked<br>
> > > > > > and found these tests don't fail in my 5.1 image.<br>
> > > > > ><br>
> > > > > > BrowserTest>>#<wbr>testBuildMessageCategoryBrowse<wbr>rEditString<br>
> > > > > > DebuggerExtensionsTest>>#<wbr>testCollectionsGeneralise<br>
> > > > > ><br>
> > > > > > I think the first one might actually be a case where a bug was<br>
> > fixed.<br>
> > > > > > The test fails because of a timeout, because there is a dialog<br>
> > on-screen<br>
> > > > > > which is not returning.  Not sure, but the test may be intended to<br>
> > > > > > declare that the dialog should appear, and now it is (?).<br>
> > > > > ><br>
> > > > > > The second one, I don't understand.  There is no comment.<br>
> > > > ><br>
> > > > > I don't understand it either, and strangely it has no method<br>
> > timestamp.<br>
> > > > > But the test was was introduced in April 2013 in this update:<br>
> > > > ><br>
> > > > >   Name: ToolsTests-fbs.62<br>
> > > > >   Author: fbs<br>
> > > > >   Time: 19 April 2013, 8:43:40.116 am<br>
> > > > >   UUID: 926d563e-d57b-44ec-b4e7-<wbr>672010293c2b<br>
> > > > >   Ancestors: ToolsTests-nice.61<br>
> > > > ><br>
> > > > >   Tests for the new #canonicalArgumentName Debugger methods.<br>
> > > > ><br>
> > > > > This is part of test coverage for #canonicalArgumentName, which is<br>
> > > > > implemented<br>
> > > > > in Object and also has no method timestamp or comment (!!!).<br>
> > > > ><br>
> > > > > The canonicalArgumentName method is sent by many unit tests, so it<br>
> > has very<br>
> > > > > good coverage (even though I don't know the significance of this<br>
> > failing<br>
> > > > > test).<br>
> > > > ><br>
> > > > > Aside from unit tests, it is sent by Message>>createStubMethod and<br>
> > appears<br>
> > > > > to be used when the debugger provides a template for implementing a<br>
> > missing<br>
> > > > > method, or for implementing a method override.<br>
> > > > ><br>
> > > > > The test does this:<br>
> > > > ><br>
> > > > >   testCollectionsGeneralise<br>
> > > > >       self assert: Collection name equals: Array new<br>
> > canonicalArgumentName.<br>
> > > > >       self assert: Collection name equals: OrderedCollection new<br>
> > > > > canonicalArgumentName.<br>
> > > > >       self assert: Collection name equals: LinkedList new<br>
> > > > > canonicalArgumentName<br>
> > > > ><br>
> > > > ><br>
> > > > > This looks like a regression that should be fixed such that the<br>
> > tests pass<br>
> > > > > again, and that also deserves a good method comment in<br>
> > > > > Object>>cononicalArgumentName.<br>
> > > > ><br>
> > > > > I think that some more background and explanation can probably be<br>
> > found on<br>
> > > > > squeak-dev circa April 2013, notably this reference:<br>
> > > > ><br>
> > > > >   <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-" rel="noreferrer" target="_blank">http://lists.squeakfoundation.<wbr>org/pipermail/squeak-dev/2013-</a><br>
> > > > > April/170506.html<br>
> > > > ><br>
> > > > > Which points to this:<br>
> > > > ><br>
> > > > >   Name: Tools-fbs.460<br>
> > > > >   Author: fbs<br>
> > > > >   Time: 19 April 2013, 8:40:24.143 am<br>
> > > > >   UUID: d5cf82c4-bda7-48ff-bfbd-<wbr>e8b27d0a07d7<br>
> > > > >   Ancestors: Tools-fbs.459<br>
> > > > ><br>
> > > > >   When creating a stub method, give the argument names that<br>
> > represent the<br>
> > > > >   (usual) desired name more accurately. For instance, Arrays,<br>
> > > > > OrderedCollections<br>
> > > > >   and Sets all result in 'aCollection', ByteStrings and WideStrings<br>
> > in<br>
> > > > > 'aString',<br>
> > > > >   and so on.<br>
> > > > ><br>
> > > > > So perhaps that last paragraph about "when creating a stub method..."<br>
> > > > > might serve<br>
> > > > > as a method comment for Object>>cononicalArgumentName?<br>
> > > > ><br>
> > > > > Dave<br>
> > > > ><br>
> > > ><br>
> > > > It was part of my work to improve the "JIT development" workflow, aka<br>
> > > > "debugger driven development". See<br>
> > > ><br>
> > <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-April/170693.html" rel="noreferrer" target="_blank">http://lists.squeakfoundation.<wbr>org/pipermail/squeak-dev/2013-<wbr>April/170693.html</a><br>
> > > > and <a href="http://bugs.squeak.org/view.php?id=7761" rel="noreferrer" target="_blank">http://bugs.squeak.org/view.<wbr>php?id=7761</a><br>
> > > ><br>
> > ><br>
> > > Thanks Frank,<br>
> > ><br>
> > > And kudos for the test coverage, it is the sort of thing that almost<br>
> > > certainly would have gone unnoticed otherwise.<br>
> > ><br>
> > > Checking what has changed, the following two additions to the image<br>
> > account for the test failure:<br>
> > ><br>
> > >   ArrayedCollection>><wbr>canonicalArgumentName  ==> 'Array'<br>
> > >   SequenceableCollection>><wbr>canonicalArgumentName ==> 'Sequence'<br>
> > ><br>
> > > These entered the image here:<br>
> > ><br>
> > >   Name: Tools-eem.788<br>
> > >   Author: eem<br>
> > >   Time: 6 January 2018, 3:37:50.088654 pm<br>
> > >   UUID: bb90e476-4cf4-47bd-a8be-<wbr>bc2785cc8504<br>
> > >   Ancestors: Tools-eem.787<br>
> > ><br>
> > >   Add some more canonicalArgumentName implementations for well-known<br>
> > Collection subclasses.<br>
> > ><br>
> > > So apparently the right thing to do is to update the unit tests to<br>
> > reflect these additions.<br>
> ><br>
> > At the risk of contradicting myself yet again,<br>
> ><br>
> > According to testCollectionsGeneralise, we should have:<br>
> ><br>
> > The argument prototype for an Array is 'aCollection'<br>
> > The argument prototype for an OrderedCollection is 'aCollection'<br>
> > The argument prototype for a LinkedList is 'aCollection'<br>
> ><br>
> > However, in trunk we have this:<br>
> ><br>
> > The argument prototype for an Array is 'anArray'<br>
> > The argument prototype for an OrderedCollection is 'aSequence'<br>
> > The argument prototype for a LinkedList is 'aSequence'<br>
> ><br>
> > The original behavior as documented in the test seems better to me.<br>
> ><br>
> > Opinions? Change the test, or revert the changes that lead to the test<br>
> > failure?<br>
> ><br>
> > Dave<br>
> ><br>
> ><br>
> ><br>
<br>
> <br>
<br>
<br>
</div></div></blockquote></div><br></div>