Sha256: 1bbf1436d1b65145f00790bc3e2d2dfd7d4553748d6de2e9beac80a836ac6546
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
require 'rspec' require 'loadable_component' require 'timecop' class DetonatingComponent < LoadableComponent def load raise "should never be called" end def loaded? # already loaded true end end class LoadsOk < LoadableComponent def initialize(second_load_call_passes) @second_load_call_passes = second_load_call_passes @load_called = false end def load @load_called = true end def loaded? unless @load_called return false end unless @second_load_call_passes return false end true end def load_called? @load_called end end class SlowlyDetonatingComponent < SlowLoadableComponent def initialize super(1) end def load raise "should never be called" end def loaded? true end end class SlowLoading < SlowLoadableComponent attr_reader :load_called def initialize @load_called = false super(1) end def load @load_called = true end def loaded? @load_called end end class OnlyOneLoad < SlowLoading def load if @load_called raise "load already called" end super end end class BasicSlowLoader < SlowLoadableComponent def load # does nothing end def loaded? Timecop.travel 1 false # never loads end end class HasError < SlowLoadableComponent class CustomError < StandardError; end def load # does nothing end def loaded? false end def check_error raise CustomError end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
loadable_component-0.0.3 | spec/spec_helper.rb |