From: Antoine Musso Date: Fri, 18 May 2007 19:17:21 +0000 (+0000) Subject: Test files for the Byte Order Mask (BOM) (see #9954) X-Git-Tag: 1.31.0-rc.0~52881 X-Git-Url: http://git.cyclocoop.org/data/%24self?a=commitdiff_plain;h=f844e541c80709d8ce147ff51737c4ff8e85f365;p=lhc%2Fweb%2Fwiklou.git Test files for the Byte Order Mask (BOM) (see #9954) --- diff --git a/t/maint/bom.t b/t/maint/bom.t new file mode 100644 index 0000000000..19d74e3b08 --- /dev/null +++ b/t/maint/bom.t @@ -0,0 +1,39 @@ +#!/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; +use File::Slurp qw< slurp >; + +# 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) { + my $content = slurp $file ; + if( $content =~ /$bomchar/ ) { + ok 0 => "$file got a Byte Order Mark"; + } else { + ok 1 => "$file BOM less"; + } +}