File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -22,11 +22,14 @@ def initialize(arguments=ARGV)
2222 end
2323
2424 def do_command_expansion! ( config )
25+ @alias_arguments = [ ]
2526
2627 @mastermind_arguments . map! do |argument |
2728 expand_argument ( config , argument )
2829 end
2930
31+ @plan_arguments = @alias_arguments + @plan_arguments
32+
3033 @mastermind_arguments . flatten!
3134 end
3235
@@ -102,7 +105,7 @@ def expand_argument(config, argument)
102105
103106 if plan_arguments
104107 plan_arguments . shift # removes the --
105- @plan_arguments . concat plan_arguments
108+ @alias_arguments . concat plan_arguments
106109 end
107110
108111 dealiased = plan_names
Original file line number Diff line number Diff line change 99 config . define_alias ( 'sao' , 'shorter argument option' )
1010 config . define_alias ( 'ssao' , 'shorter sao' )
1111 config . define_alias ( 'swa' , 'shorter with -- arguments' )
12+ config . define_alias ( 'sswa' , 'swa -- another' )
1213 end
1314
1415 it 'expands aliases from the command line' do
4041
4142 expect ( actual ) . to eq %w[ arguments ]
4243 end
44+
45+ it 'prepends alias arguments' do
46+ parser . instance_variable_set ( '@mastermind_arguments' , [ 'swa' ] )
47+ parser . instance_variable_set ( '@plan_arguments' , [ 'second' ] )
48+
49+ parser . do_command_expansion! config
50+
51+ actual = parser . instance_variable_get ( '@plan_arguments' )
52+
53+ expect ( actual ) . to eq %w[ arguments second ]
54+ end
55+
56+ it 'prepends alias arguments in the order their expanded' do
57+ parser . instance_variable_set ( '@mastermind_arguments' , [ 'sswa' ] )
58+
59+ parser . do_command_expansion! config
60+
61+ actual = parser . instance_variable_get ( '@plan_arguments' )
62+
63+ expect ( actual ) . to eq %w[ arguments another ]
64+ end
4365 end
4466end
You can’t perform that action at this time.
0 commit comments