Convert more to DebugWrap.
authorShlomi Fish <shlomif@shlomifish.org>
Thu, 13 Sep 2012 11:26:55 +0000 (14:26 +0300)
committerRicardo Signes <rjbs@cpan.org>
Mon, 12 Nov 2012 14:18:22 +0000 (09:18 -0500)
lib/perl5db.t

index 1b21f0f..89a3f28 100644 (file)
@@ -94,7 +94,6 @@ EOF
     like($output, "All tests successful.", "[perl #66110]");
 }
 
-# [perl 104168] level option for tracing
 {
     rc(<<'EOF');
 &parse_options("NonStop=0 TTY=db.out LineInfo=db.out");
@@ -108,11 +107,6 @@ sub afterinit {
 
 }
 EOF
-
-    my $output = runperl(switches => [ '-d' ], stderr => 1, progfile => '../lib/perl5db/t/rt-104168');
-    my $contents = _out_contents();
-    like($contents, qr/level 2/, "[perl #104168]");
-    unlike($contents, qr/baz/, "[perl #104168]");
 }
 
 # taint tests
@@ -488,6 +482,33 @@ SKIP:
     $wrapper->contents_unlike(qr/INCORRECT/, "[perl #61222]");
 }
 
+sub _calc_foo_wrapper
+{
+    my $args = shift;
+
+    my $extra_opts = delete($args->{extra_opts});
+    $extra_opts ||= '';
+    local $ENV{PERLDB_OPTS} = "ReadLine=0" . $extra_opts;
+    return DebugWrap->new(
+        {
+            cmds =>
+            [
+                't 2',
+                'c',
+                'q',
+            ],
+            prog => delete($args->{prog}),
+            %$args,
+        }
+    );
+}
+
+# [perl 104168] level option for tracing
+{
+    my $wrapper = _calc_foo_wrapper({ prog =>  '../lib/perl5db/t/rt-104168' });
+    $wrapper->contents_like(qr/level 2/, "[perl #104168] - level 2 appears");
+    $wrapper->contents_unlike(qr/baz/, "[perl #104168] - no 'baz'");
+}
 
 # Testing that we can set a line in the middle of the file.
 {