Sha256: 63592377281ea2d3e505b3812bea8eb7141c2e28ed5421c4e15e774e0f4acd76
Contents?: true
Size: 1.74 KB
Versions: 4
Compression:
Stored size: 1.74 KB
Contents
require 'open3' require 'securerandom' describe "CLI" do before(:all) do #Laziness `ps -ax | grep phantomjs | grep -v phantomjs | awk '{print $1}' | xargs kill -9` end it "Will not exit in pipe mode" do @finished = false Thread.new do `ruby -I./lib ./bin/boojs` @finished = true end sleep 5 expect(@finished).to eq(false) end it "Replies with pong$KEY when given ping('$key')" do key = SecureRandom.hex Thread.new do Open3.popen3("ruby -I./lib ./bin/boojs") do |i, o, e, t| i.puts "__spec_ping('#{key}')" @back = o.gets.chomp end end sleep 5 expect(@back).to eq("pong"+key) end it "Replies with pong$KEY when given ping('$key') twice" do keyA = SecureRandom.hex keyB = SecureRandom.hex Thread.new do Open3.popen3("ruby -I./lib ./bin/boojs") do |i, o, e, t| i.puts "__spec_ping('#{keyA}')" @backA = o.gets.chomp i.puts "__spec_ping('#{keyB}')" @backB = o.gets.chomp end end sleep 5 expect(@backA).to eq("pong"+keyA) expect(@backB).to eq("pong"+keyB) end it "Emits stderr and not stdout when an error has occurred" do Thread.new do Open3.popen3("ruby -I./lib ./bin/boojs") do |i, o, e, t| i.puts "no_such_variable" @error = e.gets.chomp @out = o.gets.chomp end end sleep 5 expect(@error.length).not_to eq(0) expect(@out).to eq(nil) end it "Exits with a return code of 1 with error" do Thread.new do Open3.popen3("ruby -I./lib ./bin/boojs") do |i, o, e, t| i.puts "no_such_variable" @error = e.gets.chomp @exit = t.value end end sleep 5 expect(@exit.exitstatus).to eq(1) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
boojs-0.0.7 | spec/cli_spec.rb |
boojs-0.0.5 | spec/cli_spec.rb |
boojs-0.0.4 | spec/cli_spec.rb |
boojs-0.0.3 | spec/cli_spec.rb |