diff --git a/features/steps/output_steps.rb b/features/steps/output_steps.rb index 558dd10..14f53a2 100644 --- a/features/steps/output_steps.rb +++ b/features/steps/output_steps.rb @@ -22,6 +22,7 @@ Usage: uhwm [options] options: -h, --help print this message -v, --version enable verbose mode + -d, --debug enable debug mode eoh end diff --git a/lib/uh/wm/cli.rb b/lib/uh/wm/cli.rb index 4330cc1..6bb70bf 100644 --- a/lib/uh/wm/cli.rb +++ b/lib/uh/wm/cli.rb @@ -53,6 +53,11 @@ module Uh @env.verbose = true @env.log_logger_level end + + opts.on '-d', '--debug', 'enable debug mode' do + @env.debug = true + @env.log_logger_level + end end end end diff --git a/spec/uh/wm/cli_spec.rb b/spec/uh/wm/cli_spec.rb index d901983..4fd9f7f 100644 --- a/spec/uh/wm/cli_spec.rb +++ b/spec/uh/wm/cli_spec.rb @@ -102,6 +102,20 @@ module Uh end end + context 'with debug option' do + let(:arguments) { %w[-d] } + + it 'sets the env as debug' do + cli.parse_arguments! + expect(cli.env).to be_debug + end + + it 'tells the env to log its logger level' do + expect(cli.env).to receive :log_logger_level + cli.parse_arguments! + end + end + context 'with invalid option' do let(:arguments) { %w[--unknown-option] }