|
#!/usr/bin/perl -w
BEGIN {
maybe_plan(4, 'YAML' , 'Test::Differences' );
}
my $in_yaml = qq{---
schema:
tables:
Person:
name: Person
fields:
first_name:
data_type: foovar
name: first_name
} ;
my $ans_yaml = qq{---
schema:
procedures: {}
tables:
person:
constraints: []
fields:
First_name:
data_type: foovar
default_value: ~
is_nullable: 1
is_primary_key: 0
is_unique: 0
name: First_name
order: 1
size:
- 0
indices: []
name: person
options: []
order: 1
triggers: {}
views: {}
translator:
add_drop_table: 0
filename: ~
no_comments: 0
parser_args: {}
parser_type: SQL::Translator::Parser::YAML
producer_args: {}
producer_type: SQL::Translator::Producer::YAML
show_warnings: 1
trace: 0
version: SUPPRESSED
};
my $obj ;
$obj = SQL::Translator->new(
debug => 0,
show_warnings => 1,
from => "YAML" ,
to => "YAML" ,
data => $in_yaml ,
filters => [
[
'Names' ,
{
tables => 'lc' ,
fields => 'ucfirst' ,
}
],
],
) or die "Failed to create translator object: " . SQL::Translator->error;
my $out ;
lives_ok { $out = $obj ->translate; } "Translate ran" ;
is $obj ->error, '' , "No errors" ;
ok $out ne "" , "Produced something!" ;
$out =~ s/version: .*/version: SUPPRESSED/;
eq_or_diff $out , $ans_yaml , "Output looks right" ;
|