b0VIM 7.4V,U|:J?danhac~dan/dev/gems/sig/spec/sig_spec.rbutf-8 3210#"! UtpadygfeU7(nm^T>=$  | f L @ ?  w _ C 5 ) ( X F +  f - Y )  iD0&%vSG=54bNDC{ZND<;!ut7 |Iyq Sig.define klass, [1...100], :my_method it "will raise if not included in range" do end assert true instance.my_method(42) Sig.define klass, [1...100], :my_method it "will do nothing if included in range" do describe "Range" do end end end instance.my_method("blubb") assert_raises Sig::ArgumentTypeError do Sig.define klass, [/bla/], :my_method it "will raise if stringified value does not match" do end assert true instance.my_method("bla") Sig.define klass, [/bla/], :my_method it "will do nothing if stringified value does match" do describe "Regexpg" do end end end instance.my_method(42) assert_raises Sig::ArgumentTypeError do Sig.define klass, [->(e){ e.odd? }], :my_method it "will raise if value does return a truthy result after being processed by the proc" do end assert true instance.my_method(43) Sig.define klass, [->(e){ e.odd? }], :my_method it "will do nothing if value does return a falsy result after being processed by the proc" do describe "Proc" do end end end instance.my_method(true) assert_raises Sig::ArgumentTypeError do Sig.define klass, [:to_i], :my_method it "will raise if value does not respond to method named by the symbol" do end assert true instance.my_method("string") Sig.define klass, [:to_i], :my_method it "will do nothing if value is kind of module" do describe "Symbol" do end end end instance.my_method(42) assert_raises Sig::ArgumentTypeError do Sig.define klass, [Array], :my_method it "will raise if value is not kind of module" do end assert true instance.my_method(42) Sig.define klass, [Numeric], :my_method it "will do nothing if value is kind of module" do describe "Module" do describe "Types" do end end end Klass.blubb 42 assert_raises Sig::ArgumentTypeError do end end def self.blubb(argument) sig_self [String], class Klass it "will always call Sig.define(...) on self's singleton_class" do describe "sig_self" do end end end end Klass.new.bla 42 assert_raises Sig::ArgumentTypeError do end end def bla(argument) sig [String], class Klass it "will call Sig.define(...) for self" do describe "self if a Module" do end end end bla 42 assert_raises Sig::ArgumentTypeError do end def bla(argument) sig [String], it "will call Sig.define(...) for self's singleton_class" do describe "self is no Module" do describe "Kernel#sig" do } end end a * b def self.mul(a, b) protected :prot end def prot private :priv end def priv end def key(arg, word: 42) end a + b def sum(a, b) end def my_method(object) Class.new do let(:klass){ let(:instance){ klass.new }describe Sig doMinitest::Reporters.use! Minitest::Reporters::ProgressReporter.newrequire "minitest/reporters"require "minitest/autorun"require_relative "../lib/sig"ad= u_UML t f A  end end end end klass.new.my_method(42) Sig.define klass, [Object.new], :my_method assert_raises ArgumentError do it "will raise an ArgumentError if unknown signature types are used" do end end Sig.define klass, [String], :unknown assert_raises ArgumentError do it "will raise an ArgumentError if trying to define a signature for an unknown method" do describe "Wrong Usage" do end end end instance.prot assert_raises NoMethodError do Sig.define klass, [String], :prot it "respects restricted visibility of protected methods" do end end instance.priv assert_raises NoMethodError do Sig.define klass, [String], :priv it "respects restricted visibility of private methods" do