package editor import ( "pad/internal/ui" "testing" ) func TestEditorLayout_Filename(t *testing.T) { // Setup: Reset state TheState = NewState() // Set a filename expectedFilename := "test.txt" TheState.Editor.Filename = expectedFilename // Run layout screenWidth := ui.Dp(400) screenHeight := ui.Dp(800) elements := EditorLayout(screenWidth, screenHeight, false) // Find top bar (assuming it's the first container element) topBar := elements[0].(ui.Container) // Find the filename label in the top bar (the back icon precedes it). var filenameLabel ui.Label for _, c := range topBar.Children { if l, ok := c.(ui.Label); ok { filenameLabel = l break } } if filenameLabel.Text != expectedFilename { t.Errorf("expected filename %q, got %q", expectedFilename, filenameLabel.Text) } } func TestEditorLayout_DefaultFilename(t *testing.T) { // Setup: Reset state TheState = NewState() // Filename is empty TheState.Editor.Filename = "" // Run layout screenWidth := ui.Dp(400) screenHeight := ui.Dp(800) elements := EditorLayout(screenWidth, screenHeight, false) // Find top bar (assuming it's the first container element) topBar := elements[0].(ui.Container) // Find the filename label in the top bar (the back icon precedes it). var filenameLabel ui.Label for _, c := range topBar.Children { if l, ok := c.(ui.Label); ok { filenameLabel = l break } } expectedDefault := "untitled.txt" if filenameLabel.Text != expectedDefault { t.Errorf("expected default filename %q, got %q", expectedDefault, filenameLabel.Text) } }