Used code found http://www.mail-archive.com/perl-documentation@perl.org/msg00380...
[dbsrgits/SQL-Translator.git] / t / 24yaml.t
index 335397d..cf24d00 100644 (file)
@@ -2,17 +2,50 @@
 # vim: set ft=perl:
 
 use strict;
-use Test::More tests => 2;
+use Test::More;
 use Test::Differences;
+use Test::SQL::Translator qw(maybe_plan);
 use SQL::Translator;
 use FindBin '$Bin';
 
-my $yaml = q/--- #YAML:1.0
+BEGIN {
+    maybe_plan(2,
+        'SQL::Translator::Parser::SQLite',
+        'SQL::Translator::Producer::YAML');
+}
+
+my $yaml = <<'YAML';
+--- #YAML:1.0
 schema:
   procedures: {}
   tables:
     person:
       comments: ''
+      constraints:
+        - deferrable: 1
+          expression: ''
+          fields:
+            - person_id
+          match_type: ''
+          name: ''
+          on_delete: ''
+          on_update: ''
+          options: []
+          reference_fields: []
+          reference_table: ''
+          type: PRIMARY KEY
+        - deferrable: 1
+          expression: ''
+          fields:
+            - name
+          match_type: ''
+          name: u_name
+          on_delete: ''
+          on_update: ''
+          options: []
+          reference_fields: []
+          reference_table: ''
+          type: UNIQUE
       fields:
         age:
           data_type: integer
@@ -81,12 +114,37 @@ schema:
           size:
             - 11
             - 2
-      indices: {}
+      indices: []
       name: person
       options: []
       order: 1
     pet:
       comments: ''
+      constraints:
+        - deferrable: 1
+          expression: ''
+          fields: ~
+          match_type: ''
+          name: ''
+          on_delete: ''
+          on_update: ''
+          options: []
+          reference_fields: []
+          reference_table: ''
+          type: CHECK
+        - deferrable: 1
+          expression: ''
+          fields:
+            - pet_id
+            - person_id
+          match_type: ''
+          name: ''
+          on_delete: ''
+          on_update: ''
+          options: []
+          reference_fields: []
+          reference_table: ''
+          type: PRIMARY KEY
       fields:
         age:
           data_type: int
@@ -132,7 +190,7 @@ schema:
           order: 7
           size:
             - 0
-      indices: {}
+      indices: []
       name: pet
       options: []
       order: 2
@@ -158,7 +216,18 @@ schema:
         select pr.person_id, pr.name as person_name, pt.name as pet_name
           from   person pr, pet pt
           where  person.person_id=pet.pet_id
-/;
+translator:
+  add_drop_table: 0
+  filename: '/work/sqlfairy/sqlfairy/t/data/sqlite/create.sql'
+  no_comments: 0
+  parser_args: {}
+  parser_type: SQL::Translator::Parser::SQLite
+  producer_args: {}
+  producer_type: SQL::Translator::Producer::YAML
+  show_warnings: 0
+  trace: 0
+  version: 0.05
+YAML
 
 my $tr = SQL::Translator->new(
     parser   => 'SQLite',