Skip to content

Releases: dionisiydk/StateSpecs

Pharo11 compatibility

21 Dec 22:48
Compare
Choose a tag to compare

Pharo11 deprecations are fixed
Ghost version is updated
Help is excluded from baseline (old Help system was removed in Pharo11)

Update Ghost for debugger fixes

04 May 22:33
50044fa
Compare
Choose a tag to compare
v5.0.1

Update Ghost for debugger fixes

Ghost version update for Pharo 10

03 May 22:37
83319e3
Compare
Choose a tag to compare
v5.0.0

Update README.md

Mark baseline that project is metadataless

17 Mar 17:53
29f9e24
Compare
Choose a tag to compare

From @jecisc :
This allows Metacello to better know the current version of the github project and not reload it when the right version is already in the image.
On a project with a lot of dependencies, it tries to load Mocketry around 40 times because this support is not there I think. Because I have multiple projects depending on Mocketry and for each project transitively depending on it, it tries to load it...

Ghost updated for Pharo 8/9 compatibility

20 Feb 22:40
103de74
Compare
Choose a tag to compare
v4.0.1

Update Ghost for Pharo 8/9 compatibility

New should expression #takeAWhile

24 Sep 21:28
fa74e69
Compare
Choose a tag to compare

New expressions are implemented to support future state validation which requires some time to be satisfying the given spec:

[var := #result] fork.
[var] should takeAWhile to be: #result.
([var] should take: 10 seconds) to be: #result.

It is supposed to simplify testing the result of some asynchronous logic. Normally it is better to organize real synchronization in the test but it is not always possible to do. In such cases there is only way to wait required state for a while.
#takeAWhile expression implements this approach in reusable form. It periodically checks the required state in the loop and fails if it does not match after given amount of time (by default 200 milliseconds).

Block here ([var]) is required to verify the static values. But it is not needed when you want to check the internal state:

array := OrderedCollection new.
[array add: #value] fork.
array should takeAWhile to include: #value

To implement this feature the should expression machinery was refactored. And as result all kind of should expressions support the #takeAWhile option. For example now Mocketry allows to check that object will receive the given message after some time:

[mock someMessage] fork.
mock should takeAWhile to receive someMessage

Tonel migration

08 Jul 23:03
ba1a27a
Compare
Choose a tag to compare
v3.0.0

Remove Pharo 6 from CI

Better printing for specs and CI for Pharo 8

04 May 10:55
1a32a02
Compare
Choose a tag to compare
  • fix for printing object property
  • tests for object property
  • CI for Pharo 8

Better failure validation logic

19 Mar 22:36
43c0fb2
Compare
Choose a tag to compare
  1. Keep signaled exception instance during SpecOfBlockFailure validation:
error := [ self error: 'some error' ] should raise: Error.
error should beInstanceOf: Error.
error where description should includeSubstring: 'some'
  1. Fix the rule "minimum restrictions by default" for failure validation:
[1 / 0] should raise: Error "is now passed"

If concrete error is expected it should be explicitly written using spec:

[1 / 0] should raise: (Instance of: Error) "will fail"

Resumable SpecOfFailed

01 Sep 16:30
5f011d1
Compare
Choose a tag to compare

Now SpecOfFailed error can be resumed which returns actual validation failure:

[1 should be: 2] on: SpecOfFailed do: #resume 
"==> a SpecOfValidationFailure(Got ""1"" but it should be ""2"")"