mirror of
https://github.com/teampoltergeist/poltergeist.git
synced 2022-11-09 12:05:00 -05:00
30 lines
851 B
Ruby
30 lines
851 B
Ruby
![]() |
require 'spec_helper'
|
||
|
require 'stringio'
|
||
|
|
||
|
module Capybara::Poltergeist
|
||
|
describe Browser do
|
||
|
let(:server) { double("server").as_null_object }
|
||
|
let(:client) { double("client").as_null_object }
|
||
|
|
||
|
before do
|
||
|
Server.stub(:new).and_return(server)
|
||
|
Client.stub(:new).and_return(client)
|
||
|
end
|
||
|
|
||
|
context 'with a logger' do
|
||
|
let(:logger) { StringIO.new }
|
||
|
subject { Browser.new(:logger => logger) }
|
||
|
|
||
|
it 'should log requests and responses to the client' do
|
||
|
request = { 'name' => 'where is', 'args' => ["the love?"] }
|
||
|
response = { 'response' => '<3' }
|
||
|
server.stub(:send).with(JSON.generate(request)).and_return(JSON.generate(response))
|
||
|
|
||
|
subject.command('where is', 'the love?')
|
||
|
|
||
|
logger.string.should == "#{request.inspect}\n#{response.inspect}\n"
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|