summaryrefslogtreecommitdiffstats
path: root/testing/mochitest/gen_template.pl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mochitest/gen_template.pl')
-rw-r--r--testing/mochitest/gen_template.pl42
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/mochitest/gen_template.pl b/testing/mochitest/gen_template.pl
new file mode 100644
index 000000000..5212d5e82
--- /dev/null
+++ b/testing/mochitest/gen_template.pl
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+
+# This script makes mochitest test case templates. See
+# https://developer.mozilla.org/en-US/docs/Mochitest#Test_templates
+#
+# It takes two arguments:
+#
+# -b: a bugnumber
+# -type: template type. One of {plain|xhtml|xul|th|chrome|chromexul}.
+# Defaults to th (testharness.js).
+#
+# For example, this command:
+#
+# perl gen_template.pl -b 345876 -type xul
+#
+# writes a XUL test case template for bug 345876 to stdout.
+
+use FindBin;
+use Getopt::Long;
+GetOptions("b=i"=> \$bug_number,
+ "type:s"=> \$template_type);
+
+if ($template_type eq "xul") {
+ $template_type = "$FindBin::RealBin/static/xul.template.txt";
+} elsif ($template_type eq "xhtml") {
+ $template_type = "$FindBin::RealBin/static/xhtml.template.txt";
+} elsif ($template_type eq "chrome") {
+ $template_type = "$FindBin::RealBin/static/chrome.template.txt";
+} elsif ($template_type eq "chromexul") {
+ $template_type = "$FindBin::RealBin/static/chromexul.template.txt";
+} elsif ($template_type eq "plain") {
+ $template_type = "$FindBin::RealBin/static/test.template.txt";
+} else {
+ $template_type = "$FindBin::RealBin/static/th.template.txt";
+}
+
+open(IN,$template_type) or die("Failed to open myfile for reading.");
+while((defined(IN)) && ($line = <IN>)) {
+ $line =~ s/{BUGNUMBER}/$bug_number/g;
+ print STDOUT $line;
+}
+close(IN);