Sha256: 10ff47c9b1ce3e48cf1962c919144f16112379d7c5df6e4d4cf26df570086dab
Contents?: true
Size: 1.61 KB
Versions: 37
Compression:
Stored size: 1.61 KB
Contents
require 'spec_helper' describe TogoStanza::Stanza::Base do describe '.property' do let(:klass) { Class.new(TogoStanza::Stanza::Base) } specify 'raise error when specify a value and block' do expect { klass.property :foo, 'bar' do 'baz' end }.to raise_error(ArgumentError) end specify 'raise error when neither specify a value nor block' do expect { klass.property :foo }.to raise_error(ArgumentError) end specify 'allow specify a falsy value' do klass.property :foo, false klass.properties[:foo].should == false end end describe '#context' do let :klass do Class.new(TogoStanza::Stanza::Base) { property :foo do 'foo' end property :bar do |bar| bar * 3 end property :baz do { qux: 'quux' } end property :foobar, 'foobar' resource :do_not_evaluate do raise end } end subject { klass.new(bar: 'bar').context } its(:foo) { should == 'foo' } its(:bar) { should == 'barbarbar' } its(:baz) { should == {'qux' => 'quux'} } its(:foobar) { should == 'foobar' } end describe '#resource' do let :klass do Class.new(TogoStanza::Stanza::Base) { resource :foo do 'foo' end resource :bar do |bar| bar * 3 end } end let(:stanza) { klass.new(bar: 'bar') } specify { stanza.resource(:foo).should == 'foo' } specify { stanza.resource(:bar).should == 'barbarbar' } end end
Version data entries
37 entries across 37 versions & 1 rubygems