spec/lib/hotcell/manipulator_spec.rb in hotcell-0.1.0 vs spec/lib/hotcell/manipulator_spec.rb in hotcell-0.2.0
- old
+ new
@@ -4,39 +4,44 @@
context 'mixed in' do
context do
let(:klass) do
Class.new(Numeric) do
include Hotcell::Manipulator::Mixin
+
+ def foo; end
end
end
subject { klass.new }
its(:manipulator_methods) { should be_a Set }
its(:manipulator_methods) { should be_empty }
its(:to_manipulator) { should === subject }
- specify { subject.manipulator_invoke('round').should be_nil }
- specify { subject.manipulator_invoke(:round).should be_nil }
- specify { subject.manipulator_invoke('round', 42, :arg).should be_nil }
+ specify { subject.manipulator_invoke('foo').should be_nil }
+ specify { subject.manipulator_invoke(:foo).should be_nil }
+ specify { subject.manipulator_invoke('foo', 42, :arg).should be_nil }
end
context do
let(:klass) do
Class.new(String) do
include Hotcell::Manipulator::Mixin
- manipulator :split, :size
+ manipulate :foo, :bar
+
+ alias_method :foo, :split
+ alias_method :bar, :size
end
end
subject { klass.new('hello world') }
- its('manipulator_methods.to_a') { should =~ %w(split size) }
its(:to_manipulator) { should === subject }
- specify { subject.manipulator_invoke('length').should be_nil }
- specify { subject.manipulator_invoke('length', 42, :arg).should be_nil }
- specify { subject.manipulator_invoke(:split).should be_nil }
- specify { subject.manipulator_invoke('split').should == %w(hello world) }
- specify { subject.manipulator_invoke('size').should == 11 }
- specify { expect { subject.manipulator_invoke('size', 42) }.to raise_error ArgumentError }
+ specify { (subject.manipulator_methods.to_a & %w(foo bar)).should =~ %w(foo bar) }
+ specify { subject.manipulator_invoke('baz').should be_nil }
+ specify { subject.manipulator_invoke('baz', 42, :arg).should be_nil }
+ specify { subject.manipulator_invoke(:foo).should be_nil }
+ specify { subject.manipulator_invoke('foo').should == %w(hello world) }
+ specify { subject.manipulator_invoke('bar').should == 11 }
+ specify { expect { subject.manipulator_invoke('bar', 42) }.to raise_error ArgumentError }
end
end
context 'inherited' do
let(:klass) do