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.