005whitespace.t 2.25 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code are the Bugzilla tests.
#
# The Initial Developer of the Original Code is Jacob Steenhagen.
# Portions created by Jacob Steenhagen are
# Copyright (C) 2001 Jacob Steenhagen. All
# Rights Reserved.
#
20
# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
21
#                 David D. Kilzer <ddkilzer@kilzer.net>
22 23
#                 Colin Ogilvie <mozilla@colinogilvie.co.uk>
#                 Marc Schumann <wurblzap@gmail.com>
24
#
25 26

#################
27
#Bugzilla Test 5#
28 29
#####no_tabs#####

30 31
use strict;

32 33 34 35 36
use lib 't';

use Support::Files;
use Support::Templates;

37
use File::Spec;
38
use Test::More tests => (  scalar(@Support::Files::testitems)
39
                         + $Support::Templates::num_actual_files) * 3;
40

41
my @testitems = @Support::Files::testitems;
42 43 44 45
for my $path (@Support::Templates::include_paths) {
   push(@testitems, map(File::Spec->catfile($path, $_),
                        Support::Templates::find_actual_files($path)));
}
46

47 48
my %results;

49 50
foreach my $file (@testitems) {
    open (FILE, "$file");
51 52
    my @contents = <FILE>;
    if (grep /\t/, @contents) {
53 54 55 56
        ok(0, "$file contains tabs --WARNING");
    } else {
        ok(1, "$file has no tabs");
    }
57
    close (FILE);
58 59
}

60 61 62 63 64 65 66 67 68 69 70
foreach my $file (@testitems) {
    open (FILE, "$file");
    my @contents = <FILE>;
    if (grep /\r/, @contents) {
        ok(0, "$file contains non-OS-conformant line endings --WARNING");
    } else {
        ok(1, "All line endings of $file are OS conformant");
    }
    close (FILE);
}

71 72 73 74 75 76 77 78 79 80 81
foreach my $file (@testitems) {
    open (FILE, "$file");
    my $first_line = <FILE>;
    if ($first_line =~ /\xef\xbb\xbf/) {
        ok(0, "$file contains Byte Order Mark --WARNING");
    } else {
        ok(1, "$file is free of a Byte Order Mark");
    }
    close (FILE);
}

82
exit 0;