geoff 2003/10/02 07:32:55
Modified: t/apache constants.t
Log:
tidy up the test a bit. use t_cmp, print debug statements, etc...
Revision Changes Path
1.8 +55 -20 modperl-2.0/t/apache/constants.t
Index: constants.t
===================================================================
RCS file: /home/cvs/modperl-2.0/t/apache/constants.t,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- constants.t 1 Oct 2003 20:03:11 -0000 1.7
+++ constants.t 2 Oct 2003 14:32:54 -0000 1.8
@@ -2,41 +2,76 @@
use strict;
use warnings FATAL => 'all';
-use Test;
+use Apache::Test;
+use Apache::TestUtil;
use Apache2 ();
-use Apache::Const -compile => qw(DECLINED :http :common TAKE23 &OPT_EXECCGI
- DECLINE_CMD DIR_MAGIC_TYPE CRLF);
-use Apache::Const; #defaults to :common
+
+# -compile puts constants into the Apache:: namespace
+use Apache::Const -compile => qw(:http :common
+ TAKE23 &OPT_EXECCGI
+ DECLINE_CMD DIR_MAGIC_TYPE
+ CRLF);
+
+# without -compile, constants are in the
+# caller namespace. also defaults to :common
+use Apache::Const;
plan tests => 16;
-ok REDIRECT == 302;
-ok AUTH_REQUIRED == 401;
-ok OK == 0;
-ok Apache::OK == 0;
-ok Apache::DECLINED == -1;
-ok Apache::HTTP_GONE == 410;
-ok Apache::OPT_EXECCGI;
+ok t_cmp(302, REDIRECT, 'REDIRECT');
+
+ok t_cmp(401, AUTH_REQUIRED, 'AUTH_REQUIRED');
+
+ok t_cmp(0, OK, 'OK');
+
+ok t_cmp(0, Apache::OK, 'Apache::OK');
+
+ok t_cmp(-1, Apache::DECLINED, 'Apache::DECLINED');
+
+ok t_cmp(410, Apache::HTTP_GONE, 'Apache::HTTP_GONE');
+
+ok t_cmp('httpd/unix-directory',
+ Apache::DIR_MAGIC_TYPE,
+ 'Apache::DIR_MAGIC_TYPE');
+
+# the rest of the tests don't fit into the t_cmp() meme
+# for one reason or anothre...
+
+print "testing Apache::OPT_EXECCGI is defined\n";
+ok defined Apache::OPT_EXECCGI;
+
+print "testing Apache::DECLINE_CMD\n";
ok Apache::DECLINE_CMD eq "\x07\x08";
-ok Apache::DIR_MAGIC_TYPE eq "httpd/unix-directory";
-# will fail on EBCDIC
-# kudos to mod_perl if someone actually reports it
-ok Apache::CRLF eq "\015\012";
+# try and weed out EBCDIC - this is the test httpd uses
+if (chr(0xC1) eq 'A') {
+ print "testing Apache::CRLF (EBCDIC)\n";
+ ok Apache::CRLF eq "\r\n";
+}
+else {
+ print "testing Apache::CRLF (ASCII)\n";
+ ok Apache::CRLF eq "\015\012";
+
+}
+
+print "testing M_GET not yet defined\n";
ok ! defined &M_GET;
+
Apache::Const->import('M_GET');
+
+print "testing M_GET now defined\n";
ok defined &M_GET;
-for (qw(BOGUS :bogus)) {
+for (qw(BOGUS :bogus -foobar)) {
+
eval { Apache::Const->import($_) };
+
+ print "testing bogus import $_\n";
ok $@;
}
-eval { Apache::Const->import('-foobar') };
-
-ok $@;
-
+print "testing explicit call to compile()\n";
eval { Apache::Const::compile() };
ok $@;