diff options
author | Andreas Bühmann <dev@uuml.de> | 2018-02-22 14:26:42 +0100 |
---|---|---|
committer | Andreas Bühmann <dev@uuml.de> | 2018-02-22 14:33:32 +0100 |
commit | d53b259a29e77a60a02e9c219661e19ef62ef9aa (patch) | |
tree | c42ee120c4fe019ed34c3f6003b6707416b33b18 | |
parent | 0979713abe2e22083e1beca01a1d113408c9ab36 (diff) | |
download | rails-d53b259a29e77a60a02e9c219661e19ef62ef9aa.tar.gz rails-d53b259a29e77a60a02e9c219661e19ef62ef9aa.tar.bz2 rails-d53b259a29e77a60a02e9c219661e19ef62ef9aa.zip |
Properly escape column name embedded into regexp
SQLServerAdapter (gem `activerecord-sqlserver-adapter`) uses square
brackets for quoting column names (e.g. `[id]`). Those brackets must not
be misinterpreted in regular expressions.
Failure:
Expected /SELECT [developers].[id].* FROM developers/ to match "SELECT [developers].[id], [developers].[name], [developers].[salary], [developers].[firm_id], [developers].[mentor_id], [developers].[created_at], [developers].[updated_at], [developers].[created_on], [developers].[updated_on] FROM developers".
-rw-r--r-- | activerecord/test/cases/base_test.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 983a3d366a..7dfb05a6a5 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1501,7 +1501,7 @@ class BasicsTest < ActiveRecord::TestCase query = Developer.from("developers").to_sql quoted_id = "#{Developer.quoted_table_name}.#{Developer.quoted_primary_key}" - assert_match(/SELECT #{quoted_id}.* FROM developers/, query) + assert_match(/SELECT #{Regexp.escape(quoted_id)}.* FROM developers/, query) end test "using table name qualified column names unless having SELECT list explicitly" do |