Clean up option parsing and fix identifier quoting in Producer::MySQL
[dbsrgits/SQL-Translator.git] / t / 03mysql-to-oracle.t
index 6eb3279..664d4e9 100644 (file)
@@ -1,7 +1,10 @@
 #!/usr/local/bin/perl
 # vim: set ft=perl:
 
-BEGIN { print "1..1\n" }
+use strict;
+use Test::More;
+use SQL::Translator;
+use Test::SQL::Translator qw(maybe_plan);
 
 my $create = q|
 CREATE TABLE random (
@@ -9,19 +12,26 @@ CREATE TABLE random (
     foo varchar(255) not null default '',
     updated timestamp
 );
-|;
+CREATE UNIQUE INDEX random_foo_update ON random(foo,updated);
+CREATE INDEX random_foo ON random(foo);
 
-use SQL::Translator;
-use Data::Dumper;
+|;
 
-$SQL::Translator::DEBUG = 0;
+BEGIN {
+    maybe_plan(3,
+        'SQL::Translator::Parser::MySQL',
+        'SQL::Translator::Producer::Oracle');
+}
 
-my $tr = SQL::Translator->new(parser   => "MySQL",
-                              producer => "Oracle"
-                              #producer => "SQL::Translator::Producer::Oracle::translate"
-                              #producer => sub { Dumper($_[1]) }
-                             );
+my $tr       = SQL::Translator->new(
+    parser   => "MySQL",
+    producer => "Oracle",
+    quote_table_names => 0,
+    quote_field_names => 0,
+);
 
-print "not " unless ($tr->translate(\$create));
-print "ok 1 # pointless test -- plz fix me!\n";
+my $output = $tr->translate(\$create);
 
+ok( $output, 'Translate MySQL to Oracle' );
+ok( $output =~ /CREATE INDEX random_foo /, 'Normal index definition translated.');
+ok( $output =~ /CREATE UNIQUE INDEX random_foo_update /, 'Unique index definition translated.');