#!/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 (
id int auto_increment PRIMARY KEY,
foo varchar(255) not null default '',
+ bar enum('wibble','wo''bble'),
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;
+BEGIN {
+ maybe_plan(undef,
+ 'SQL::Translator::Parser::MySQL',
+ 'SQL::Translator::Producer::Oracle');
+}
+
+my $tr = SQL::Translator->new(
+ parser => "MySQL",
+ producer => "Oracle",
+ quote_table_names => 0,
+ quote_field_names => 0,
+);
+
+my $output = $tr->translate(\$create);
-my $tr = SQL::Translator->new(parser => "MySQL",
- producer => "Oracle"
- #producer => "SQL::Translator::Producer::Oracle::translate"
- #producer => sub { Dumper($_[1]) }
- );
+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.');
+ok( $output =~ /\QCHECK (bar IN ('wibble', 'wo''bble'))\E/, 'Enum translated and escaped.');
-print $tr->translate(\$create);
+done_testing;