Sha256: 08b714d0dd9d2229c715615a912362e82a5481bf4d3f93941032e8fd57da90c0
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require 'spec_helper' module WLang describe Dialect, 'evaluate' do let(:struct){ Struct.new(:who) } let(:dialect){ Dialect.new } def with_scope(*args, &bl) dialect.with_scope(*args, &bl) end def evaluate(*args, &bl) dialect.evaluate(*args, &bl) end it 'works with a hash' do with_scope({:who => "World"}) do evaluate("who").should eq("World") evaluate(:who).should eq("World") end end it 'works with a struct' do with_scope(struct.new("World")) do evaluate("who").should eq("World") evaluate(:who).should eq("World") end end it 'uses the hash in priority' do with_scope({:keys => [1,2,3]}) do evaluate("keys").should eq([1,2,3]) end end it 'falls back to send' do with_scope({:who => "World"}) do evaluate("keys").should eq([:who]) end end it 'raises a NameError when not found' do lambda{ evaluate("who") }.should raise_error(NameError) end end # describe Dialect, 'evaluate' end # module WLang
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wlang-2.0.1 | spec/unit/dialect/test_evaluate.rb |
wlang-2.0.0 | spec/unit/dialect/test_evaluate.rb |