com gtk/php-gtk: Fixing NTRVNRP method: GdkWindow::get_fr ame_extends and unit test: TODO2 ext/gtk+/gdk .overrides test/unittests/GdkWindowTest.php

[email protected] (David Soria Parra) Tue, 07 Mar 2006 18:41:41 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    44fa3add57996edbbe7416e04c08aa4d4650fdaf
Author:    Christian Weiske <[email protected]>         Tue, 7 Mar 2006 18:41:41 +0000
Parents:   28477477d7cde11e5b4cbf2cf40a826e4a5bb07b
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=44fa3add57996edbbe7416e04c08aa4d4650fdaf

Log:
Fixing NTRVNRP method: GdkWindow::get_frame_extends and unit test

Changed paths:
  M  TODO2
  M  ext/gtk+/gdk.overrides
  M  test/unittests/GdkWindowTest.php


Diff:
44fa3add57996edbbe7416e04c08aa4d4650fdaf
diff --git a/TODO2 b/TODO2
index 9d4dc7b..011b9b9 100644
--- a/TODO2
+++ b/TODO2
@@ -118,8 +118,6 @@ Classes and Functions
 	pixbuf_new_from_array() has PyArrayObject as a parameter
 * GdkPixmap
 	constructor	create_from_xpm_d()
-* GdkWindow
-    get_frame_extends needs to return a parameter not requiring one
 * GtkPlug/GtkSocket
 * Support (array) cast for GtkTreeModelRow and possibly unset()
 
diff --git a/ext/gtk+/gdk.overrides b/ext/gtk+/gdk.overrides
index 6bba6cb..2882ea0 100644
--- a/ext/gtk+/gdk.overrides
+++ b/ext/gtk+/gdk.overrides
@@ -1292,6 +1292,22 @@ PHP_METHOD
 
 
 %%
+override gdk_window_get_frame_extents
+PHP_METHOD
+{
+    GdkRectangle rect;
+
+    NOT_STATIC_METHOD();
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+        return;
+
+    gdk_window_get_frame_extents(GDK_WINDOW(PHPG_GOBJECT(this_ptr)), &rect);
+    phpg_gboxed_new(&return_value, GDK_TYPE_RECTANGLE, &rect, TRUE, TRUE TSRMLS_CC);
+}
+
+
+%%
 override gdk_window_get_geometry
 PHP_METHOD
 {
diff --git a/test/unittests/GdkWindowTest.php b/test/unittests/GdkWindowTest.php
index 96afeeb..699ef68 100644
--- a/test/unittests/GdkWindowTest.php
+++ b/test/unittests/GdkWindowTest.php
@@ -37,6 +37,9 @@ class GdkWindowTest extends PHPUnit2_Framework_TestCase {
      * @access protected
      */
     protected function setUp() {
+        $wnd = new GtkWindow();
+        $wnd->realize();
+        $this->wnd = $wnd->window;
     }
 
     /**
@@ -185,11 +188,12 @@ class GdkWindowTest extends PHPUnit2_Framework_TestCase {
     }
 
     /**
-     * @todo Implement testGet_frame_extents().
+     *
      */
     public function testGet_frame_extents() {
-        // Remove the following line when you implement this test.
-        throw new PHPUnit2_Framework_IncompleteTestError;
+        $rect = $this->wnd->get_frame_extents();
+        $this->assertEquals('GdkRectangle', get_class($rect));
+        $this->assertNotNull($rect);
     }
 
     /**