diff options
Diffstat (limited to 't/locus.t')
-rw-r--r-- | t/locus.t | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/t/locus.t b/t/locus.t new file mode 100644 index 0000000..a08280b --- /dev/null +++ b/t/locus.t @@ -0,0 +1,34 @@ +# -*- perl -*- +use strict; +use Test; +use App::Beam::Config::Locus; + +plan(tests => 7); + +my $loc = new App::Beam::Config::Locus; +$loc->add('foo', 10); +ok($loc->format, "foo:10"); + +$loc->add('foo', 11); +$loc->add('foo', 12); +$loc->add('foo', 13); +ok($loc->format, "foo:10-13"); + +$loc->add('foo', 24); +$loc->add('foo', 28); +ok($loc->format, "foo:10-13,24,28"); + +$loc->add('bar', 1); +$loc->add('baz', 8); +$loc->add('baz', 9); +$loc->add('bar', 5); +ok($loc->format, "foo:10-13,24,28;bar:1,5;baz:8-9"); + +$loc->fixup_names('foo' => 'Foo', 'bar' => 'BAR'); +ok($loc->format, "Foo:10-13,24,28;BAR:1,5;baz:8-9"); + +$loc->fixup_lines('Foo' => -1, 'baz' => 2); +ok($loc->format, "Foo:9-12,23,27;BAR:1,5;baz:10-11"); + +$loc->fixup_lines(3); +ok($loc->format, "Foo:12-15,26,30;BAR:4,8;baz:13-14"); |