Sha256: cf110e17ab86ec499305ac2768ea2f205642a941fc05f4ff15ab32091b81332e

Contents?: true

Size: 997 Bytes

Versions: 5

Compression:

Stored size: 997 Bytes

Contents

describe "Checked::DSL" do
  
  %w{ Ask Demand Clean }.each { |name|
    klass = Checked.const_get(name)
    
    it "includes #{name}::DSL" do
      Checked::DSL.included_modules.should.include klass::DSL
    end
    
  }
  
end # === describe


describe "Checked.demand!" do
  
  before {
    @perf = Class.new { include Checked::DSL }.new
  }
  
  it 'must be equivalent to: Demand.new(target)' do
    should.raise(Checked::Demand::Failed) {
      @perf.demand! [], :not_empty!
    }.message.should == "Array, [], can't be empty."
    
  end
  
end # === describe Checked.demand!

describe "Checked.named_demand!" do
  
  before {
    @perf = Class.new { include Checked::DSL }.new
  }
  
  it 'must be equivalent to: Demand.new(target) { |d| d.* name; d << args}' do
    should.raise(Checked::Demand::Failed) {
      @perf.named_demand! "Test Val", [:a, 'c'], :symbols!
    }.message.should == "Test Val, [:a, \"c\"], contains a non-symbol."
  end
  
end # === describe Checked.named_demand!

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
Checked-0.1.4 spec/tests/Checked.rb
Checked-0.1.3 spec/tests/Checked.rb
Checked-0.1.2 spec/tests/Checked.rb
Checked-0.1.1 spec/tests/Checked.rb
Checked-0.1.0 spec/tests/Checked.rb