diff --git a/lib/completely/commands/test.rb b/lib/completely/commands/test.rb index 9493317..ebdd006 100644 --- a/lib/completely/commands/test.rb +++ b/lib/completely/commands/test.rb @@ -22,10 +22,13 @@ class Test < Base def run puts tester.test(compline).join "\n" - return unless args['--keep'] - File.write 'completely-tester.sh', tester_script - puts 'saved completely-tester.sh' + if args['--keep'] + File.write 'completely-tester.sh', tester_script + puts 'saved completely-tester.sh' + end + + syntax_warning unless completions.valid? end private diff --git a/spec/completely/commands/test_spec.rb b/spec/completely/commands/test_spec.rb index 672bea7..87f82a0 100644 --- a/spec/completely/commands/test_spec.rb +++ b/spec/completely/commands/test_spec.rb @@ -65,4 +65,16 @@ .to raise_approval('cli/test/error') end end + + context 'with an invalid configuration' do + before do + reset_tmp_dir + File.write 'spec/tmp/in.yaml', { 'one' => %w[anything], 'two' => %w[something] }.to_yaml + ENV['COMPLETELY_CONFIG_PATH'] = 'spec/tmp/in.yaml' + end + + it 'outputs a warning to STDERR' do + expect { subject.execute %w[test on] }.to output_approval('cli/warning').to_stderr + end + end end