summaryrefslogtreecommitdiff
path: root/cpan/Test-Simple/t/diag.t
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-10-02 16:19:41 +0100
committerNicholas Clark <nick@ccl4.org>2009-10-02 16:19:41 +0100
commite0ee75a6976f08f9bc3868227f1cd11ab6507895 (patch)
tree5366acf520d51f2f3961274ced349a4178685be5 /cpan/Test-Simple/t/diag.t
parent8c5b8ff02c62badaeb38078556879720bdf8945a (diff)
downloadperl-e0ee75a6976f08f9bc3868227f1cd11ab6507895.tar.gz
Move Test::Simple from ext/ to cpan/
Diffstat (limited to 'cpan/Test-Simple/t/diag.t')
-rw-r--r--cpan/Test-Simple/t/diag.t81
1 files changed, 81 insertions, 0 deletions
diff --git a/cpan/Test-Simple/t/diag.t b/cpan/Test-Simple/t/diag.t
new file mode 100644
index 0000000000..f5cb437d54
--- /dev/null
+++ b/cpan/Test-Simple/t/diag.t
@@ -0,0 +1,81 @@
+#!perl -w
+
+BEGIN {
+ if( $ENV{PERL_CORE} ) {
+ chdir 't';
+ @INC = ('../lib', 'lib');
+ }
+ else {
+ unshift @INC, 't/lib';
+ }
+}
+
+
+# Turn on threads here, if available, since this test tends to find
+# lots of threading bugs.
+use Config;
+BEGIN {
+ if( $] >= 5.008001 && $Config{useithreads} ) {
+ require threads;
+ 'threads'->import;
+ }
+}
+
+
+use strict;
+
+use Test::Builder::NoOutput;
+use Test::More tests => 7;
+
+my $test = Test::Builder::NoOutput->create;
+
+# Test diag() goes to todo_output() in a todo test.
+{
+ $test->todo_start();
+
+ $test->diag("a single line");
+ is( $test->read('todo'), <<'DIAG', 'diag() with todo_output set' );
+# a single line
+DIAG
+
+ my $ret = $test->diag("multiple\n", "lines");
+ is( $test->read('todo'), <<'DIAG', ' multi line' );
+# multiple
+# lines
+DIAG
+ ok( !$ret, 'diag returns false' );
+
+ $test->todo_end();
+}
+
+
+# Test diagnostic formatting
+{
+ $test->diag("# foo");
+ is( $test->read('err'), "# # foo\n", "diag() adds # even if there's one already" );
+
+ $test->diag("foo\n\nbar");
+ is( $test->read('err'), <<'DIAG', " blank lines get escaped" );
+# foo
+#
+# bar
+DIAG
+
+ $test->diag("foo\n\nbar\n\n");
+ is( $test->read('err'), <<'DIAG', " even at the end" );
+# foo
+#
+# bar
+#
+DIAG
+}
+
+
+# [rt.cpan.org 8392] diag(@list) emulates print
+{
+ $test->diag(qw(one two));
+
+ is( $test->read('err'), <<'DIAG' );
+# onetwo
+DIAG
+}