Sha256: 2e4ec129ff7f052a4a95b9e543b15d984addb970860ec771e90618b5e4321ce6
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
require 'application.rb' describe "Application" do it "should define an API based upon the 'api'-function" do class MyApp<Application def myFunc end def a(x,y) x+y end api :myFunc,:a end app=MyApp.new(nil,{}) lambda {app.api(:myFunc)}.should_not raise_error(AccessViolationException) lambda {app.api(:a,3,4)}.should_not raise_error(AccessViolationException) app.api(:a,5,7).should == 12 lambda {app.api(:myFunc2)}.should raise_error(AccessViolationException) end it "APIs should not collide" do class A<Application def a(x,y) x+y end api :a end class B<Application def b(x,y) x-y end api :b end a=A.new(nil,{}) b=B.new(nil,{}) lambda {a.api(:a,3,4)}.should_not raise_error(AccessViolationException) lambda {a.api(:b,3,4)}.should raise_error(AccessViolationException) a.api(:a,3,4).should == 7 lambda {b.api(:a,3,4)}.should raise_error(AccessViolationException) lambda {b.api(:b,3,4)}.should_not raise_error(AccessViolationException) b.api(:b,3,4).should == -1 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
appswarm-0.0.1 | lib/appswarm/spec/application_spec.rb |