|
This channel is intended for people just starting with the Raku Programming Language (raku.org). Logs are available at irclogs.raku.org/raku-beginner/live.html Set by lizmat on 8 June 2022. |
|||
|
01:10
Kaipei joined
01:12
Kaiepi left
01:59
deadmarshal left
02:25
deadmarshal joined
10:48
frost joined
12:05
Guest86 joined
12:10
frost left
12:55
Guest86 left
14:00
discord-raku-bot left
14:01
discord-raku-bot joined
14:03
discord-raku-bot left,
discord-raku-bot joined
14:41
discord-raku-bot left,
discord-raku-bot joined
15:59
discord-raku-bot left,
discord-raku-bot joined
19:16
deoac joined
|
|||
| deoac | How can I use regexs when calling Test subroutines? | 19:17 | |
| use Test; | |||
| throws-like({ say 42[2] }, X::OutOfRange, message => /Index out of range .*/); | |||
| gives this result | |||
| not ok 3 - .message matches /Index out of range .*/ | 19:18 | ||
| not ok 1 - did we throws-like X::OutOfRange? | |||
| # Failed test '.message matches /Index out of range .*/' | |||
| # at SETTING::src/core.c/Any-iterable-methods.pm6 line 563 | |||
| # Expected: /Index out of range .*/ | |||
| # Got: Index out of range. Is: 2, should be in 0..0 | |||
| # You failed 1 test of 3 | |||
|
19:18
deoac left,
deoac joined
|
|||
| lizmat | m: CATCH { dd .^name }; 42[2] | 19:33 | |
| camelia | ( no output ) | ||
| lizmat | m: CATCH { dd .^name }; say 42[2] | ||
| camelia | "X::OutOfRange" Index out of range. Is: 2, should be in 0..0 in block <unit> at <tmp> line 1 |
||
| CIAvash | deoac: spaces are not significant: `/'Index out of range' .*/` | ||
| use quotes | 19:34 | ||
|
19:42
deoac2 joined
19:44
deoac2 left,
deoac17 joined
19:45
deoac17 left
|
|||
| deoac | How do I specify the :message() parameter so that | 19:48 | |
| the #Expected: and #Got: match? | |||
| I tried assigning a regex to :message(), but the Test module treats it like a literal string. | 19:49 | ||
| # Expected: /Index out of range .*/ | |||
| # Got: Index out of range. Is: 2, should be in 0..0 | |||
| CIAvash | use... (full message at libera.ems.host/_matrix/media/r0/d...cb8f64612) | 19:57 | |
| Nemokosch | what could it be? 👀 | 20:07 | |
| oh makes sense | |||
| the thing to remember is that regex literals aren't sensitive to whitespace | 20:09 | ||
| if you want to match literal strings, it's generally a good idea to quote them inside the regex | |||
| even if they aren't special characters or there is no whitespace involved imo | |||
| but here, whitespace involved: go for the quoting | |||
| deoac | Ahh, got it. Thanks | 20:12 | |
|
21:45
avuserow left
|
|||
| deoac | use Test; | 22:15 | |
| sub foo { print ' bar '; }; | |||
| l. ives-ok {foo}, 'foo() runs correctly'; | |||
| is foo(), 'bar '; | |||
| Outputs: | |||
| ->bar<- ok 1 - foo() runs correctly | |||
| ->bar<- not ok 2 - | |||
| # Failed test at scratch.raku line 7 | |||
| # expected: 'bar' | |||
| # got: 'True' | |||
| How can I test that foo() printed correctly? | |||
| guifa | You can set $*OUT to something else, and capture the printed output | 22:21 | |
|
22:53
deoac left
22:55
deoac joined
|
|||