aboutsummaryrefslogtreecommitdiffstats
path: root/spec/arel
diff options
context:
space:
mode:
authorBryan Helmkamp <bryan@brynary.com>2009-05-17 17:53:40 -0400
committerBryan Helmkamp <bryan@brynary.com>2009-05-17 17:53:40 -0400
commitd2988420fc6dd91ca751d96ed648fd1ed52ce342 (patch)
treee817b2dcc2b8d018181fd676feb1648786d23de3 /spec/arel
parent7fc820501ce7b997da43c47ec189aaa0d40645e1 (diff)
downloadrails-d2988420fc6dd91ca751d96ed648fd1ed52ce342.tar.gz
rails-d2988420fc6dd91ca751d96ed648fd1ed52ce342.tar.bz2
rails-d2988420fc6dd91ca751d96ed648fd1ed52ce342.zip
Added PostgreSQL to build
Diffstat (limited to 'spec/arel')
-rw-r--r--spec/arel/engines/sql/unit/predicates/binary_spec.rb18
-rw-r--r--spec/arel/engines/sql/unit/primitives/value_spec.rb9
-rw-r--r--spec/arel/engines/sql/unit/relations/insert_spec.rb20
-rw-r--r--spec/arel/engines/sql/unit/relations/update_spec.rb38
-rw-r--r--spec/arel/unit/predicates/predicates_spec.rb16
5 files changed, 89 insertions, 12 deletions
diff --git a/spec/arel/engines/sql/unit/predicates/binary_spec.rb b/spec/arel/engines/sql/unit/predicates/binary_spec.rb
index befd2878d9..b1400e2588 100644
--- a/spec/arel/engines/sql/unit/predicates/binary_spec.rb
+++ b/spec/arel/engines/sql/unit/predicates/binary_spec.rb
@@ -28,7 +28,11 @@ module Arel
sql.should be_like(%Q{(`users`.`id` <=> 1 OR `users`.`name` <=> 'name')})
end
- adapter_is_not :mysql do
+ adapter_is :postgresql do
+ sql.should be_like(%Q{("users"."id" <=> 1 OR "users"."name" <=> E'name')})
+ end
+
+ adapter_is :sqlite3 do
sql.should be_like(%Q{("users"."id" <=> 1 OR "users"."name" <=> 'name')})
end
end
@@ -44,9 +48,13 @@ module Arel
sql.should be_like(%Q{(`users`.`id` <=> 1 AND `users`.`name` <=> 'name')})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
sql.should be_like(%Q{("users"."id" <=> 1 AND "users"."name" <=> 'name')})
end
+
+ adapter_is :postgresql do
+ sql.should be_like(%Q{("users"."id" <=> 1 AND "users"."name" <=> E'name')})
+ end
end
end
end
@@ -94,9 +102,13 @@ module Arel
sql.should be_like(%Q{`users`.`name` <=> '1-asdf'})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
sql.should be_like(%Q{"users"."name" <=> '1-asdf'})
end
+
+ adapter_is :postgresql do
+ sql.should be_like(%Q{"users"."name" <=> E'1-asdf'})
+ end
end
end
end
diff --git a/spec/arel/engines/sql/unit/primitives/value_spec.rb b/spec/arel/engines/sql/unit/primitives/value_spec.rb
index da5a163d3b..ff3533f6ef 100644
--- a/spec/arel/engines/sql/unit/primitives/value_spec.rb
+++ b/spec/arel/engines/sql/unit/primitives/value_spec.rb
@@ -9,7 +9,14 @@ module Arel
describe '#to_sql' do
it "appropriately quotes the value" do
Value.new(1, @relation).to_sql.should be_like('1')
- Value.new('asdf', @relation).to_sql.should be_like("'asdf'")
+
+ adapter_is_not :postgresql do
+ Value.new('asdf', @relation).to_sql.should be_like("'asdf'")
+ end
+
+ adapter_is :postgresql do
+ Value.new('asdf', @relation).to_sql.should be_like("E'asdf'")
+ end
end
end
diff --git a/spec/arel/engines/sql/unit/relations/insert_spec.rb b/spec/arel/engines/sql/unit/relations/insert_spec.rb
index dd1995cced..29a5e0bf42 100644
--- a/spec/arel/engines/sql/unit/relations/insert_spec.rb
+++ b/spec/arel/engines/sql/unit/relations/insert_spec.rb
@@ -30,13 +30,21 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
@insertion.to_sql.should be_like(%Q{
INSERT
INTO "users"
("id", "name") VALUES (1, 'nick')
})
end
+
+ adapter_is :postgresql do
+ @insertion.to_sql.should be_like(%Q{
+ INSERT
+ INTO "users"
+ ("id", "name") VALUES (1, E'nick')
+ })
+ end
end
describe 'when given values whose types correspond to the types of the attributes' do
@@ -53,13 +61,21 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
@insertion.to_sql.should be_like(%Q{
INSERT
INTO "users"
("name") VALUES ('nick')
})
end
+
+ adapter_is :postgresql do
+ @insertion.to_sql.should be_like(%Q{
+ INSERT
+ INTO "users"
+ ("name") VALUES (E'nick')
+ })
+ end
end
end
diff --git a/spec/arel/engines/sql/unit/relations/update_spec.rb b/spec/arel/engines/sql/unit/relations/update_spec.rb
index f553490ef5..4d728eb241 100644
--- a/spec/arel/engines/sql/unit/relations/update_spec.rb
+++ b/spec/arel/engines/sql/unit/relations/update_spec.rb
@@ -17,12 +17,19 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
sql.should be_like(%Q{
UPDATE "users"
SET "id" = 1, "name" = 'nick'
})
end
+
+ adapter_is :postgresql do
+ sql.should be_like(%Q{
+ UPDATE "users"
+ SET "id" = 1, "name" = E'nick'
+ })
+ end
end
it "manufactures sql updating attributes when given a ranged relation" do
@@ -36,13 +43,21 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
sql.should be_like(%Q{
UPDATE "users"
SET "name" = 'nick'
LIMIT 1
})
end
+
+ adapter_is :postgresql do
+ sql.should be_like(%Q{
+ UPDATE "users"
+ SET "name" = E'nick'
+ LIMIT 1
+ })
+ end
end
describe 'when given values whose types correspond to the types of the attributes' do
@@ -58,12 +73,19 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
@update.to_sql.should be_like(%Q{
UPDATE "users"
SET "name" = 'nick'
})
end
+
+ adapter_is :postgresql do
+ @update.to_sql.should be_like(%Q{
+ UPDATE "users"
+ SET "name" = E'nick'
+ })
+ end
end
end
@@ -106,13 +128,21 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
@update.to_sql.should be_like(%Q{
UPDATE "users"
SET "name" = 'nick'
WHERE "users"."id" = 1
})
end
+
+ adapter_is :postgresql do
+ @update.to_sql.should be_like(%Q{
+ UPDATE "users"
+ SET "name" = E'nick'
+ WHERE "users"."id" = 1
+ })
+ end
end
end
end
diff --git a/spec/arel/unit/predicates/predicates_spec.rb b/spec/arel/unit/predicates/predicates_spec.rb
index ac842998af..8e7e0b1d9f 100644
--- a/spec/arel/unit/predicates/predicates_spec.rb
+++ b/spec/arel/unit/predicates/predicates_spec.rb
@@ -21,11 +21,17 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
sql.should be_like(%Q{
("users"."id" = 1 AND "users"."name" = 'name')
})
end
+
+ adapter_is :postgresql do
+ sql.should be_like(%Q{
+ ("users"."id" = 1 AND "users"."name" = E'name')
+ })
+ end
end
end
end
@@ -41,11 +47,17 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
sql.should be_like(%Q{
("users"."id" = 1 OR "users"."name" = 'name')
})
end
+
+ adapter_is :postgresql do
+ sql.should be_like(%Q{
+ ("users"."id" = 1 OR "users"."name" = E'name')
+ })
+ end
end
end
end