summaryrefslogtreecommitdiffstats
path: root/WebKitTools/Scripts/make-js-test-wrappers
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/Scripts/make-js-test-wrappers')
-rwxr-xr-xWebKitTools/Scripts/make-js-test-wrappers72
1 files changed, 64 insertions, 8 deletions
diff --git a/WebKitTools/Scripts/make-js-test-wrappers b/WebKitTools/Scripts/make-js-test-wrappers
index b58978f..4ac21ea 100755
--- a/WebKitTools/Scripts/make-js-test-wrappers
+++ b/WebKitTools/Scripts/make-js-test-wrappers
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
+# Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -29,23 +29,38 @@
# Script to generate HTML wrappers for JavaScript tests from templates
use strict;
+
use FindBin;
use lib $FindBin::Bin;
+
+use File::Basename;
+use File::Find;
+use Getopt::Long;
use webkitdirs;
+sub directoryFilter;
+sub findTemplateFiles(@);
+
+my $showHelp;
+
+my $result = GetOptions(
+ "help" => \$showHelp,
+);
+
+if (!$result || $showHelp) {
+ print STDERR basename($0) . " [-h|--help] [path ...]\n";
+ exit 1;
+}
+
setConfiguration();
my $productDir = productDir();
-use strict;
-
chdirWebKit();
-my @templates = `find LayoutTests -name "TEMPLATE.html"`;
+my @templates = findTemplateFiles(@ARGV);
for my $tfile (@templates) {
- chomp $tfile;
-
my $tpath = $tfile;
$tpath =~ s:/resources/TEMPLATE.html$::;
@@ -54,7 +69,11 @@ for my $tfile (@templates) {
chdirWebKit();
chdir($tpath);
- my @files = `find resources -name "*.js"`;
+ my @files;
+ my $fileFilter = sub {
+ push @files, $File::Find::name if substr($_, -3) eq ".js";
+ };
+ find({ preprocess => \&directoryFilter, wanted => $fileFilter }, "resources");
open TEMPLATE, "<resources/TEMPLATE.html";
my $template = do { local $/; <TEMPLATE> };
@@ -68,19 +87,31 @@ for my $tfile (@templates) {
}
for my $file (@files) {
- chomp $file;
next if $file =~ /js-test-.*\.js$/;
next if $file =~ /SVGTestCase\.js/;
+
+ next if $file =~ m:resources/NSResolver-exceptions\.js$:;
next if $file =~ m:resources/attr-case-sensitivity\.js$:;
+ next if $file =~ m:resources/codegen-temporaries-multiple-global-blocks-1\.js$:;
+ next if $file =~ m:resources/codegen-temporaries-multiple-global-blocks-2\.js$:;
+ next if $file =~ m:resources/constructors-cached-navigate\.js$:;
next if $file =~ m:resources/frame-loading-via-document-write\.js$:;
+ next if $file =~ m:resources/id-fastpath-almost-strict\.js$:;
+ next if $file =~ m:resources/id-fastpath-strict\.js$:;
next if $file =~ m:resources/intersectsNode\.js$:;
+ next if $file =~ m:resources/p-in-scope\.js$:;
next if $file =~ m:resources/script-element-gc\.js$:;
next if $file =~ m:resources/script-element-gc\.js$:;
next if $file =~ m:resources/script3\.js$:;
next if $file =~ m:resources/script4\.js$:;
next if $file =~ m:resources/script5\.js$:;
next if $file =~ m:resources/select-options-remove\.js$:;
+ next if $file =~ m:resources/shadow-offset\.js$:;
+ next if $file =~ m:resources/tabindex-focus-blur-all\.js$:;
+ next if $file =~ m:resources/use-instanceRoot-event-bubbling\.js$:;
+ next if $file =~ m:resources/use-instanceRoot-event-listeners\.js$:;
next if $file =~ m:resources/wrapper-identity-base\.js$:;
+ next if $file =~ m:resources/xhtml-scripts\.js$:;
my $html = $file;
$html =~ s:resources/(.*)\.js:$1.html:;
@@ -101,3 +132,28 @@ for my $tfile (@templates) {
close HTML;
}
}
+
+exit 0;
+
+sub directoryFilter
+{
+ return () if basename($File::Find::dir) eq ".svn";
+ return @_;
+}
+
+sub findTemplateFiles(@) {
+ my @args = @_;
+ my @templateFiles;
+
+ push @args, "LayoutTests" if scalar(@args) == 0;
+
+ my @paths = map { -f $_ ? dirname($_) : $_ } @args;
+
+ my $fileFilter = sub {
+ push @templateFiles, $File::Find::name if $_ eq "TEMPLATE.html";
+ };
+
+ find({ preprocess => \&directoryFilter, wanted => $fileFilter }, @paths);
+
+ return @templateFiles;
+}