<div dir="auto">I LIKE Array being anArray but the others being aCollection.   But that's just me.<div dir="auto"><br></div><div dir="auto">aSequence sound weird to me </div><div dir="auto"><br></div><div dir="auto">Cbc</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Apr 30, 2018, 18:03 David T. Lewis <<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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" target="_blank" rel="noreferrer">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 checked<br>
> > > > and found these tests don't fail in my 5.1 image.<br>
> > > ><br>
> > > > BrowserTest>>#testBuildMessageCategoryBrowserEditString<br>
> > > > DebuggerExtensionsTest>>#testCollectionsGeneralise<br>
> > > ><br>
> > > > I think the first one might actually be a case where a bug was fixed.<br>
> > > > The test fails because of a timeout, because there is a dialog 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 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-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 has very<br>
> > > good coverage (even though I don't know the significance of this failing<br>
> > > test).<br>
> > ><br>
> > > Aside from unit tests, it is sent by Message>>createStubMethod and appears<br>
> > > to be used when the debugger provides a template for implementing a 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 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 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 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 noreferrer" target="_blank">http://lists.squeakfoundation.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-e8b27d0a07d7<br>
> > >   Ancestors: Tools-fbs.459<br>
> > ><br>
> > >   When creating a stub method, give the argument names that represent the<br>
> > >   (usual) desired name more accurately. For instance, Arrays,<br>
> > > OrderedCollections<br>
> > >   and Sets all result in 'aCollection', ByteStrings and WideStrings 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>
> > <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-April/170693.html" rel="noreferrer noreferrer" target="_blank">http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-April/170693.html</a><br>
> > and <a href="http://bugs.squeak.org/view.php?id=7761" rel="noreferrer noreferrer" target="_blank">http://bugs.squeak.org/view.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 account for the test failure:<br>
> <br>
>   ArrayedCollection>>canonicalArgumentName  ==> 'Array'<br>
>   SequenceableCollection>>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-bc2785cc8504<br>
>   Ancestors: Tools-eem.787<br>
> <br>
>   Add some more canonicalArgumentName implementations for well-known Collection subclasses.<br>
> <br>
> So apparently the right thing to do is to update the unit tests to 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 failure?<br>
<br>
Dave<br>
<br>
<br>
</blockquote></div>