1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
# $Id: 641-output-get-drop-view-sql.t,v 1.1 2009/02/23 07:36:17 aff Exp $
use warnings;
use strict;
use Data::Dumper;
use Test::More;
use Test::Exception;
use File::Spec::Functions;
use lib catdir qw ( blib lib );
plan tests => 13;
use lib q{lib};
use_ok ('Parse::Dia::SQL');
use_ok ('Parse::Dia::SQL::Output');
my $diasql = Parse::Dia::SQL->new( file => catfile(qw(t data TestERD.dia)), db => 'db2' );
isa_ok($diasql, q{Parse::Dia::SQL}, q{Expect a Parse::Dia::SQL object});
is($diasql->convert(), 1, q{Expect convert() to return 1});
my $classes = $diasql->get_classes_ref();
ok(defined($classes) && ref($classes) eq q{ARRAY} && scalar(@$classes), q{Non-empty array ref});
# 2. output
my $output = undef;
isa_ok($diasql, 'Parse::Dia::SQL');
lives_ok(sub { $output = $diasql->get_output_instance(); },
q{get_output_instance (db2) should not die});
isa_ok($output, 'Parse::Dia::SQL::Output')
or diag(Dumper($output));
isa_ok($output, 'Parse::Dia::SQL::Output::DB2')
or diag(Dumper($output));
can_ok($output, 'get_schema_drop');
my $drop_table = $output->get_view_drop();
#diag($drop_table);
like($drop_table, qr/.*drop \s+ view \s+ ratings_view \s* ;/six);
like($drop_table, qr/.*drop \s+ view \s+ whorated_view \s* ;/six);
like($drop_table, qr/.*drop \s+ view \s+ users_view \s* ;/six);
__END__
|