[macruby-changes] [1470] MacRuby/branches/experimental/spec/macruby/method_spec.rb

source_changes at macosforge.org source_changes at macosforge.org
Wed Apr 22 16:30:53 PDT 2009


Revision: 1470
          http://trac.macosforge.org/projects/ruby/changeset/1470
Author:   lsansonetti at apple.com
Date:     2009-04-22 16:30:52 -0700 (Wed, 22 Apr 2009)
Log Message:
-----------
added a spec for Array -> C structure conversion

Modified Paths:
--------------
    MacRuby/branches/experimental/spec/macruby/method_spec.rb

Modified: MacRuby/branches/experimental/spec/macruby/method_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/macruby/method_spec.rb	2009-04-22 23:04:33 UTC (rev 1469)
+++ MacRuby/branches/experimental/spec/macruby/method_spec.rb	2009-04-22 23:30:52 UTC (rev 1470)
@@ -439,4 +439,20 @@
     lambda { o.methodAcceptingNSRange(Object.new) }.should raise_error(TypeError)
     lambda { o.methodAcceptingNSRange(o.methodReturningNSPoint) }.should raise_error(TypeError)
   end
+
+  it "accepting an Array of valid objects as a structure type should receive the C structure" do
+    o = TestMethod.new
+    o.methodAcceptingNSPoint([1, 2]).should == 1
+    o.methodAcceptingNSSize([3, 4]).should == 1
+    o.methodAcceptingNSRect([[1, 2], [3, 4]]).should == 1
+    o.methodAcceptingNSRect([1, 2, 3, 4]).should == 1
+    o.methodAcceptingNSRange([0, 42]).should == 1
+
+    lambda { o.methodAcceptingNSPoint([1]) }.should raise_error(ArgumentError)
+    lambda { o.methodAcceptingNSPoint([1, 2, 3]) }.should raise_error(ArgumentError)
+    lambda { o.methodAcceptingNSRect([1, 2, 3]) }.should raise_error(ArgumentError)
+    lambda { o.methodAcceptingNSRect([1, 2, 3, 4, 5]) }.should raise_error(ArgumentError)
+    lambda { o.methodAcceptingNSRect([[1, 2], [3]]) }.should raise_error(ArgumentError)
+    lambda { o.methodAcceptingNSRect([[1, 2], [3, 4, 5]]) }.should raise_error(ArgumentError)
+  end
 end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090422/6e5fec07/attachment.html>


More information about the macruby-changes mailing list