[macruby-changes] [3946] MacRuby/trunk/spec/macruby/core/pointer_spec.rb

source_changes at macosforge.org source_changes at macosforge.org
Tue Apr 20 16:14:49 PDT 2010


Revision: 3946
          http://trac.macosforge.org/projects/ruby/changeset/3946
Author:   lsansonetti at apple.com
Date:     2010-04-20 16:14:49 -0700 (Tue, 20 Apr 2010)
Log Message:
-----------
added specs for Pointer#cast!

Modified Paths:
--------------
    MacRuby/trunk/spec/macruby/core/pointer_spec.rb

Modified: MacRuby/trunk/spec/macruby/core/pointer_spec.rb
===================================================================
--- MacRuby/trunk/spec/macruby/core/pointer_spec.rb	2010-04-20 23:14:30 UTC (rev 3945)
+++ MacRuby/trunk/spec/macruby/core/pointer_spec.rb	2010-04-20 23:14:49 UTC (rev 3946)
@@ -170,3 +170,19 @@
     lambda { pointer[3] = 42 }.should raise_error(ArgumentError)
   end
 end
+
+describe "A Pointer object" do
+  it "can have its type changed using #cast!" do
+    pointer = Pointer.new(NSRect.type)
+    pointer[0] = NSMakeRect(10, 20, 30, 40)
+
+    val = NSValue.valueWithPointer(pointer)
+    pointer2 = val.pointerValue
+    pointer2.class.should == Pointer
+    pointer2.type == 'v'
+
+    pointer2.cast!(NSRect.type).should == pointer2
+    pointer2.type.should == NSRect.type
+    pointer2[0].should == NSMakeRect(10, 20, 30, 40)
+  end
+end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100420/85036b33/attachment.html>


More information about the macruby-changes mailing list