Sha256: a698f1357db6762231bfbe0272444da7fdba2a993ddb61a7d7cd56f513cb7a9f
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 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) world.on(ScreenFactoryScreen).should 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| page.should 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) world.super_called.should be true end end
Version data entries
3 entries across 3 versions & 1 rubygems