22require "spring/commands"
33
44class CommandsTest < ActiveSupport ::TestCase
5- test 'rails command sets rails environment from -e option' do
6- command = Spring ::Commands ::Rails . new
5+ test 'console command sets rails environment from command-line option' do
6+ command = Spring ::Commands ::RailsConsole . new
7+ assert_equal 'test' , command . env ( [ 'test' ] )
8+ end
9+
10+ test 'console command sets rails environment from -e option' do
11+ command = Spring ::Commands ::RailsConsole . new
712 assert_equal 'test' , command . env ( [ '-e' , 'test' ] )
8- assert_equal 'test' , command . env ( [ '-e=test' ] )
913 end
1014
11- test 'rails command sets rails environment from --environment option' do
12- command = Spring ::Commands ::Rails . new
13- assert_equal 'test' , command . env ( [ '--environment' , 'test' ] )
15+ test 'console command sets rails environment from --environment option' do
16+ command = Spring ::Commands ::RailsConsole . new
1417 assert_equal 'test' , command . env ( [ '--environment=test' ] )
1518 end
1619
17- test 'rails command ignores first argument if it is a flag except -e and --environment' do
18- command = Spring ::Commands ::Rails . new
20+ test 'console command ignores first argument if it is a flag except -e and --environment' do
21+ command = Spring ::Commands ::RailsConsole . new
1922 assert_nil command . env ( [ '--sandbox' ] )
2023 end
2124
22- test 'rails command uses last environment option' do
23- command = Spring ::Commands ::Rails . new
24- assert_equal 'development ' , command . env ( [ '-e' , 'test' , '--environment=development ' ] )
25+ test 'Runner#env sets rails environment from command-line option' do
26+ command = Spring ::Commands ::RailsRunner . new
27+ assert_equal 'test ' , command . env ( [ '-e' , 'test' , 'puts 1+1 ' ] )
2528 end
2629
27- test 'rails command ignores additional arguments' do
28- command = Spring ::Commands ::Rails . new
29- assert_equal 'test' , command . env ( [ '-e' , 'test' , 'puts 1+1' ] )
30+ test 'RailsRunner#env sets rails environment from long form of command-line option' do
31+ command = Spring ::Commands ::RailsRunner . new
32+ assert_equal 'test' , command . env ( [ '--environment=test' , 'puts 1+1' ] )
33+ end
34+
35+ test 'RailsRunner#env ignores insignificant arguments' do
36+ command = Spring ::Commands ::RailsRunner . new
37+ assert_nil command . env ( [ 'puts 1+1' ] )
38+ end
39+
40+ test 'RailsRunner#extract_environment removes -e <env>' do
41+ command = Spring ::Commands ::RailsRunner . new
42+ args = [ '-b' , '-a' , '-e' , 'test' , '-r' ]
43+ assert_equal [ [ '-b' , '-a' , '-r' ] , 'test' ] , command . extract_environment ( args )
44+ end
45+
46+ test 'RailsRunner#extract_environment removes --environment=<env>' do
47+ command = Spring ::Commands ::RailsRunner . new
48+ args = [ '-b' , '--environment=test' , '-a' , '-r' ]
49+ assert_equal [ [ '-b' , '-a' , '-r' ] , 'test' ] , command . extract_environment ( args )
3050 end
3151
3252 test "rake command has configurable environments" do
@@ -37,20 +57,18 @@ class CommandsTest < ActiveSupport::TestCase
3757 assert_nil command . env ( [ "test_foo" ] )
3858 end
3959
40- test 'RailsTest#env defaults to test rails environment' do
60+ test 'RailsTest#command defaults to test rails environment' do
4161 command = Spring ::Commands ::RailsTest . new
4262 assert_equal 'test' , command . env ( [ ] )
4363 end
4464
45- test 'RailsTest#env sets rails environment from --environment option' do
65+ test 'RailsTest#command sets rails environment from --environment option' do
4666 command = Spring ::Commands ::RailsTest . new
47- assert_equal 'development' , command . env ( [ '--environment' , 'development' ] )
48- assert_equal 'development' , command . env ( [ '--environment=development' ] )
67+ assert_equal 'foo' , command . env ( [ '--environment=foo' ] )
4968 end
5069
51- test 'RailsTest#env sets rails environment from -e option' do
70+ test 'RailsTest#command sets rails environment from -e option' do
5271 command = Spring ::Commands ::RailsTest . new
53- assert_equal 'development' , command . env ( [ '-e' , 'development' ] )
54- assert_equal 'development' , command . env ( [ '-e=development' ] )
72+ assert_equal 'foo' , command . env ( [ '-e' , 'foo' ] )
5573 end
5674end
0 commit comments