Added POD tests and a Perl::Critic test
[nasm/perl-rewrite.git] / perl / t / version / h.t
blob9d0c088cc378a30de1400e716a926e49c0321049
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
5 use lib qw't perl/t ..';
6 use version::input;
8 our %test = load(
9 filter => [qw' major minor subminor patchlevel xid snapshot'],
10 map =>{
11 version => sub{'"'.$_[1].'"'}
15 use Test::More;
16 plan( tests => scalar keys %test );
19 my %map = (
20 mangled_ver => 'mangled',
21 version_id => 'xid',
22 ver => 'version',
23 major_ver => 'major',
24 minor_ver => 'minor',
25 subminor_ver => 'subminor',
26 patchlevel_ver => 'patchlevel'
29 for my $test ( sort keys %test ){
30 my $expected = $test{$test};
31 my $returned = `echo $test | perl version.pl h`;
33 my %got;
34 # skip
35 $returned =~ m/#define NASM_VERSION_H\n/gc;
36 while( $returned =~ m{
37 \G\s*
38 [#] define \s+ NASM_(\w+)\s+(.+?)\n
39 }xgcs
41 $got{lc $1} = $2;
44 for my $key ( keys %map ){
45 if( defined $got{$key} ){
46 my $value = $map{$key};
47 $got{$value} = $got{$key} if defined $value;
48 delete $got{$key};
52 is_deeply(\%got,$expected,$test);
54 __END__
55 #ifndef NASM_VERSION_H
56 #define NASM_VERSION_H
57 #define NASM_MAJOR_VER 2
58 #define NASM_MINOR_VER 5
59 #define NASM_SUBMINOR_VER 99
60 #define NASM_PATCHLEVEL_VER 100
61 #define NASM_VERSION_ID 0x02056364
62 #define NASM_VER "2.06rc10"
63 #endif /* NASM_VERSION_H */