Added tests for RT#37814 (parsing of double quotes, autoincrement).
[dbsrgits/SQL-Translator.git] / t / 24yaml.t
index cf24d00..9c8bda3 100644 (file)
@@ -1,6 +1,4 @@
-#!/usr/local/bin/perl
-# vim: set ft=perl:
-
+use warnings;
 use strict;
 use Test::More;
 use Test::Differences;
@@ -14,13 +12,13 @@ BEGIN {
         'SQL::Translator::Producer::YAML');
 }
 
-my $yaml = <<'YAML';
---- #YAML:1.0
+my $sqlt_version = $SQL::Translator::VERSION;
+my $yaml = <<YAML;
+---
 schema:
   procedures: {}
   tables:
     person:
-      comments: ''
       constraints:
         - deferrable: 1
           expression: ''
@@ -50,7 +48,6 @@ schema:
         age:
           data_type: integer
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -61,7 +58,6 @@ schema:
         description:
           data_type: text
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -72,7 +68,6 @@ schema:
         iq:
           data_type: tinyint
           default_value: 0
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -83,7 +78,6 @@ schema:
         name:
           data_type: varchar
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 0
           is_unique: 1
@@ -94,7 +88,6 @@ schema:
         person_id:
           data_type: INTEGER
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 1
           is_unique: 0
@@ -105,7 +98,6 @@ schema:
         weight:
           data_type: double
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -119,11 +111,10 @@ schema:
       options: []
       order: 1
     pet:
-      comments: ''
       constraints:
         - deferrable: 1
           expression: ''
-          fields: ~
+          fields: []
           match_type: ''
           name: ''
           on_delete: ''
@@ -149,45 +140,41 @@ schema:
         age:
           data_type: int
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
           name: age
-          order: 10
+          order: 4
           size:
             - 0
         name:
           data_type: varchar
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
           name: name
-          order: 9
+          order: 3
           size:
             - 30
         person_id:
           data_type: int
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 1
           is_unique: 0
           name: person_id
-          order: 8
+          order: 2
           size:
             - 0
         pet_id:
           data_type: int
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 1
           is_unique: 0
           name: pet_id
-          order: 7
+          order: 1
           size:
             - 0
       indices: []
@@ -195,21 +182,22 @@ schema:
       options: []
       order: 2
   triggers:
-    after:
+    pet_trig:
       action:
         for_each: ~
         steps:
-          - update name=name
+          - update pet set name=name
         when: ~
-      database_event: insert
+      database_events:
+        - insert
       fields: ~
-      name: after
-      on_table: ~
+      name: pet_trig
+      on_table: pet
       order: 1
-      perform_action_when: ~
+      perform_action_when: after
   views:
     person_pet:
-      fields: ~
+      fields: ''
       name: person_pet
       order: 1
       sql: |
@@ -218,7 +206,7 @@ schema:
           where  person.person_id=pet.pet_id
 translator:
   add_drop_table: 0
-  filename: '/work/sqlfairy/sqlfairy/t/data/sqlite/create.sql'
+  filename: ~
   no_comments: 0
   parser_args: {}
   parser_type: SQL::Translator::Parser::SQLite
@@ -226,13 +214,17 @@ translator:
   producer_type: SQL::Translator::Producer::YAML
   show_warnings: 0
   trace: 0
-  version: 0.05
+  version: $sqlt_version
 YAML
 
-my $tr = SQL::Translator->new(
+my $file = "$Bin/data/sqlite/create.sql";
+open FH, "<$file" or die "Can't read '$file': $!\n";
+local $/;
+my $data = <FH>;
+my $tr   = SQL::Translator->new(
     parser   => 'SQLite',
     producer => 'YAML',
-    filename => "$Bin/data/sqlite/create.sql",
+    data     => $data,
 );
 
 my $out;