Properly handle BOMs at the beginning of the file
[p5sagit/Module-Metadata.git] / t / encoding.t
diff --git a/t/encoding.t b/t/encoding.t
new file mode 100644 (file)
index 0000000..a0970e0
--- /dev/null
@@ -0,0 +1,30 @@
+#!perl
+
+use strict;
+use File::Spec;
+use Test::More;
+
+use Module::Metadata;
+
+if ("$]" < 5.008_003) {
+  plan skip_all => 'Encoding test needs at least perl 5.8.3';
+}
+
+my %versions = (
+ UTF8    => 3,
+ UTF16BE => 4,
+ UTF16LE => 5,
+);
+
+plan tests => 4 * scalar(keys %versions);
+
+for my $enc (sort keys %versions) {
+  my $pkg  = "BOMTest::$enc";
+  my $vers = $versions{$enc};
+  my $pm   = File::Spec->catfile(qw<t lib BOMTest> => "$enc.pm");
+  my $info = Module::Metadata->new_from_file($pm);
+  is( $info->name, $pkg, "$enc: default package was found" );
+  is( $info->version, $vers, "$enc: version for default package" );
+  is( $info->version('Heart'), '1', 'version for ASCII package' );
+  is( $info->version("C\x{153}ur"), '2', 'version for Unicode package' );
+}