#!perl -w use strict; use FindBin; my $HOME = "$FindBin::Bin/.."; my $root_dir = "$HOME/xul-node/xul/jslib"; my $NS6_lib = "$root_dir/../NS6lib.js"; my $NS6_tests = "$root_dir/../NS6lib_tests.js"; join_files($NS6_lib, get_class_names()); join_files($NS6_tests, get_test_names()) if $ARGV[0]; sub join_files { my ($lib, $files) = @_; open G, ">$lib" or die "Can't open $lib: $!"; my $out = slurp_files(@$files); print G $out; close G; } sub slurp_files { my (@files) = @_; my $in = ""; foreach my $file (@files) { (my $fileName = "$root_dir/$file.js") =~ s|_|/|g; open F, $fileName or die "Can't open $fileName: $!"; $in .= "\n". join('', ). "\n"; close F; } return $in; } sub get_class_names {[qw( Util_BootStrap Client_ServerResponse Client_ServerProxy Client_Runner Client_Application )]} sub get_test_names {[ @{get_class_names()}, qw( Test_AssertionFailedError Test_Failure Test_Assert Test_Case Test_Result Test_Suite Test_Runner Test_tests_Assert Test_tests_Suite Test_tests_AllTests Util_tests_BootStrap Util_tests_AllTests Client_tests_ServerProxy Client_tests_AllTests AllTests )]}