Sha256: 8ae7fae7e65812227f9e6b5ccd958242df54c94d25117d2ac83468cb771fc017
Contents?: true
Size: 1.27 KB
Versions: 3
Compression:
Stored size: 1.27 KB
Contents
require 'spec_helper' class ScreenFactoryScreen include TE3270 end class WorldSuper attr_reader :super_called def on(screen_class, &block) @super_called = true end end class World < WorldSuper include TE3270::ScreenFactory end describe TE3270::ScreenFactory do let(:world) { World.new } it 'should create a new screen object' do emulator = double('platform') world.instance_variable_set('@emulator', emulator) expect(world.on(ScreenFactoryScreen)).to be_instance_of ScreenFactoryScreen end it 'should create a new screen object and execute a block' do emulator = double('platform') world.instance_variable_set('@emulator', emulator) world.on(ScreenFactoryScreen) do |page| expect(page).to be_instance_of ScreenFactoryScreen end end it 'should raise an error when an @emulator instance variable does not exist' do expect { world.on(ScreenFactoryScreen) }.to raise_error("@emulator instance variable must be available to use the ScreenFactory methods") end it 'should pass control to super if passed a class that does not include TE3270' do class NoTE end emulator = double('platform') world.instance_variable_set('@emulator', emulator) world.on(NoTE) expect(world.super_called).to be true end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
te3270-0.9.0 | spec/lib/te3270/screen_factory_spec.rb |
te3270-0.8.1 | spec/lib/te3270/screen_factory_spec.rb |
te3270-0.8.0 | spec/lib/te3270/screen_factory_spec.rb |