1use strict;
2use warnings;
3use Test::More 0.88;
4require './t/TestUtils.pm';
5t::TestUtils->import();
6
7# Test OO interface
8
9SKIP: {
10  skip_interactive();
11
12  use blib;
13  require IO::Pager;
14  require IO::Pager::Buffered;
15  {
16#   my $BOB = new IO::Pager::Buffered or die "Failed to create PAGER FH $!";
17    my $BOB = new IO::Pager local *STDOUT, 'Buffered' or die "Failed to create PAGER FH $!";
18
19    isa_ok $BOB, 'IO::Pager::Buffered';
20
21    $BOB->print("OO factory filehandle\n") foreach 1..25;
22    $BOB->print("\nEnd of text, try pressing 'Q' to exit.\n");
23  }
24
25  select STDERR;
26  my $A1 = prompt("\nDid you see 'OO factory filehandle' in your pager? [Yn]");
27  ok is_yes($A1), 'OO, factory instantiation';
28
29  require IO::Pager::Unbuffered;
30
31  {
32    my $BOB = new IO::Pager::Unbuffered or die "Failed to create PAGER FH $!";
33
34    isa_ok $BOB, 'IO::Pager::Unbuffered';
35
36    $BOB->say("OO subclass filehandle") foreach 1..25;
37    $BOB->say("\nEnd of text, try pressing 'Q' to exit.");
38    #XXX Close required because pager is not terminated on DESTROY
39    $BOB->close();
40  }
41
42  my $A2 = prompt("\nDid you see 'OO subclass filehandle' in your pager? [Yn]");
43  ok is_yes($A2), 'OO, subclass instantiation';
44}
45
46done_testing;
47