forked from Leak_Technologies/VideoTools
Vendor gotk3 library to ensure consistent GTK3 bindings across environments and simplify dependency management. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
36 lines
762 B
Go
36 lines
762 B
Go
package gtk
|
|
|
|
import "testing"
|
|
|
|
func TestActionableImplementsIActionable(t *testing.T) {
|
|
var cut interface{}
|
|
cut = &Actionable{}
|
|
_, ok := cut.(IActionable)
|
|
|
|
if !ok {
|
|
t.Error("Actionable does not implement IActionable")
|
|
return
|
|
}
|
|
}
|
|
|
|
// TestGetSetActionName tests the getter and setter for action name
|
|
// using a button, as we need an actual instance implementing Actionable.
|
|
func TestGetSetActionName(t *testing.T) {
|
|
cut, err := ButtonNew()
|
|
if err != nil {
|
|
t.Fatal("Error creating button", err.Error())
|
|
}
|
|
|
|
expected := "app.stuff"
|
|
cut.SetActionName(expected)
|
|
|
|
actual, err := cut.GetActionName()
|
|
if err != nil {
|
|
t.Fatal("Error getting action name", err.Error())
|
|
}
|
|
|
|
if expected != actual {
|
|
t.Fatalf("Expected %s got %s", expected, actual)
|
|
}
|
|
}
|