Sha256: 01d6fc08f5bc2da0dbb4be4896baa5f56224c10ef19d42027faf4d737e82d168
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true require 'ego/runner' RSpec.describe Ego::Runner do context 'with empty arguments' do subject { described_class.new([]) } it 'prints usage help' do expect { subject.run }.to output( /^Usage:/ ).to_stdout end end context 'with --help' do subject { described_class.new(['--help']) } it 'prints usage help' do expect { subject.run }.to output( /^Usage:/ ).to_stdout end end context 'with --template' do subject { described_class.new(['--template']) } it 'prints plug-in template' do expect { subject.run }.to output( /^Ego.plugin / ).to_stdout end end context 'with --version' do subject { described_class.new(['--version']) } it 'prints gem version' do expect { subject.run }.to output( "ego v#{Ego::VERSION}\n" ).to_stdout end end context 'with invalid arguments' do subject { described_class.new(['--invalid-flag']) } it 'prints usage error and help' do expect { subject.run }.to raise_exception(SystemExit).and output( /^invalid option:/ ).to_stderr.and output( /^Usage:/ ).to_stdout end end context 'with simple query' do subject { described_class.new(['--no-plugins', 'echo hello']) } it 'prints a response' do expect { subject.run }.to output( /hello/ ).to_stdout end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ego-0.6.0 | spec/ego/runner_spec.rb |