aboutsummaryrefslogtreecommitdiff
path: root/t/locus.t
diff options
context:
space:
mode:
Diffstat (limited to 't/locus.t')
-rw-r--r--t/locus.t34
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");

Return to:

Send suggestions and report system problems to the System administrator.