зеркало из https://github.com/mozilla/pjs.git
85 строки
2.5 KiB
Perl
85 строки
2.5 KiB
Perl
#!/ns/tools/bin/perl5
|
|
|
|
# mkhtml.pl cruises through your $MOZ_SRC/mozilla/js/tests/ subdirectories,
|
|
# and for any .js file it finds, creates an HTML file that includes:
|
|
# $MOZ_SRC/mozilla/js/tests/$suite/shell.js, $
|
|
# MOZ_SRC/mozilla/js/tests/$suite/browser.js,
|
|
# and the test.js file.
|
|
#
|
|
#
|
|
|
|
$moz_src = $ENV{"MOZ_SRC"} ||
|
|
die ("You need to set your MOZ_SRC environment variable.\n");
|
|
|
|
$test_home = $moz_src ."/js/tests/";
|
|
|
|
opendir (TEST_HOME, $test_home);
|
|
@__suites = readdir (TEST_HOME);
|
|
closedir TEST_HOME;
|
|
|
|
foreach (@__suites ) {
|
|
if ( -d $_ && $_ !~ /\./ && $_ !~ 'CVS' ) {
|
|
$suites[$#suites+1] = $_;
|
|
}
|
|
}
|
|
if ( ! $ARGV[0] ) {
|
|
die ( "Specify a directory: ". join(" ", @suites) ."\n" );
|
|
}
|
|
|
|
$js_test_dir = $moz_src . "/js/tests/" . $ARGV[0] ."/";
|
|
|
|
print "Generating html files for the tests in $js_test_dir\n";
|
|
|
|
$shell_js = $js_test_dir . "shell.js";
|
|
$browser_js = $js_test_dir . "browser.js";
|
|
|
|
# cd to the test directory
|
|
chdir $js_test_dir ||
|
|
die "Couldn't chdir to js_test_dir, which is $js_test_dir\n";
|
|
|
|
print ( "js_test_dir is $js_test_dir\n" );
|
|
|
|
# read the test directory
|
|
opendir ( JS_TEST_DIR, $js_test_dir );
|
|
# || die "Couldn't open js_test_dir, which is $js_test_dir\n";
|
|
@js_test_dir_items = readdir( JS_TEST_DIR );
|
|
# || die "Couldn't read js_test_dir, which is $js_test_dir\n";
|
|
closedir( JS_TEST_DIR );
|
|
|
|
print ("The js_test_dir_items are: " . join( ",", @js_test_dir_items ) . "\n");
|
|
|
|
# figure out which of the items are directories
|
|
foreach $js_test_subdir ( @js_test_dir_items ) {
|
|
if ( -d $js_test_subdir ) {
|
|
|
|
$js_test_subdir = $js_test_dir ."/" . $js_test_subdir;
|
|
chdir $js_test_subdir
|
|
|| die "Couldn't chdir to js_test_subdir $js_test_subdir\n";
|
|
print "Just chdir'd to $js_test_subdir \n";
|
|
|
|
opendir( JS_TEST_SUBDIR, $js_test_subdir );
|
|
@subdir_tests = readdir( JS_TEST_SUBDIR );
|
|
closedir( JS_TEST_SUBDIR );
|
|
|
|
foreach ( @subdir_tests ) {
|
|
$js_test = $_;
|
|
|
|
if ( $_ =~ /\.js$/ ) {
|
|
s/\.js$/\.html/;
|
|
print $_ ."\n";
|
|
open( HTML_TEST, "> $_")
|
|
|| die "Can't open html file $test_html\n";
|
|
print HTML_TEST
|
|
'<script src=./../shell.js></script>';
|
|
print HTML_TEST
|
|
'<script src=./../browser.js></script>';
|
|
print HTML_TEST
|
|
'<script src=./' . $js_test. '></script>';
|
|
close HTML_TEST;
|
|
}
|
|
}
|
|
}
|
|
chdir $js_test_dir;
|
|
}
|
|
|