diff options
Diffstat (limited to 't/maint/bom.t')
-rw-r--r-- | t/maint/bom.t | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/t/maint/bom.t b/t/maint/bom.t new file mode 100644 index 00000000..b5e6ae98 --- /dev/null +++ b/t/maint/bom.t @@ -0,0 +1,38 @@ +#!/usr/bin/env perl +# +# This test detect Byte Order Mark (BOM). The char is sometime included at the +# top of files by some text editors to mark them as being UTF-8 encoded. +# They are not stripped by php 5.x and appear at the beginning of our content, +# You want them removed! +# See: +# http://www.fileformat.info/info/unicode/char/feff/index.htm +# http://bugzilla.wikimedia.org/show_bug.cgi?id=9954 + +use strict; +use warnings; + +use Test::More; + +use File::Find; + +# Files for wich we want to check the BOM char ( 0xFE 0XFF ) +my $ext = qr/(?:php|inc)/x ; + +my $bomchar = qr/\xef\xbb\xbf/ ; + +my @files; + +find( sub{ push @files, $File::Find::name if -f && /\.$ext$/ }, '.' ); + +# Register our files with the test system +plan tests => scalar @files ; + +for my $file (@files) { + open my $fh, "<", $file or die "Couln't open $file: $!"; + my $line = <$fh>; + if( $line =~ /$bomchar/ ) { + fail "$file has a Byte Order Mark at line $."; + } else { + pass "$file has no Byte Order Mark!"; + } +} |