Thread overview
Pijamas, a simple fluent assertation library (forked from Pyjamas)
May 15, 2020
Luis
May 15, 2020
Dmitry Olshansky
May 15, 2020
Luis
May 15, 2020
welkam
May 15, 2020
Mario Kröplin
May 15, 2020
On my run to raise stuff from dead packages, I come with Pijamas. A fork from Yamadacpc’s Pyjamas that works with D frontend 2.090 and forwards.

https://zardoz89.github.io/pijamas/


v0.2.2-beta

Versions v0.2.x must keep being source compatible with Pyjamas.

* Update to DLang frontend 2.090
* Autogeneration of GH Pages with documentation
* Rewrite tests to use Silly
* Fixed false positives with should.exists . The old approach to see if is convertible to null, wasn't working.
* Fixed .match(ctRegex) . Now mimics how std.regex : match handles it
* Improved the test battery to detect false positives.
* Documenting the source code, so ddoc can generate the documentation.

I think that v0.2.2 could be released as not beta version, but I keep confused about why Windows LDC 32 bit version keep failing when tries to build&execute the tests...


On my TODOs list for v0.3 I have :

* Rename module to pijamas
* Add .empty that it's equivalent to .length(0)
* Handle range.should.be.equal([1, 2, 3])
* Test if a .instanceOf could be posible
* See if (throwing expression).should.Throw!Exception could be done, and avoid passing a pointer to a function like actually does. In other words, work like assertThorow!Exception(expression)
* Try to hide Assertation class (Volvemort class perhaps?) and get out the public methods to avoid Assertation spaming on autogenerated documentation.
May 15, 2020
On Friday, 15 May 2020 at 12:35:27 UTC, Luis wrote:
> On my run to raise stuff from dead packages, I come with Pijamas. A fork from Yamadacpc’s Pyjamas that works with D frontend 2.090 and forwards.
>
> [...]

I was about to ask what is broken with ctRegex (well except that compiler usually explodes trying to swallow it)
>
> [...]

May 15, 2020
On Friday, 15 May 2020 at 14:42:47 UTC, Dmitry Olshansky wrote:
> On Friday, 15 May 2020 at 12:35:27 UTC, Luis wrote:
>> On my run to raise stuff from dead packages, I come with Pijamas. A fork from Yamadacpc’s Pyjamas that works with D frontend 2.090 and forwards.
>>
>> [...]
>
> I was about to ask what is broken with ctRegex (well except that compiler usually explodes trying to swallow it)
>>
>> [...]

Indeed. Was this error :

dub test
Generating test runner configuration 'pyjamas-test-unittest' for 'unittest' (library).
Performing "unittest" build using /usr/bin/dmd for x86_64.
pyjamas 0.2.1+commit.20.g765cd5c: building configuration "pyjamas-test-unittest"...
tests/pyjamas_spec.d(154,22): Error: template pyjamas.Assertion!string.Assertion.match cannot deduce function from argument types !()(CTRegexWrapper!char), candidates are:
source/pyjamas.d(273,10):        match(RegEx)(RegEx re, string file = __FILE__, size_t line = __LINE__)
  with RegEx = CTRegexWrapper!char
  must satisfy one of the following constraints:
       is(RegEx == RegexOfT)
       is(RegEx == StaticRegexOfT)
       isSomeString!RegEx
tests/pyjamas_spec.d(155,45): Error: template pyjamas.Assertion!string.Assertion.match cannot deduce function from argument types !()(CTRegexWrapper!char), candidates are:
source/pyjamas.d(273,10):        match(RegEx)(RegEx re, string file = __FILE__, size_t line = __LINE__)
  with RegEx = CTRegexWrapper!char
  must satisfy one of the following constraints:
       is(RegEx == RegexOfT)
       is(RegEx == StaticRegexOfT)
       isSomeString!RegEx
/usr/bin/dmd failed with exit code 1.

May 15, 2020
On Friday, 15 May 2020 at 14:42:47 UTC, Dmitry Olshansky wrote:
> compiler usually explodes trying to swallow it

https://media.giphy.com/media/tfxgAK370HzEY/giphy.gif
May 15, 2020
.empty and .throw are not that difficult:
see https://code.dlang.org/packages/dshould

On Friday, 15 May 2020 at 12:35:27 UTC, Luis wrote:
> On my TODOs list for v0.3 I have :
>
> * Rename module to pijamas
> * Add .empty that it's equivalent to .length(0)
> * Handle range.should.be.equal([1, 2, 3])
> * Test if a .instanceOf could be posible
> * See if (throwing expression).should.Throw!Exception could be done, and avoid passing a pointer to a function like actually does. In other words, work like assertThorow!Exception(expression)
> * Try to hide Assertation class (Volvemort class perhaps?) and get out the public methods to avoid Assertation spaming on autogenerated documentation.