File tree Expand file tree Collapse file tree 3 files changed +35
-9
lines changed Expand file tree Collapse file tree 3 files changed +35
-9
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ guard :minitest, {
2020 end
2121 else
2222 watch ( %r{^test/cases/\w +_test_sqlserver.rb$} )
23+ watch ( %r{^test/cases/coerced/\w +_test.rb$} )
2324 watch ( %r{^lib/active_record/connection_adapters/sqlserver/([^/]+)\. rb$} ) { |m | "test/cases/#{ m [ 1 ] } _test_sqlserver.rb" }
2425 watch ( %r{^test/cases/helper_sqlserver\. rb$} ) { 'test' }
2526 end
Original file line number Diff line number Diff line change 1+ require 'cases/helper_sqlserver'
2+ require 'models/binary'
3+ require 'models/author'
4+ require 'models/post'
5+
6+ class SanitizeTest < ActiveRecord ::TestCase
7+
8+ COERCED_TESTS = [ :test_sanitize_sql_like_example_use_case ]
9+
10+ include ARTest ::SQLServer ::CoercedTest
11+
12+ def test_sanitize_sql_like_example_use_case_coerced
13+ searchable_post = Class . new ( Post ) do
14+ def self . search ( term )
15+ where ( "title LIKE ?" , sanitize_sql_like ( term , '!' ) )
16+ end
17+ end
18+ assert_sql ( /\( title LIKE N''20!% !_reduction!_!!''\) / ) do
19+ searchable_post . search ( "20% _reduction_!" ) . to_a
20+ end
21+ end
22+
23+ end
Original file line number Diff line number Diff line change 44def env_ar_test_files
55 return unless ENV [ 'TEST_FILES_AR' ] && !ENV [ 'TEST_FILES_AR' ] . empty?
66 @env_ar_test_files ||= begin
7- files = ENV [ 'TEST_FILES_AR' ] . split ( ',' ) . map do |file |
7+ ENV [ 'TEST_FILES_AR' ] . split ( ',' ) . map { |file |
88 File . join ARTest ::SQLServer . root_activerecord , file . strip
9- end
10- files . sort . unshift ( SQLSERVER_TEST_HELPER )
9+ } . sort
1110 end
1211end
1312
@@ -17,7 +16,11 @@ def env_test_files
1716end
1817
1918def sqlserver_cases
20- @sqlserver_cases ||= Dir . glob ( 'test/cases/**/*_test_sqlserver.rb' ) - [ SQLSERVER_TEST_HELPER ]
19+ @sqlserver_cases ||= Dir . glob ( 'test/cases/*_test_sqlserver.rb' )
20+ end
21+
22+ def ar_coerced
23+ @ar_coerced ||= Dir . glob ( 'test/cases/coerced/*test*.rb' )
2124end
2225
2326def ar_cases
@@ -29,14 +32,13 @@ def ar_cases
2932end
3033
3134def test_files
32- return env_ar_test_files if env_ar_test_files
35+ return env_ar_test_files . unshift ( SQLSERVER_TEST_HELPER ) if env_ar_test_files
3336 return env_test_files if env_test_files
3437 if ENV [ 'ONLY_SQLSERVER' ]
35- sqlserver_cases
38+ sqlserver_cases + ar_coerced
3639 elsif ENV [ 'ONLY_ACTIVERECORD' ]
37- ar_cases
40+ ( ar_coerced + ar_cases ) . unshift ( SQLSERVER_TEST_HELPER )
3841 else
39- sqlserver_cases + ar_cases
42+ ( ar_coerced + ar_cases + sqlserver_cases ) . unshift ( SQLSERVER_TEST_HELPER )
4043 end
4144end
42-
You can’t perform that action at this time.
0 commit comments