tracks/perl6/exercises/clock/clock.t in trackler-2.2.1.48 vs tracks/perl6/exercises/clock/clock.t in trackler-2.2.1.49
- old
+ new
@@ -5,13 +5,11 @@
use JSON::Fast;
my Str:D $exercise := 'Clock';
my Version:D $version = v1;
my Str $module //= $exercise;
-INIT {
- plan 54;
-}
+plan 54;
use-ok $module or bail-out;
require ::($module);
if ::($exercise).^ver !~~ $version {
@@ -48,12 +46,23 @@
}
todo 'optional test' unless %*ENV<EXERCISM>;
is ::($exercise).new(:0hour,:0minute).?add-minutes(65).?time, '01:05', 'add-minutes method can be chained';
-done-testing;
+unless %*ENV<EXERCISM> {
+ skip-rest 'exercism tests';
+ exit;
+}
+subtest 'canonical-data' => {
+ (my $c-data-file = "$dir/../../problem-specifications/exercises/{
+ $dir.IO.resolve.basename
+ }/canonical-data.json".IO.resolve) ~~ :f ??
+ is-deeply $c-data, EVAL('from-json $c-data-file.slurp'), 'match problem-specifications' !!
+ flunk 'problem-specifications file not found';
+}
+
INIT {
$c-data := from-json q:to/END/;
{
"exercise": "clock",
@@ -545,21 +554,7 @@
]
}
END
- if %*ENV<EXERCISM> {
- $module = 'Example';
- if (my $c-data-file =
- "$dir/../../problem-specifications/exercises/{$dir.IO.resolve.basename}/canonical-data.json"
- .IO.resolve) ~~ :f
- {
- is-deeply $c-data, EVAL('from-json $c-data-file.slurp'), 'canonical-data';
- }
- else {
- flunk 'canonical-data';
- }
- }
- else {
- skip;
- }
+ $module = 'Example' if %*ENV<EXERCISM>;
}