From 281408b4852ae74af28ecc8f1c03457c766136b8 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Sun, 8 Jul 2018 17:37:25 +0200 Subject: Initial release --- t/simple-blocks.t | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 t/simple-blocks.t (limited to 't/simple-blocks.t') diff --git a/t/simple-blocks.t b/t/simple-blocks.t new file mode 100644 index 0000000..b52e721 --- /dev/null +++ b/t/simple-blocks.t @@ -0,0 +1,70 @@ +#! /usr/bin/env perl6 + +use v6.c; + +use String::Fold; +use Test; + +plan 5; + +subtest "Empty string" => { + plan 1; + + my Str $result = fold(""); + + is $result, "", "Empty string returns another empty string"; +} + +subtest "Single short line" => { + plan 1; + + my $result = slurp("t/files/input/single-short-line.txt").trim.&fold; + + is $result, slurp("t/files/output/single-short-line.txt").trim, "Short line returns the same short line"; +} + +subtest "Single long line" => { + plan 1; + + my $result = slurp("t/files/input/single-long-line.txt").trim.&fold(); + my @expected-lines = slurp("t/files/output/single-long-line.txt").trim.lines; + my @result-lines = $result.lines; + + plan 1 + @expected-lines.elems; + + is @result-lines.elems, @expected-lines.elems, "Expected {@result-lines.elems} lines"; + + for ^@expected-lines { + is @result-lines[$_], @expected-lines[$_], "Line {$_ + 1} is correct"; + } +} + +subtest "Multiple short lines" => { + my $result = slurp("t/files/input/multiple-short-lines.txt").trim.&fold(); + my @expected-lines = slurp("t/files/output/multiple-short-lines.txt").trim.lines; + my @result-lines = $result.lines; + + plan 1 + @expected-lines.elems; + + is @result-lines.elems, @expected-lines.elems, "Expected {@result-lines.elems} lines"; + + for ^@expected-lines { + is @result-lines[$_], @expected-lines[$_], "Line {$_ + 1} is correct"; + } +} + +subtest "Multiple long lines" => { + my $result = slurp("t/files/input/multiple-long-lines.txt").trim.&fold(); + my @expected-lines = slurp("t/files/output/multiple-long-lines.txt").trim.lines; + my @result-lines = $result.lines; + + plan 1 + @expected-lines.elems; + + is @result-lines.elems, @expected-lines.elems, "Expected {@result-lines.elems} lines"; + + for ^@expected-lines { + is @result-lines[$_], @expected-lines[$_], "Line {$_ + 1} is correct"; + } +} + +# vim: ft=perl6 noet -- cgit v1.1