From 705c0db00006bb68e6314a0b884e8e62d20beb3a Mon Sep 17 00:00:00 2001 From: Holger Just <h.just@finn.de> Date: Mon, 16 May 2011 00:01:09 +0200 Subject: [PATCH] [#112] Fix failing raw version for postgres --- lib/chili_project/database.rb | 2 +- test/unit/lib/chili_project/database_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/chili_project/database.rb b/lib/chili_project/database.rb index 918704ade..3aea39599 100644 --- a/lib/chili_project/database.rb +++ b/lib/chili_project/database.rb @@ -64,7 +64,7 @@ module ChiliProject version = ActiveRecord::Base.connection.select_value('SELECT VERSION()') when :postgresql version = ActiveRecord::Base.connection.select_value('SELECT version()') - version.match(/^PostgreSQL (\S+)/i)[1] unless raw + raw ? version : version.match(/^PostgreSQL (\S+)/i)[1] when :sqlite if SQLite3.const_defined? 'SQLITE_VERSION' SQLite3::SQLITE_VERSION diff --git a/test/unit/lib/chili_project/database_test.rb b/test/unit/lib/chili_project/database_test.rb index f4cdf0e0f..1296a0dd8 100644 --- a/test/unit/lib/chili_project/database_test.rb +++ b/test/unit/lib/chili_project/database_test.rb @@ -36,4 +36,15 @@ class ChiliProject::DatabaseTest < ActiveSupport::TestCase should "return a version string" do assert_equal "3.6.12", ChiliProject::Database.version end + + should "return long version string for raw==true" do + ChiliProject::Database.stubs(:adapter_name).returns "PostgreSQL" + + raw_version = "PostgreSQL 8.3.11 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2" + ActiveRecord::Base.connection.stubs(:select_value).returns raw_version + + assert_equal "8.3.11", ChiliProject::Database.version + assert_equal raw_version, ChiliProject::Database.version(true) + end + end -- GitLab