Skip to content

Commit 5ebde7b

Browse files
author
Anna
committed
Merge branch 'rals-4-arel' into rails-4
Conflicts: Rakefile
2 parents 3488570 + d0801d5 commit 5ebde7b

File tree

3 files changed

+40
-10
lines changed

3 files changed

+40
-10
lines changed

Rakefile

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
require 'rake'
22
require 'rake/testtask'
33

4+
AR_PATH = Gem.loaded_specs['activerecord'].full_gem_path
5+
AREL_PATH = Gem.loaded_specs['arel'].full_gem_path
46
# Notes for cross compile:
57
# $ gcla ; bundle install ; rake compile ; rake cross compile ; rake cross native gem
68

79
def test_libs(mode='dblib')
810
['lib',
911
'test',
10-
"#{File.join(Gem.loaded_specs['activerecord'].full_gem_path,'test')}"]
12+
"#{File.join(AR_PATH,'test')}",
13+
"#{File.join(AREL_PATH,'test')}",
14+
]
1115
end
1216

1317
# bundle exec rake test SQLSERVER_ONLY=true
@@ -16,18 +20,26 @@ end
1620
# http://veganswithtypewriters.net/blog/2013/06/29/weirdness-with-rake-solved/
1721
def test_files
1822
test_setup = ["test/cases/sqlserver_helper.rb"]
19-
return test_setup+(ENV['TEST_FILES']).split(',').sort if ENV['TEST_FILES']
20-
sqlserver_cases = Dir.glob("test/cases/**/*_test_sqlserver.rb").sort
21-
ar_path = Gem.loaded_specs['activerecord'].full_gem_path
22-
ar_cases = Dir.glob("#{ar_path}/test/cases/**/*_test.rb")
23-
adapter_cases = Dir.glob("#{ar_path}/test/cases/adapters/**/*_test.rb")
23+
24+
return test_setup+(ENV['TEST_FILES']).split(',') if ENV['TEST_FILES']
25+
26+
sqlserver_cases = Dir.glob("test/cases/**/*_test_sqlserver.rb")
27+
28+
ar_cases = Dir.glob("#{AR_PATH}/test/cases/**/*_test.rb")
29+
adapter_cases = Dir.glob("#{AR_PATH}/test/cases/adapters/**/*_test.rb")
30+
31+
arel_cases = Dir.glob("#{AREL_PATH}/test/**/test_*.rb")
32+
2433
if ENV['SQLSERVER_ONLY']
2534
sqlserver_cases
2635
elsif ENV['ACTIVERECORD_ONLY']
27-
test_setup + (ar_cases - adapter_cases).sort
36+
test_setup + (ar_cases - adapter_cases)
37+
elsif ENV['AREL_ONLY']
38+
arel_cases
2839
else
29-
sqlserver_cases + (ar_cases - adapter_cases).sort
40+
test_setup + arel_cases + sqlserver_cases + (ar_cases - adapter_cases)
3041
end
42+
3143
end
3244

3345
task :test => ['test:dblib']
@@ -81,5 +93,3 @@ namespace :profile do
8193
end
8294

8395
end
84-
85-

test/cases/sqlserver_helper.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
SQLSERVER_MIGRATIONS_ROOT = File.expand_path(File.join(SQLSERVER_TEST_ROOT,'migrations'))
55
SQLSERVER_SCHEMA_ROOT = File.expand_path(File.join(SQLSERVER_TEST_ROOT,'schema'))
66
ACTIVERECORD_TEST_ROOT = File.expand_path(File.join(Gem.loaded_specs['activerecord'].full_gem_path,'test'))
7+
AREL_TEST_ROOT = File.expand_path(File.join(Gem.loaded_specs['arel'].full_gem_path,'test'))
8+
79
ENV['ARCONFIG'] = File.expand_path(File.join(SQLSERVER_TEST_ROOT,'config.yml'))
810

911
$:.unshift ACTIVERECORD_TEST_ROOT
12+
$LOAD_PATH.unshift AREL_TEST_ROOT
1013

1114
require 'rubygems'
1215
require 'bundler'
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require 'cases/sqlserver_helper'
2+
require 'models/post'
3+
require 'models/comment'
4+
5+
module ActiveRecord
6+
class WhereChainTest < ActiveRecord::TestCase
7+
include SqlserverCoercedTest
8+
9+
COERCED_TESTS = [:test_not_eq_with_array_parameter]
10+
11+
def test_coerced_not_eq_with_array_parameter
12+
expected = Arel::Nodes::Not.new("title = N'hello'")
13+
relation = Post.where.not(['title = ?', 'hello'])
14+
assert_equal([expected], relation.where_values)
15+
end
16+
end
17+
end

0 commit comments

Comments
 (0)