Sha256: 9bfe758e0469f47faa085da1483fabfabf772d1621a983671f3603878a1b3fc5
Contents?: true
Size: 1.89 KB
Versions: 3
Compression:
Stored size: 1.89 KB
Contents
#encoding: UTF-8 require 'spec_helper' describe Termit::UserInputParser do describe "options method" do context "when user has not given any arguments" do it "raises error" do expect{ Termit::UserInputParser.new [] }.to raise_error SystemExit end end context "when user has specified the options" do it "without the -v flag" do parser = Termit::UserInputParser.new ['en', 'fr', 'your mother'] expect(parser.options).to eq({ source_lang: :en, target_lang: :fr, text: 'your mother', talk: false, synonyms: false }) end it "with the -v (version) flag it exit the program and displays version number" do expect { Termit::UserInputParser.new ['-v'] }.to raise_error SystemExit end it "with the -h (help) flag it exit the program and displays help" do expect { Termit::UserInputParser.new ['-h'] }.to raise_error SystemExit end it "with -s (synonims) flag" do parser = Termit::UserInputParser.new ['en', 'fr', 'hey cowboy!', '-s'] expect(parser.options).to eq({ source_lang: :en, target_lang: :fr, text: 'hey cowboy!', talk: false, synonyms: true }) end it "with -t (talk) flag" do parser = Termit::UserInputParser.new ['en', 'fr', 'hey cowboy!', '-t'] expect(parser.options).to eq({ source_lang: :en, target_lang: :fr, text: 'hey cowboy!', talk: true, synonyms: false }) end it "with text as seperate ARGV array elements" do parser = Termit::UserInputParser.new ['en', 'fr', 'is', 'cowboy', 'here ?', '-t'] expect(parser.options).to eq({ source_lang: :en, target_lang: :fr, text: 'is cowboy here ?', talk: true, synonyms: false }) end it "with incorrect language options format raiser error" do expect{ Termit::UserInputParser.new ['ang', 'po polski', 'hey cowboy!', '-t'] }.to raise_error ArgumentError end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
termit-2.0.2 | spec/termit/user_input_parser_spec.rb |
termit-2.0.1 | spec/termit/user_input_parser_spec.rb |
termit-2.0.0 | spec/termit/user_input_parser_spec.rb |