[squeak-dev] The Inbox: SUnit-ct.130.mcz
christoph.thiede at student.hpi.uni-potsdam.de
christoph.thiede at student.hpi.uni-potsdam.de
Mon Jan 10 17:17:30 UTC 2022
Hi all,
I am still convinced that overriding #error as an accessor is not a good practice, but I am unsure whether this patch would be too much a breaking change, considering the amount of senders to this method in projects using Squeak or other Smalltalk distributions. Solely on GitHub:
https://sourcegraph.com/search?q=context:global+%5CbTestResult%5Cs%2Berror%5Cb+lang:Smalltalk+-lang:c%23&patternType=regexp&case=yes
What do you think, shall we merge or drop this?
PS: Promise >> #error seems no better to me ...
Best,
Christoph
---
Sent from Squeak Inbox Talk
On 2020-09-24T09:28:33+00:00, commits at source.squeak.org wrote:
> Christoph Thiede uploaded a new version of SUnit to project The Inbox:
> http://source.squeak.org/inbox/SUnit-ct.130.mcz
>
> ==================== Summary ====================
>
> Name: SUnit-ct.130
> Author: ct
> Time: 24 September 2020, 11:28:31.626426 am
> UUID: 43df5072-3a69-634c-946a-ec59903c2519
> Ancestors: SUnit-pre.122
>
> Deprecates TestResult class >> #error and replaces sends to it with #exError. It is a bad and erroneous practice to override #error in a way that does not signal an error but returns a class object.
>
> =============== Diff against SUnit-pre.122 ===============
>
> Item was changed:
> ----- Method: SUnitTest>>testDialectLocalizedException (in category 'tests') -----
> testDialectLocalizedException
>
> self
> should: [TestResult signalFailureWith: 'Foo']
> raise: TestResult failure.
> self
> should: [TestResult signalErrorWith: 'Foo']
> + raise: TestResult exError.!
> - raise: TestResult error.
> -
> - !
>
> Item was changed:
> ----- Method: SUnitTest>>testException (in category 'tests') -----
> testException
>
> self
> should: [self error: 'foo']
> + raise: TestResult exError!
> - raise: TestResult error
> - !
>
> Item was changed:
> ----- Method: SUnitTest>>testWithExceptionDo (in category 'tests') -----
> testWithExceptionDo
>
> self
> should: [self error: 'foo']
> + raise: TestResult exError
> - raise: TestResult error
> withExceptionDo: [:exception |
> self assert: (exception description includesSubstring: 'foo')
> + ]!
> - ]
> - !
>
> Item was changed:
> ----- Method: TestResult class>>error (in category 'exceptions') -----
> error
> +
> + self deprecated: 'ct: Send #exError to retrieve an exception class or #error: to signal an error, depending on what you need.'.
> + ^ self exError!
> - ^self exError
> - !
>
> Item was changed:
> ----- Method: TestResult class>>signalErrorWith: (in category 'exceptions') -----
> signalErrorWith: aString
> + ^ self exError signal: aString!
> - self error signal: aString
> - !
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220110/3381d44e/attachment.html>
More information about the Squeak-dev
mailing list
|