This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch main
in repository ego.

View the commit online.

commit 5024768981ab80b447dd803f42f50d6760524dd2
Author: [email protected] <[email protected]>
AuthorDate: Mon Mar 9 13:04:48 2026 -0600

    test: add integration test for generated EFL class hierarchy
    
    Added TestButtonCreation to verify end-to-end that the generated
    bindings create EFL objects correctly through their inheritance chain:
    Button → LayoutBase → Widget → canvas.Group → canvas.Object →
    eo.LoopConsumer → efl.Object. This test confirms constructors work,
    reference counting is functional, and all EFL thread synchronization
    requirements are satisfied.
---
 tests/integration/integration_test.go | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go
index d0f719a..4b2e96b 100644
--- a/tests/integration/integration_test.go
+++ b/tests/integration/integration_test.go
@@ -6,6 +6,7 @@ import (
 	"testing"
 
 	"git.enlightenment.org/cedric/ego/efl"
+	"git.enlightenment.org/cedric/ego/efl/ui"
 	"git.enlightenment.org/cedric/ego/tests/assert"
 	"git.enlightenment.org/cedric/ego/tests/harness"
 	"git.enlightenment.org/cedric/ego/tests/require"
@@ -44,3 +45,25 @@ func TestBufferRenderGolden(t *testing.T) {
 	// Golden file test — first run with -update to create baseline
 	assert.Golden(t, img, "empty_buffer_64x64")
 }
+
+// TestButtonCreation verifies that the generated EFL bindings can create a
+// Efl.Ui.Win and a child Efl.Ui.Button end-to-end. All EFL object operations
+// must run on the EFL thread inside efl.Sync.
+func TestButtonCreation(t *testing.T) {
+	var win *ui.Win
+	efl.Sync(func() {
+		win = ui.NewWin(nil)
+	})
+	require.NotNil(t, win, "ui.Win should be created successfully")
+
+	var btn *ui.Button
+	efl.Sync(func() {
+		btn = ui.NewButton(win)
+	})
+	require.NotNil(t, btn, "ui.Button should be created successfully")
+
+	efl.Sync(func() {
+		btn.Unref()
+		win.Unref()
+	})
+}

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to