Implement ruby feature loading (-r CLI option)
This commit is contained in:
parent
1467425407
commit
791c159d7a
5
features/cli/ruby_features.feature
Normal file
5
features/cli/ruby_features.feature
Normal file
@ -0,0 +1,5 @@
|
||||
Feature: ruby feature require CLI option
|
||||
|
||||
Scenario: requires a ruby feature
|
||||
When I run uhwm with option -v -r abbrev
|
||||
Then the current output must match /load.+abbrev.+ruby feature/i
|
@ -23,6 +23,7 @@ options:
|
||||
-h, --help print this message
|
||||
-v, --version enable verbose mode
|
||||
-d, --debug enable debug mode
|
||||
-r, --require PATH require ruby feature
|
||||
eoh
|
||||
end
|
||||
|
||||
|
@ -58,6 +58,11 @@ module Uh
|
||||
@env.debug = true
|
||||
@env.log_logger_level
|
||||
end
|
||||
|
||||
opts.on '-r', '--require PATH', 'require ruby feature' do |feature|
|
||||
require feature
|
||||
@env.log "Loaded `#{feature}' ruby feature"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -116,6 +116,21 @@ module Uh
|
||||
end
|
||||
end
|
||||
|
||||
context 'with require option' do
|
||||
let(:arguments) { %w[-r abbrev] }
|
||||
|
||||
it 'requires the given ruby feature' do
|
||||
expect { cli.parse_arguments! }
|
||||
.to change { $LOADED_FEATURES.grep(/abbrev/).any? }
|
||||
.from(false).to(true)
|
||||
end
|
||||
|
||||
it 'logs a message about the feature being loaded' do
|
||||
expect(cli.env).to receive(:log).with /load.+abbrev.+ruby feature/i
|
||||
cli.parse_arguments!
|
||||
end
|
||||
end
|
||||
|
||||
context 'with invalid option' do
|
||||
let(:arguments) { %w[--unknown-option] }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user