summaryrefslogtreecommitdiff
path: root/js/src/tests/mkhtml.pl
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/mkhtml.pl')
-rw-r--r--js/src/tests/mkhtml.pl84
1 files changed, 84 insertions, 0 deletions
diff --git a/js/src/tests/mkhtml.pl b/js/src/tests/mkhtml.pl
new file mode 100644
index 0000000..99cb2c5
--- /dev/null
+++ b/js/src/tests/mkhtml.pl
@@ -0,0 +1,84 @@
+#!/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;
+}
+