Sha256: b0ef9ba2ad0b98a28c02373754c0d18c84a4f87b35137d94600a1169061cabf4
Contents?: true
Size: 1.44 KB
Versions: 2
Compression:
Stored size: 1.44 KB
Contents
require 'spec_helper' module Alf module Operator describe Signature, "#parse_args" do let(:clazz){ Class.new(Object) } let(:receiver){ clazz.new } before{ signature.install } subject{ signature.parse_args(args, receiver) receiver } describe "on a singleton signature with a AttrList" do let(:signature){ Signature.new(clazz) do |s| s.argument :proj, AttrList end } let(:args){ [%w{hello world}] } specify{ subject.proj.should eq(AttrList.new([:hello, :world])) } end describe "on a singleton signature with a default" do let(:signature){ Signature.new(clazz) do |s| s.argument :attrname, AttrName, :autonum end } let(:args){ [] } specify{ subject.attrname.should eq(:autonum) } end describe "on a signature with options" do let(:signature){ Signature.new(clazz) do |s| s.argument :key, AttrList, [] s.option :allbut, Boolean, false end } describe "when no option is provided" do let(:args){ [[:hello, :world]] } specify{ subject.key.should eql(AttrList.new([:hello, :world])) subject.allbut.should eql(false) } end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alf-0.10.1 | spec/unit/operator/signature/test_parse_args.rb |
alf-0.10.0 | spec/unit/operator/signature/test_parse_args.rb |