Apache-SWIT

 view release on metacpan or  search on metacpan

t/400_skeleton.t  view on Meta::CPAN

use strict;
use warnings FATAL => 'all';

use Test::More tests => 59;
use Data::Dumper;
use File::Slurp;
use File::Temp qw(tempdir);
use Apache::SWIT::Test::Utils;

BEGIN {
	use_ok('Apache::SWIT::Maker::Skeleton');
	use_ok('Apache::SWIT::Maker::Skeleton::Scaffold::DualTest');
	use_ok('Apache::SWIT::Maker::Skeleton::Scaffold::List');
	use_ok('Apache::SWIT::Maker::Skeleton::Scaffold::ListTemplate');
	use_ok('Apache::SWIT::Maker::Skeleton::Scaffold::Info');
	use_ok('Apache::SWIT::Maker::Skeleton::ApacheTest');
	use_ok('Apache::SWIT::Maker::Skeleton::ApacheTestRun');
	use_ok('Apache::SWIT::Maker');
};

ok(!ASTU_Mem_Show());

my $dut = Apache::SWIT::Maker::Skeleton::Scaffold::DualTest->new({
		columns => [ qw(col_a col_b col_c) ], table => 'the_tab' });
ok($dut);
is_deeply($dut->columns, [ qw(col_a col_b col_c) ]);
is($dut->table, 'the_tab');
is($dut->empty_cols_v, "col_a => '',\n\tcol_b => '',\n\tcol_c => ''");
is($dut->cols_99_v, "col_a => '99',\n\tcol_b => '99',\n\tcol_c => '99'");
is($dut->cols_333_v, "col_a => '333',\n\tcol_b => '333',\n\tcol_c => '333'");
is($dut->table_class_v, "TheTab");
is($dut->form_test_v, "thetab_form");
is($dut->info_test_v, "thetab_info");
is($dut->list_test_v, 'thetab_list');
is($dut->list_name_v, 'the_tab_list');
is($dut->cols_99_list_v, "col_b => '99',\n\tcol_c => '99',");
is($dut->cols_333_list_v, "col_b => '333',\n\tcol_c => '333',");
is($dut->col1_v, "col_a");
is_deeply($dut->columns, [ qw(col_a col_b col_c) ]);

my $td = tempdir('/tmp/pltemp_400_XXXXXX', CLEANUP => 1);
chdir $td;

write_file('Makefile.PL', "NAME => 'Aaa::Bbb'\n");
is(Apache::SWIT::Maker::Config->instance->root_class, 'Aaa::Bbb');
is($dut->root_class_v, 'Aaa::Bbb');

my $gtv = $dut->get_template_vars;
is_deeply($gtv, { map { ($_ => $dut->$_) } qw(
	form_test_v info_test_v
	empty_cols_v table_v table_class_v
	cols_99_v cols_333_v
	cols_99_list_v cols_333_list_v
	col1_v list_name_v list_test_v
) }) or diag(Dumper($gtv)) or exit 1;

is_with_diff($dut->get_output, <<'ENDS');
use strict;
use warnings FATAL => 'all';

use Test::More tests => 19;

BEGIN { use_ok('T::Test'); };

my $t = T::Test->new;



( run in 3.665 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )