[macruby-changes] [788] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Jan 13 07:34:04 PST 2009
Revision: 788
http://trac.macosforge.org/projects/ruby/changeset/788
Author: eloy.de.enige at gmail.com
Date: 2009-01-13 07:34:04 -0800 (Tue, 13 Jan 2009)
Log Message:
-----------
Added accessor methods for x, y, width, height to NSRect.
Modified Paths:
--------------
MacRuby/trunk/test-macruby/test_objc_ext.rb
Added Paths:
-----------
MacRuby/trunk/lib/objc_ext/ns_rect.rb
Added: MacRuby/trunk/lib/objc_ext/ns_rect.rb
===================================================================
--- MacRuby/trunk/lib/objc_ext/ns_rect.rb (rev 0)
+++ MacRuby/trunk/lib/objc_ext/ns_rect.rb 2009-01-13 15:34:04 UTC (rev 788)
@@ -0,0 +1,47 @@
+class MacRuby
+ module ObjcExt
+ module NSRect
+ # Returns the `x' coordinate of the rects origin instance.
+ def x
+ origin.x
+ end
+
+ # Assigns the `x' coordinate on the rects origin instance.
+ def x=(x)
+ origin.x = x
+ end
+
+ # Returns the `y' coordinate of the rects origin instance.
+ def x
+ origin.x
+ end
+
+ # Assigns the `y' coordinate on the rects origin instance.
+ def x=(x)
+ origin.x = x
+ end
+
+ # Returns the `height' of the rects size instance.
+ def height
+ size.height
+ end
+
+ # Sets the `height' on the rects size instance.
+ def height=(height)
+ size.height = height
+ end
+
+ # Returns the `width' of the rects size instance.
+ def width
+ size.width
+ end
+
+ # Sets the `width' on the rects size instance.
+ def width=(width)
+ size.width = width
+ end
+ end
+ end
+end
+
+NSRect.send(:include, MacRuby::ObjcExt::NSRect)
\ No newline at end of file
Modified: MacRuby/trunk/test-macruby/test_objc_ext.rb
===================================================================
--- MacRuby/trunk/test-macruby/test_objc_ext.rb 2009-01-13 14:26:28 UTC (rev 787)
+++ MacRuby/trunk/test-macruby/test_objc_ext.rb 2009-01-13 15:34:04 UTC (rev 788)
@@ -1,5 +1,8 @@
#!/usr/bin/env macruby
+$: << File.expand_path('../../lib', __FILE__)
+framework 'Cocoa'
+
require 'test/unit'
class Test::Unit::TestCase
class << self
@@ -9,23 +12,22 @@
end
end
-$: << File.expand_path('../../lib', __FILE__)
+# These tests should probably move to the macruby part of rubyspec once we get to that point.
+
require 'objc_ext/ns_user_defaults'
-# These tests should probably move to the macruby part of rubyspec once we get to that point.
-
-class TestNSUserDefaults < Test::Unit::TestCase
- it "returns a value for a given key through the #[] reader method" do
+class TestNSUserDefaultsExtensions < Test::Unit::TestCase
+ it "should returns a value for a given key through the #[] reader method" do
defaults.setValue('foo', forKey: 'key')
assert_equal 'foo', defaults['key']
end
- it "assigns a value for a given key through the #[]= writer method" do
+ it "should assign a value for a given key through the #[]= writer method" do
defaults['key'] = 'foo'
assert_equal 'foo', defaults.valueForKey('key')
end
- it "removes an object for a given key with the #delete method" do
+ it "should remove an object for a given key with the #delete method" do
defaults.setValue('foo', forKey: 'key')
defaults.delete('key')
assert_nil defaults.valueForKey('key')
@@ -36,4 +38,48 @@
def defaults
NSUserDefaults.standardUserDefaults
end
+end
+
+require 'objc_ext/ns_rect'
+
+class TestNSRectExtensions < Test::Unit::TestCase
+ def setup
+ @rect = NSRect.new([100, 100], [200, 200])
+ end
+
+ it "should return its size instance's height with #height" do
+ assert_equal 200, @rect.height
+ end
+
+ it "should assign the height to its size instance with #height=" do
+ @rect.height = 300
+ assert_equal 300, @rect.height
+ end
+
+ it "should return its size instance's width with #width" do
+ assert_equal 200, @rect.width
+ end
+
+ it "should assign the width to its size instance with #width=" do
+ @rect.width = 300
+ assert_equal 300, @rect.width
+ end
+
+ it "should return its origin instance's x coord with #x" do
+ assert_equal 100, @rect.x
+ end
+
+ it "should assign the x coord to its origin instance with #x=" do
+ @rect.x = 200
+ assert_equal 200, @rect.x
+ end
+
+ it "should return its origin instance's y coord with #y" do
+ assert_equal 100, @rect.y
+ end
+
+ it "should assign the y coord to its origin instance with #y=" do
+ @rect.y = 200
+ assert_equal 200, @rect.y
+ end
end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090113/bd35f7d0/attachment.html>
More information about the macruby-changes
mailing list