From b546ad6da774bde35cd25050b40680d9e0284467 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 22 Apr 2024 20:11:55 +0100 Subject: [PATCH 1/7] Move this common code to a single method --- widget/check.go | 17 +++++++++++------ widget/radio_item.go | 8 ++------ widget/slider.go | 9 ++------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/widget/check.go b/widget/check.go index b8c0ce3253..22cf72d465 100644 --- a/widget/check.go +++ b/widget/check.go @@ -138,12 +138,8 @@ func (c *Check) Tapped(pe *fyne.PointEvent) { return } - if !c.focused && !fyne.CurrentDevice().IsMobile() { - impl := c.super() - - if c := fyne.CurrentApp().Driver().CanvasForObject(impl); c != nil { - c.Focus(impl.(fyne.Focusable)) - } + if !c.focused { + focusIfNotMobile(c.super()) } c.SetChecked(!c.Checked) } @@ -382,3 +378,12 @@ func (c *checkRenderer) updateFocusIndicator(th fyne.Theme, v fyne.ThemeVariant) c.focusIndicator.FillColor = color.Transparent } } + +func focusIfNotMobile(w fyne.Widget) { + if !fyne.CurrentDevice().IsMobile() { + if c := fyne.CurrentApp().Driver().CanvasForObject(w); c != nil { + c.Focus(w.(fyne.Focusable)) + } + } + +} diff --git a/widget/radio_item.go b/widget/radio_item.go index 8fd24d5acd..fbcf075eb1 100644 --- a/widget/radio_item.go +++ b/widget/radio_item.go @@ -105,12 +105,8 @@ func (i *radioItem) SetSelected(selected bool) { // // Implements: fyne.Tappable func (i *radioItem) Tapped(_ *fyne.PointEvent) { - if !i.focused && !fyne.CurrentDevice().IsMobile() { - impl := i.super() - - if c := fyne.CurrentApp().Driver().CanvasForObject(impl); c != nil { - c.Focus(impl.(fyne.Focusable)) - } + if !i.focused { + focusIfNotMobile(i.super()) } i.toggle() } diff --git a/widget/slider.go b/widget/slider.go index 80625d6063..6c8118c16f 100644 --- a/widget/slider.go +++ b/widget/slider.go @@ -114,13 +114,8 @@ func (s *Slider) Tapped(e *fyne.PointEvent) { return } - driver := fyne.CurrentApp().Driver() - if !s.focused && !driver.Device().IsMobile() { - impl := s.super() - - if c := driver.CanvasForObject(impl); c != nil { - c.Focus(impl.(fyne.Focusable)) - } + if !s.focused { + focusIfNotMobile(s.super()) } ratio := s.getRatio(e) From 623185ae8ff4cf348339149d7950fb51849aeb3f Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 22 Apr 2024 20:12:27 +0100 Subject: [PATCH 2/7] Focus the select when tapped if not mobile (like the other widgets) --- widget/select.go | 4 ++++ widget/slider_test.go | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/widget/select.go b/widget/select.go index d0e36abccc..c1ac6114a4 100644 --- a/widget/select.go +++ b/widget/select.go @@ -200,6 +200,10 @@ func (s *Select) Tapped(*fyne.PointEvent) { return } + if !s.focused { + focusIfNotMobile(s.super()) + } + s.tapAnimation() s.Refresh() diff --git a/widget/slider_test.go b/widget/slider_test.go index 1a139fc649..6995f8bfd7 100644 --- a/widget/slider_test.go +++ b/widget/slider_test.go @@ -285,8 +285,14 @@ func TestSlider_SetValue(t *testing.T) { } func TestSlider_Focus(t *testing.T) { - slider := NewSlider(0, 5) + slider := NewSlider(0, 10) + win := test.NewWindow(slider) + test.Tap(slider) + + assert.Equal(t, win.Canvas().Focused(), slider) + assert.True(t, slider.focused) + slider = NewSlider(0, 5) slider.FocusGained() assert.True(t, slider.focused) From 45fed0461776ba5303e048ad177479391d88bc3e Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 22 Apr 2024 20:37:55 +0100 Subject: [PATCH 3/7] Don't test desktop behaviour on mobile --- widget/slider_test.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/widget/slider_test.go b/widget/slider_test.go index 6995f8bfd7..918c722c27 100644 --- a/widget/slider_test.go +++ b/widget/slider_test.go @@ -284,15 +284,20 @@ func TestSlider_SetValue(t *testing.T) { assert.Equal(t, 2.0, slider.Value) } -func TestSlider_Focus(t *testing.T) { +func TestSlider_FocusDesktop(t *testing.T) { + if fyne.CurrentDevice().IsMobile() { + return + } slider := NewSlider(0, 10) win := test.NewWindow(slider) test.Tap(slider) assert.Equal(t, win.Canvas().Focused(), slider) assert.True(t, slider.focused) +} - slider = NewSlider(0, 5) +func TestSlider_Focus(t *testing.T) { + slider := NewSlider(0, 5) slider.FocusGained() assert.True(t, slider.focused) From 80b9776444ceb2bb84513845bd5a1de4cdef3072 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 22 Apr 2024 20:41:28 +0100 Subject: [PATCH 4/7] Update the XML for the changed focus state after select tap --- widget/testdata/select/center.xml | 2 +- widget/testdata/select/layout_empty_expanded.xml | 2 +- widget/testdata/select/layout_empty_expanded_placeholder.xml | 2 +- widget/testdata/select/layout_multiple_expanded.xml | 2 +- widget/testdata/select/layout_multiple_expanded_placeholder.xml | 2 +- widget/testdata/select/layout_multiple_expanded_selected.xml | 2 +- .../select/layout_multiple_expanded_selected_placeholder.xml | 2 +- widget/testdata/select/layout_single_expanded.xml | 2 +- widget/testdata/select/layout_single_expanded_placeholder.xml | 2 +- widget/testdata/select/layout_single_expanded_selected.xml | 2 +- .../select/layout_single_expanded_selected_placeholder.xml | 2 +- widget/testdata/select/move_moved.xml | 2 +- widget/testdata/select/move_tapped.xml | 2 +- widget/testdata/select/tapped.xml | 2 +- widget/testdata/select/tapped_constrained.xml | 2 +- widget/testdata/select/trailing.xml | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/widget/testdata/select/center.xml b/widget/testdata/select/center.xml index 3ccd92e4c2..2564f73535 100644 --- a/widget/testdata/select/center.xml +++ b/widget/testdata/select/center.xml @@ -2,7 +2,7 @@ - + (Select one) diff --git a/widget/testdata/select/layout_empty_expanded.xml b/widget/testdata/select/layout_empty_expanded.xml index 630abc1f28..3c107c833f 100644 --- a/widget/testdata/select/layout_empty_expanded.xml +++ b/widget/testdata/select/layout_empty_expanded.xml @@ -2,7 +2,7 @@ - + (Select one) diff --git a/widget/testdata/select/layout_empty_expanded_placeholder.xml b/widget/testdata/select/layout_empty_expanded_placeholder.xml index cb2478c249..75f09af8d8 100644 --- a/widget/testdata/select/layout_empty_expanded_placeholder.xml +++ b/widget/testdata/select/layout_empty_expanded_placeholder.xml @@ -2,7 +2,7 @@ - + (Pick 1) diff --git a/widget/testdata/select/layout_multiple_expanded.xml b/widget/testdata/select/layout_multiple_expanded.xml index 6a2d3207bb..f41936a860 100644 --- a/widget/testdata/select/layout_multiple_expanded.xml +++ b/widget/testdata/select/layout_multiple_expanded.xml @@ -2,7 +2,7 @@ - + (Select one) diff --git a/widget/testdata/select/layout_multiple_expanded_placeholder.xml b/widget/testdata/select/layout_multiple_expanded_placeholder.xml index 2364830489..7b3d49b01e 100644 --- a/widget/testdata/select/layout_multiple_expanded_placeholder.xml +++ b/widget/testdata/select/layout_multiple_expanded_placeholder.xml @@ -2,7 +2,7 @@ - + (Pick 1) diff --git a/widget/testdata/select/layout_multiple_expanded_selected.xml b/widget/testdata/select/layout_multiple_expanded_selected.xml index 3b3b7f69cd..f064927b27 100644 --- a/widget/testdata/select/layout_multiple_expanded_selected.xml +++ b/widget/testdata/select/layout_multiple_expanded_selected.xml @@ -2,7 +2,7 @@ - + Foo diff --git a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml b/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml index 47b7a639c2..35b2cd2451 100644 --- a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml +++ b/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml @@ -2,7 +2,7 @@ - + Foo diff --git a/widget/testdata/select/layout_single_expanded.xml b/widget/testdata/select/layout_single_expanded.xml index adad72e40c..a2f2872887 100644 --- a/widget/testdata/select/layout_single_expanded.xml +++ b/widget/testdata/select/layout_single_expanded.xml @@ -2,7 +2,7 @@ - + (Select one) diff --git a/widget/testdata/select/layout_single_expanded_placeholder.xml b/widget/testdata/select/layout_single_expanded_placeholder.xml index a9b34ec610..c0a1c37264 100644 --- a/widget/testdata/select/layout_single_expanded_placeholder.xml +++ b/widget/testdata/select/layout_single_expanded_placeholder.xml @@ -2,7 +2,7 @@ - + (Pick 1) diff --git a/widget/testdata/select/layout_single_expanded_selected.xml b/widget/testdata/select/layout_single_expanded_selected.xml index 1fdb491d9a..2363bf27d8 100644 --- a/widget/testdata/select/layout_single_expanded_selected.xml +++ b/widget/testdata/select/layout_single_expanded_selected.xml @@ -2,7 +2,7 @@ - + Test diff --git a/widget/testdata/select/layout_single_expanded_selected_placeholder.xml b/widget/testdata/select/layout_single_expanded_selected_placeholder.xml index df46cffae4..be45efc02f 100644 --- a/widget/testdata/select/layout_single_expanded_selected_placeholder.xml +++ b/widget/testdata/select/layout_single_expanded_selected_placeholder.xml @@ -2,7 +2,7 @@ - + Test diff --git a/widget/testdata/select/move_moved.xml b/widget/testdata/select/move_moved.xml index e311ab9cea..f674651473 100644 --- a/widget/testdata/select/move_moved.xml +++ b/widget/testdata/select/move_moved.xml @@ -1,7 +1,7 @@ - + (Select one) diff --git a/widget/testdata/select/move_tapped.xml b/widget/testdata/select/move_tapped.xml index 017960f3ed..e6b2c17179 100644 --- a/widget/testdata/select/move_tapped.xml +++ b/widget/testdata/select/move_tapped.xml @@ -1,7 +1,7 @@ - + (Select one) diff --git a/widget/testdata/select/tapped.xml b/widget/testdata/select/tapped.xml index df409ff160..919515cb94 100644 --- a/widget/testdata/select/tapped.xml +++ b/widget/testdata/select/tapped.xml @@ -1,7 +1,7 @@ - + (Select one) diff --git a/widget/testdata/select/tapped_constrained.xml b/widget/testdata/select/tapped_constrained.xml index 52da061503..93ebd22a0c 100644 --- a/widget/testdata/select/tapped_constrained.xml +++ b/widget/testdata/select/tapped_constrained.xml @@ -1,7 +1,7 @@ - + (Select one) diff --git a/widget/testdata/select/trailing.xml b/widget/testdata/select/trailing.xml index 44760dd9e0..86ec237c7e 100644 --- a/widget/testdata/select/trailing.xml +++ b/widget/testdata/select/trailing.xml @@ -2,7 +2,7 @@ - + (Select one) From be86cb7e6ed6a36654fd9532231fa3c26f9ebb7f Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 22 Apr 2024 20:51:57 +0100 Subject: [PATCH 5/7] Update images too --- widget/testdata/select/tap_animation.png | Bin 3003 -> 3040 bytes widget/testdata/select/theme_changed.png | Bin 3930 -> 3961 bytes widget/testdata/select/theme_initial.png | Bin 3224 -> 3330 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/widget/testdata/select/tap_animation.png b/widget/testdata/select/tap_animation.png index 2491b0551d11544633c5f90a0b75ffbe68bed518..18dfb851b49a41846c571d8b6db8a497e6d9882f 100644 GIT binary patch literal 3040 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 I1aS)gH~1#=B>(^b literal 3003 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 diff --git a/widget/testdata/select/theme_changed.png b/widget/testdata/select/theme_changed.png index 197350e94416986f318d79b027cdde0d5e9806d5..7855eeee53b9988ad3ff80e6f4ec407c98c8a00c 100644 GIT binary patch delta 3502 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 delta 3494 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 U+4TtdnE(I)07*qoM6N<$f_@7l+W-In diff --git a/widget/testdata/select/theme_initial.png b/widget/testdata/select/theme_initial.png index bd4087b39834da122c1eb461390fb4ab2f4b03fb..0bb77ffdd2fe5176f05dc15d2f0c09a71f4626ad 100644 GIT binary patch delta 2827 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 delta 2724 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 e=l=o#0RR7IYE!|RCvGkP0000 Date: Sun, 5 May 2024 14:53:35 +0100 Subject: [PATCH 6/7] Split test files between mobile and desktop --- widget/select_internal_test.go | 9 +++- widget/select_test.go | 41 ++++++++++++---- .../testdata/select/{ => desktop}/center.xml | 0 .../select/{ => desktop}/layout_empty.xml | 0 .../{ => desktop}/layout_empty_expanded.xml | 0 .../layout_empty_expanded_placeholder.xml | 0 .../layout_empty_placeholder.xml | 0 .../select/{ => desktop}/layout_multiple.xml | 0 .../layout_multiple_expanded.xml | 0 .../layout_multiple_expanded_placeholder.xml | 0 .../layout_multiple_expanded_selected.xml | 0 ...multiple_expanded_selected_placeholder.xml | 0 .../layout_multiple_placeholder.xml | 0 .../layout_multiple_selected.xml | 0 .../layout_multiple_selected_placeholder.xml | 0 .../select/{ => desktop}/layout_single.xml | 0 .../{ => desktop}/layout_single_expanded.xml | 0 .../layout_single_expanded_placeholder.xml | 0 .../layout_single_expanded_selected.xml | 0 ...t_single_expanded_selected_placeholder.xml | 0 .../layout_single_placeholder.xml | 0 .../{ => desktop}/layout_single_selected.xml | 0 .../layout_single_selected_placeholder.xml | 0 .../select/{ => desktop}/move_moved.xml | 0 .../select/{ => desktop}/move_tapped.xml | 0 .../select/{ => desktop}/tap_animation.png | Bin .../testdata/select/{ => desktop}/tapped.xml | 0 .../{ => desktop}/tapped_constrained.xml | 0 .../select/{ => desktop}/theme_changed.png | Bin .../select/{ => desktop}/theme_initial.png | Bin .../select/{ => desktop}/trailing.xml | 0 widget/testdata/select/mobile/center.xml | 42 ++++++++++++++++ .../testdata/select/mobile/layout_empty.xml | 16 +++++++ .../select/mobile/layout_empty_expanded.xml | 39 +++++++++++++++ .../layout_empty_expanded_placeholder.xml | 39 +++++++++++++++ .../mobile/layout_empty_placeholder.xml | 16 +++++++ .../select/mobile/layout_multiple.xml | 16 +++++++ .../mobile/layout_multiple_expanded.xml | 45 ++++++++++++++++++ .../layout_multiple_expanded_placeholder.xml | 45 ++++++++++++++++++ .../layout_multiple_expanded_selected.xml | 45 ++++++++++++++++++ ...multiple_expanded_selected_placeholder.xml | 45 ++++++++++++++++++ .../mobile/layout_multiple_placeholder.xml | 16 +++++++ .../mobile/layout_multiple_selected.xml | 16 +++++++ .../layout_multiple_selected_placeholder.xml | 16 +++++++ .../testdata/select/mobile/layout_single.xml | 16 +++++++ .../select/mobile/layout_single_expanded.xml | 42 ++++++++++++++++ .../layout_single_expanded_placeholder.xml | 42 ++++++++++++++++ .../layout_single_expanded_selected.xml | 42 ++++++++++++++++ ...t_single_expanded_selected_placeholder.xml | 42 ++++++++++++++++ .../mobile/layout_single_placeholder.xml | 16 +++++++ .../select/mobile/layout_single_selected.xml | 16 +++++++ .../layout_single_selected_placeholder.xml | 16 +++++++ widget/testdata/select/mobile/move_moved.xml | 43 +++++++++++++++++ widget/testdata/select/mobile/move_tapped.xml | 43 +++++++++++++++++ .../testdata/select/mobile/tap_animation.png | Bin 0 -> 3003 bytes widget/testdata/select/mobile/tapped.xml | 43 +++++++++++++++++ .../select/mobile/tapped_constrained.xml | 43 +++++++++++++++++ .../testdata/select/mobile/theme_changed.png | Bin 0 -> 3930 bytes .../testdata/select/mobile/theme_initial.png | Bin 0 -> 3224 bytes widget/testdata/select/mobile/trailing.xml | 42 ++++++++++++++++ 60 files changed, 881 insertions(+), 11 deletions(-) rename widget/testdata/select/{ => desktop}/center.xml (100%) rename widget/testdata/select/{ => desktop}/layout_empty.xml (100%) rename widget/testdata/select/{ => desktop}/layout_empty_expanded.xml (100%) rename widget/testdata/select/{ => desktop}/layout_empty_expanded_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_empty_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_expanded.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_expanded_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_expanded_selected.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_expanded_selected_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_selected.xml (100%) rename widget/testdata/select/{ => desktop}/layout_multiple_selected_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_expanded.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_expanded_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_expanded_selected.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_expanded_selected_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_selected.xml (100%) rename widget/testdata/select/{ => desktop}/layout_single_selected_placeholder.xml (100%) rename widget/testdata/select/{ => desktop}/move_moved.xml (100%) rename widget/testdata/select/{ => desktop}/move_tapped.xml (100%) rename widget/testdata/select/{ => desktop}/tap_animation.png (100%) rename widget/testdata/select/{ => desktop}/tapped.xml (100%) rename widget/testdata/select/{ => desktop}/tapped_constrained.xml (100%) rename widget/testdata/select/{ => desktop}/theme_changed.png (100%) rename widget/testdata/select/{ => desktop}/theme_initial.png (100%) rename widget/testdata/select/{ => desktop}/trailing.xml (100%) create mode 100644 widget/testdata/select/mobile/center.xml create mode 100644 widget/testdata/select/mobile/layout_empty.xml create mode 100644 widget/testdata/select/mobile/layout_empty_expanded.xml create mode 100644 widget/testdata/select/mobile/layout_empty_expanded_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_empty_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_multiple.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_expanded.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_expanded_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_expanded_selected.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_expanded_selected_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_selected.xml create mode 100644 widget/testdata/select/mobile/layout_multiple_selected_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_single.xml create mode 100644 widget/testdata/select/mobile/layout_single_expanded.xml create mode 100644 widget/testdata/select/mobile/layout_single_expanded_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_single_expanded_selected.xml create mode 100644 widget/testdata/select/mobile/layout_single_expanded_selected_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_single_placeholder.xml create mode 100644 widget/testdata/select/mobile/layout_single_selected.xml create mode 100644 widget/testdata/select/mobile/layout_single_selected_placeholder.xml create mode 100644 widget/testdata/select/mobile/move_moved.xml create mode 100644 widget/testdata/select/mobile/move_tapped.xml create mode 100644 widget/testdata/select/mobile/tap_animation.png create mode 100644 widget/testdata/select/mobile/tapped.xml create mode 100644 widget/testdata/select/mobile/tapped_constrained.xml create mode 100644 widget/testdata/select/mobile/theme_changed.png create mode 100644 widget/testdata/select/mobile/theme_initial.png create mode 100644 widget/testdata/select/mobile/trailing.xml diff --git a/widget/select_internal_test.go b/widget/select_internal_test.go index a030e15035..218352b284 100644 --- a/widget/select_internal_test.go +++ b/widget/select_internal_test.go @@ -47,11 +47,16 @@ func TestSelectRenderer_TapAnimation(t *testing.T) { sel.Resize(sel.MinSize()) sel.Refresh() + path := "select/desktop/tap_animation.png" + if fyne.CurrentDevice().IsMobile() { + path = "select/mobile/tap_animation.png" + } + render1 := test.WidgetRenderer(sel).(*selectRenderer) test.Tap(sel) sel.popUp.Hide() sel.tapAnim.Tick(0.5) - test.AssertImageMatches(t, "select/tap_animation.png", w.Canvas().Capture()) + test.AssertImageMatches(t, path, w.Canvas().Capture()) cache.DestroyRenderer(sel) sel.Refresh() @@ -63,5 +68,5 @@ func TestSelectRenderer_TapAnimation(t *testing.T) { test.Tap(sel) sel.popUp.Hide() sel.tapAnim.Tick(0.5) - test.AssertImageMatches(t, "select/tap_animation.png", w.Canvas().Capture()) + test.AssertImageMatches(t, path, w.Canvas().Capture()) } diff --git a/widget/select_test.go b/widget/select_test.go index ac97654d09..f06dddf34d 100644 --- a/widget/select_test.go +++ b/widget/select_test.go @@ -1,6 +1,8 @@ package widget_test import ( + "fmt" + "image" "testing" "time" @@ -35,11 +37,11 @@ func TestSelect_Align(t *testing.T) { c := fyne.CurrentApp().Driver().CanvasForObject(sel) test.Tap(sel) - test.AssertRendersToMarkup(t, "select/center.xml", c) + assertRendersToPlatformMarkup(t, "select/%s/center.xml", c) sel.Alignment = fyne.TextAlignTrailing sel.Refresh() - test.AssertRendersToMarkup(t, "select/trailing.xml", c) + assertRendersToPlatformMarkup(t, "select/%s/trailing.xml", c) } func TestSelect_ChangeTheme(t *testing.T) { @@ -54,13 +56,13 @@ func TestSelect_ChangeTheme(t *testing.T) { combo.Move(fyne.NewPos(10, 10)) test.Tap(combo) - test.AssertImageMatches(t, "select/theme_initial.png", w.Canvas().Capture()) + assertImageMatchesPlatform(t, "select/%s/theme_initial.png", w.Canvas().Capture()) test.WithTestTheme(t, func() { combo.Resize(combo.MinSize()) combo.Refresh() time.Sleep(100 * time.Millisecond) - test.AssertImageMatches(t, "select/theme_changed.png", w.Canvas().Capture()) + assertImageMatchesPlatform(t, "select/%s/theme_changed.png", w.Canvas().Capture()) }) } @@ -295,10 +297,10 @@ func TestSelect_Move(t *testing.T) { test.AssertRendersToMarkup(t, "select/move_initial.xml", w.Canvas()) combo.Tapped(&fyne.PointEvent{}) - test.AssertRendersToMarkup(t, "select/move_tapped.xml", w.Canvas()) + assertRendersToPlatformMarkup(t, "select/%s/move_tapped.xml", w.Canvas()) combo.Move(fyne.NewPos(20, 20)) - test.AssertRendersToMarkup(t, "select/move_moved.xml", w.Canvas()) + assertRendersToPlatformMarkup(t, "select/%s/move_moved.xml", w.Canvas()) } func TestSelect_PlaceHolder(t *testing.T) { @@ -427,7 +429,7 @@ func TestSelect_Tapped(t *testing.T) { test.Tap(combo) canvas := fyne.CurrentApp().Driver().CanvasForObject(combo) assert.Equal(t, 1, len(canvas.Overlays().List())) - test.AssertRendersToMarkup(t, "select/tapped.xml", w.Canvas()) + assertRendersToPlatformMarkup(t, "select/%s/tapped.xml", w.Canvas()) } func TestSelect_Tapped_Constrained(t *testing.T) { @@ -444,7 +446,7 @@ func TestSelect_Tapped_Constrained(t *testing.T) { combo.Move(fyne.NewPos(canvas.Size().Width-10, canvas.Size().Height-10)) test.Tap(combo) assert.Equal(t, 1, len(canvas.Overlays().List())) - test.AssertRendersToMarkup(t, "select/tapped_constrained.xml", w.Canvas()) + assertRendersToPlatformMarkup(t, "select/%s/tapped_constrained.xml", w.Canvas()) } func TestSelect_Layout(t *testing.T) { @@ -554,9 +556,30 @@ func TestSelect_Layout(t *testing.T) { } window.Resize(combo.MinSize().Max(fyne.NewSize(150, 200))) - test.AssertRendersToMarkup(t, "select/layout_"+name+".xml", window.Canvas()) + assertRendersToPlatformMarkup(t, "select/%s/layout_"+name+".xml", window.Canvas()) window.Close() }) } } + +func assertRendersToPlatformMarkup(t *testing.T, file string, c fyne.Canvas) { + platform := "desktop" + if fyne.CurrentDevice().IsMobile() { + platform = "mobile" + } + + path := fmt.Sprintf(file, platform) + test.AssertRendersToMarkup(t, path, c) +} + +func assertImageMatchesPlatform(t *testing.T, file string, i image.Image) { + platform := "desktop" + if fyne.CurrentDevice().IsMobile() { + platform = "mobile" + } + + path := fmt.Sprintf(file, platform) + test.AssertImageMatches(t, path, i) +} + diff --git a/widget/testdata/select/center.xml b/widget/testdata/select/desktop/center.xml similarity index 100% rename from widget/testdata/select/center.xml rename to widget/testdata/select/desktop/center.xml diff --git a/widget/testdata/select/layout_empty.xml b/widget/testdata/select/desktop/layout_empty.xml similarity index 100% rename from widget/testdata/select/layout_empty.xml rename to widget/testdata/select/desktop/layout_empty.xml diff --git a/widget/testdata/select/layout_empty_expanded.xml b/widget/testdata/select/desktop/layout_empty_expanded.xml similarity index 100% rename from widget/testdata/select/layout_empty_expanded.xml rename to widget/testdata/select/desktop/layout_empty_expanded.xml diff --git a/widget/testdata/select/layout_empty_expanded_placeholder.xml b/widget/testdata/select/desktop/layout_empty_expanded_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_empty_expanded_placeholder.xml rename to widget/testdata/select/desktop/layout_empty_expanded_placeholder.xml diff --git a/widget/testdata/select/layout_empty_placeholder.xml b/widget/testdata/select/desktop/layout_empty_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_empty_placeholder.xml rename to widget/testdata/select/desktop/layout_empty_placeholder.xml diff --git a/widget/testdata/select/layout_multiple.xml b/widget/testdata/select/desktop/layout_multiple.xml similarity index 100% rename from widget/testdata/select/layout_multiple.xml rename to widget/testdata/select/desktop/layout_multiple.xml diff --git a/widget/testdata/select/layout_multiple_expanded.xml b/widget/testdata/select/desktop/layout_multiple_expanded.xml similarity index 100% rename from widget/testdata/select/layout_multiple_expanded.xml rename to widget/testdata/select/desktop/layout_multiple_expanded.xml diff --git a/widget/testdata/select/layout_multiple_expanded_placeholder.xml b/widget/testdata/select/desktop/layout_multiple_expanded_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_multiple_expanded_placeholder.xml rename to widget/testdata/select/desktop/layout_multiple_expanded_placeholder.xml diff --git a/widget/testdata/select/layout_multiple_expanded_selected.xml b/widget/testdata/select/desktop/layout_multiple_expanded_selected.xml similarity index 100% rename from widget/testdata/select/layout_multiple_expanded_selected.xml rename to widget/testdata/select/desktop/layout_multiple_expanded_selected.xml diff --git a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml b/widget/testdata/select/desktop/layout_multiple_expanded_selected_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml rename to widget/testdata/select/desktop/layout_multiple_expanded_selected_placeholder.xml diff --git a/widget/testdata/select/layout_multiple_placeholder.xml b/widget/testdata/select/desktop/layout_multiple_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_multiple_placeholder.xml rename to widget/testdata/select/desktop/layout_multiple_placeholder.xml diff --git a/widget/testdata/select/layout_multiple_selected.xml b/widget/testdata/select/desktop/layout_multiple_selected.xml similarity index 100% rename from widget/testdata/select/layout_multiple_selected.xml rename to widget/testdata/select/desktop/layout_multiple_selected.xml diff --git a/widget/testdata/select/layout_multiple_selected_placeholder.xml b/widget/testdata/select/desktop/layout_multiple_selected_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_multiple_selected_placeholder.xml rename to widget/testdata/select/desktop/layout_multiple_selected_placeholder.xml diff --git a/widget/testdata/select/layout_single.xml b/widget/testdata/select/desktop/layout_single.xml similarity index 100% rename from widget/testdata/select/layout_single.xml rename to widget/testdata/select/desktop/layout_single.xml diff --git a/widget/testdata/select/layout_single_expanded.xml b/widget/testdata/select/desktop/layout_single_expanded.xml similarity index 100% rename from widget/testdata/select/layout_single_expanded.xml rename to widget/testdata/select/desktop/layout_single_expanded.xml diff --git a/widget/testdata/select/layout_single_expanded_placeholder.xml b/widget/testdata/select/desktop/layout_single_expanded_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_single_expanded_placeholder.xml rename to widget/testdata/select/desktop/layout_single_expanded_placeholder.xml diff --git a/widget/testdata/select/layout_single_expanded_selected.xml b/widget/testdata/select/desktop/layout_single_expanded_selected.xml similarity index 100% rename from widget/testdata/select/layout_single_expanded_selected.xml rename to widget/testdata/select/desktop/layout_single_expanded_selected.xml diff --git a/widget/testdata/select/layout_single_expanded_selected_placeholder.xml b/widget/testdata/select/desktop/layout_single_expanded_selected_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_single_expanded_selected_placeholder.xml rename to widget/testdata/select/desktop/layout_single_expanded_selected_placeholder.xml diff --git a/widget/testdata/select/layout_single_placeholder.xml b/widget/testdata/select/desktop/layout_single_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_single_placeholder.xml rename to widget/testdata/select/desktop/layout_single_placeholder.xml diff --git a/widget/testdata/select/layout_single_selected.xml b/widget/testdata/select/desktop/layout_single_selected.xml similarity index 100% rename from widget/testdata/select/layout_single_selected.xml rename to widget/testdata/select/desktop/layout_single_selected.xml diff --git a/widget/testdata/select/layout_single_selected_placeholder.xml b/widget/testdata/select/desktop/layout_single_selected_placeholder.xml similarity index 100% rename from widget/testdata/select/layout_single_selected_placeholder.xml rename to widget/testdata/select/desktop/layout_single_selected_placeholder.xml diff --git a/widget/testdata/select/move_moved.xml b/widget/testdata/select/desktop/move_moved.xml similarity index 100% rename from widget/testdata/select/move_moved.xml rename to widget/testdata/select/desktop/move_moved.xml diff --git a/widget/testdata/select/move_tapped.xml b/widget/testdata/select/desktop/move_tapped.xml similarity index 100% rename from widget/testdata/select/move_tapped.xml rename to widget/testdata/select/desktop/move_tapped.xml diff --git a/widget/testdata/select/tap_animation.png b/widget/testdata/select/desktop/tap_animation.png similarity index 100% rename from widget/testdata/select/tap_animation.png rename to widget/testdata/select/desktop/tap_animation.png diff --git a/widget/testdata/select/tapped.xml b/widget/testdata/select/desktop/tapped.xml similarity index 100% rename from widget/testdata/select/tapped.xml rename to widget/testdata/select/desktop/tapped.xml diff --git a/widget/testdata/select/tapped_constrained.xml b/widget/testdata/select/desktop/tapped_constrained.xml similarity index 100% rename from widget/testdata/select/tapped_constrained.xml rename to widget/testdata/select/desktop/tapped_constrained.xml diff --git a/widget/testdata/select/theme_changed.png b/widget/testdata/select/desktop/theme_changed.png similarity index 100% rename from widget/testdata/select/theme_changed.png rename to widget/testdata/select/desktop/theme_changed.png diff --git a/widget/testdata/select/theme_initial.png b/widget/testdata/select/desktop/theme_initial.png similarity index 100% rename from widget/testdata/select/theme_initial.png rename to widget/testdata/select/desktop/theme_initial.png diff --git a/widget/testdata/select/trailing.xml b/widget/testdata/select/desktop/trailing.xml similarity index 100% rename from widget/testdata/select/trailing.xml rename to widget/testdata/select/desktop/trailing.xml diff --git a/widget/testdata/select/mobile/center.xml b/widget/testdata/select/mobile/center.xml new file mode 100644 index 0000000000..56b720b328 --- /dev/null +++ b/widget/testdata/select/mobile/center.xml @@ -0,0 +1,42 @@ + + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + + Hi + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_empty.xml b/widget/testdata/select/mobile/layout_empty.xml new file mode 100644 index 0000000000..a662d36d6a --- /dev/null +++ b/widget/testdata/select/mobile/layout_empty.xml @@ -0,0 +1,16 @@ + + + + + + + + (Select one) + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_empty_expanded.xml b/widget/testdata/select/mobile/layout_empty_expanded.xml new file mode 100644 index 0000000000..805dd29a86 --- /dev/null +++ b/widget/testdata/select/mobile/layout_empty_expanded.xml @@ -0,0 +1,39 @@ + + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_empty_expanded_placeholder.xml b/widget/testdata/select/mobile/layout_empty_expanded_placeholder.xml new file mode 100644 index 0000000000..8420933255 --- /dev/null +++ b/widget/testdata/select/mobile/layout_empty_expanded_placeholder.xml @@ -0,0 +1,39 @@ + + + + + + + + (Pick 1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_empty_placeholder.xml b/widget/testdata/select/mobile/layout_empty_placeholder.xml new file mode 100644 index 0000000000..b6fb6c7b9c --- /dev/null +++ b/widget/testdata/select/mobile/layout_empty_placeholder.xml @@ -0,0 +1,16 @@ + + + + + + + + (Pick 1) + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple.xml b/widget/testdata/select/mobile/layout_multiple.xml new file mode 100644 index 0000000000..a662d36d6a --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple.xml @@ -0,0 +1,16 @@ + + + + + + + + (Select one) + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_expanded.xml b/widget/testdata/select/mobile/layout_multiple_expanded.xml new file mode 100644 index 0000000000..a2245801d5 --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_expanded.xml @@ -0,0 +1,45 @@ + + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + + Foo + + + Bar + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_expanded_placeholder.xml b/widget/testdata/select/mobile/layout_multiple_expanded_placeholder.xml new file mode 100644 index 0000000000..4f825528f0 --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_expanded_placeholder.xml @@ -0,0 +1,45 @@ + + + + + + + + (Pick 1) + + + + + + + + + + + + + + + + + + + + + + + + + + Foo + + + Bar + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_expanded_selected.xml b/widget/testdata/select/mobile/layout_multiple_expanded_selected.xml new file mode 100644 index 0000000000..f4a56cf266 --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_expanded_selected.xml @@ -0,0 +1,45 @@ + + + + + + + + Foo + + + + + + + + + + + + + + + + + + + + + + + + + + Foo + + + Bar + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_expanded_selected_placeholder.xml b/widget/testdata/select/mobile/layout_multiple_expanded_selected_placeholder.xml new file mode 100644 index 0000000000..c989b1f63f --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_expanded_selected_placeholder.xml @@ -0,0 +1,45 @@ + + + + + + + + Foo + + + + + + + + + + + + + + + + + + + + + + + + + + Foo + + + Bar + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_placeholder.xml b/widget/testdata/select/mobile/layout_multiple_placeholder.xml new file mode 100644 index 0000000000..b6fb6c7b9c --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_placeholder.xml @@ -0,0 +1,16 @@ + + + + + + + + (Pick 1) + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_selected.xml b/widget/testdata/select/mobile/layout_multiple_selected.xml new file mode 100644 index 0000000000..28338edfca --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_selected.xml @@ -0,0 +1,16 @@ + + + + + + + + Foo + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_multiple_selected_placeholder.xml b/widget/testdata/select/mobile/layout_multiple_selected_placeholder.xml new file mode 100644 index 0000000000..ee8fe4e34e --- /dev/null +++ b/widget/testdata/select/mobile/layout_multiple_selected_placeholder.xml @@ -0,0 +1,16 @@ + + + + + + + + Foo + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single.xml b/widget/testdata/select/mobile/layout_single.xml new file mode 100644 index 0000000000..a662d36d6a --- /dev/null +++ b/widget/testdata/select/mobile/layout_single.xml @@ -0,0 +1,16 @@ + + + + + + + + (Select one) + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_expanded.xml b/widget/testdata/select/mobile/layout_single_expanded.xml new file mode 100644 index 0000000000..98f080550a --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_expanded.xml @@ -0,0 +1,42 @@ + + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + + Test + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_expanded_placeholder.xml b/widget/testdata/select/mobile/layout_single_expanded_placeholder.xml new file mode 100644 index 0000000000..5eba20c119 --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_expanded_placeholder.xml @@ -0,0 +1,42 @@ + + + + + + + + (Pick 1) + + + + + + + + + + + + + + + + + + + + + + + + + + Test + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_expanded_selected.xml b/widget/testdata/select/mobile/layout_single_expanded_selected.xml new file mode 100644 index 0000000000..42cb894a25 --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_expanded_selected.xml @@ -0,0 +1,42 @@ + + + + + + + + Test + + + + + + + + + + + + + + + + + + + + + + + + + + Test + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_expanded_selected_placeholder.xml b/widget/testdata/select/mobile/layout_single_expanded_selected_placeholder.xml new file mode 100644 index 0000000000..9fd05ef675 --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_expanded_selected_placeholder.xml @@ -0,0 +1,42 @@ + + + + + + + + Test + + + + + + + + + + + + + + + + + + + + + + + + + + Test + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_placeholder.xml b/widget/testdata/select/mobile/layout_single_placeholder.xml new file mode 100644 index 0000000000..b6fb6c7b9c --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_placeholder.xml @@ -0,0 +1,16 @@ + + + + + + + + (Pick 1) + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_selected.xml b/widget/testdata/select/mobile/layout_single_selected.xml new file mode 100644 index 0000000000..3a5759a084 --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_selected.xml @@ -0,0 +1,16 @@ + + + + + + + + Test + + + + + + + + diff --git a/widget/testdata/select/mobile/layout_single_selected_placeholder.xml b/widget/testdata/select/mobile/layout_single_selected_placeholder.xml new file mode 100644 index 0000000000..df72a2755d --- /dev/null +++ b/widget/testdata/select/mobile/layout_single_selected_placeholder.xml @@ -0,0 +1,16 @@ + + + + + + + + Test + + + + + + + + diff --git a/widget/testdata/select/mobile/move_moved.xml b/widget/testdata/select/mobile/move_moved.xml new file mode 100644 index 0000000000..e15d8800fa --- /dev/null +++ b/widget/testdata/select/mobile/move_moved.xml @@ -0,0 +1,43 @@ + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 2 + + + + + + + + diff --git a/widget/testdata/select/mobile/move_tapped.xml b/widget/testdata/select/mobile/move_tapped.xml new file mode 100644 index 0000000000..b52e670d12 --- /dev/null +++ b/widget/testdata/select/mobile/move_tapped.xml @@ -0,0 +1,43 @@ + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 2 + + + + + + + + diff --git a/widget/testdata/select/mobile/tap_animation.png b/widget/testdata/select/mobile/tap_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..2491b0551d11544633c5f90a0b75ffbe68bed518 GIT binary patch literal 3003 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 literal 0 HcmV?d00001 diff --git a/widget/testdata/select/mobile/tapped.xml b/widget/testdata/select/mobile/tapped.xml new file mode 100644 index 0000000000..bde8990320 --- /dev/null +++ b/widget/testdata/select/mobile/tapped.xml @@ -0,0 +1,43 @@ + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 2 + + + + + + + + diff --git a/widget/testdata/select/mobile/tapped_constrained.xml b/widget/testdata/select/mobile/tapped_constrained.xml new file mode 100644 index 0000000000..c8a1890166 --- /dev/null +++ b/widget/testdata/select/mobile/tapped_constrained.xml @@ -0,0 +1,43 @@ + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 2 + + + + + + + + diff --git a/widget/testdata/select/mobile/theme_changed.png b/widget/testdata/select/mobile/theme_changed.png new file mode 100644 index 0000000000000000000000000000000000000000..197350e94416986f318d79b027cdde0d5e9806d5 GIT binary patch literal 3930 zcmdT{X*e6&)^^XS)~s|e6{Y4XZA}%*K@1_Nq12d`lA2DB+L z2{Hm&GRC>T8p|(?KJCtf2_`0PF%VG4Iy7f zTwFGlm695ECOo}5F_>bX8E`6iWGb%nY?m1Tl;bWnAR(1|E44p%rv7rSd$h7ZiPW%! zK_q+m9FW)X;|=+m&BRt*z>hz1*Yitv?XtH<7SrYh1 zrlo)={%e9FTXvRj#m)G@30($ZOV`=zF!Cdvkh z+-$y#<`TW{;&R%Nz|6@x41;%JBedUrH04@We?M~!H#=KJvC$8i20J^D zM)3LJ1_Z6h&|UlB3Tp&$3rC$L3ffe9&f!`&R);Z@5K)*geiZ-y)`959&;7(>gR)WC z`k7e~J**mSu5@eMwzai&CMTz8Yj%6zOIi|E2tK7$gU)aADb9TOP-Ix2nF$=DAFXVi z`=*Wo)c@|awjkbOC$G{Rmj)Qb_i2x0a}MwoAQ4{jSj#!ZVa?VEe-V`PwV$bP^b(A zkL4lJpjZL?u^Yh_k{;HI(t_yd>8+2N$Nb2pt(BN4I>p=7x-4HXzo@E`PJPyaKxD>n z$&yHV+;4W9i8oaEjS)CYq#~pm$#ZCzet0FR>Y8CYLIklt2qA%tuoU{o)Pq^!)_j~Z z`r)UBy1E7M$FYZBmcJf4RZ%M)2Bgh6W+6&Xoe3EbxgdbJe@I|yYHCL!Mirs+qP#UX zHl9Yk=;!w~SzA@}`ycgJ`!vF}b~T7R)sa%Ea<@{_jFIE^PL?ie{Ou~M(VWv=$)kw@ zkH-u2do)6dwNCbHh835WjUkuhPX2t60?$eot)?w*r7}7-oy@?BFSrHTsfbELO^e? z`}|{s+gxKcs$x?l3B_?NO9GdTtSPf!j@?^=BAG?K;gtIxvYAd6wTGl+5}r2yMG+K! zP`9-*ZTK_a(X{N1K@3Nz$W z;_HPtRIb~u@9l<}b4+4fkLjRgm+)z?2*YQSgM_x8Th3otH)J3oH?%HnKwbW(Km zLgd!d*6}*H8ccI3igHQ|Fw5;dJ;0-`=bq2V`*g~- zS|lje!vPc9u}VRdn8_*&hCrbQ@a;I-x#i)h5z8Rs_&ckgBApDA0o9JTkaxsdld2|c zpjN4Y=O-JyR9gwfleC<{#V%rt-OM4CJA73eK4Ig8_?BYWy)9i(6eG$tKe`>LdY4*S zh$Hw@0}pmc7auqp7n%!YSvf#p`uED28=AHnCX2S!FxUrSyBy`K{^h{QKP)lmvO)9kG1gEf^3fj5UOgMDml zR`ZgY0K_lqMzA<2e`t(Ys343_kxK&?M%`b)l$4vOAi`F!RT!}vPx{#XG)j{H!^_OLf+uf|*(8br#F! z&W*{=uiX7fk+WKmo7jAZaknwKy4ZmHUpiM~pBzfewy6od+!MAh=>08*MXR zFL?j{mJE+hAt$z%DNC=Aam>&Fbp88*UPffc2Kah=0~ZQ5kEt88nz0)*DjuZX!Q8>l z&g`vXw*C|m^by%iMf2;Rg*a)*&3Cw%bB=5jq@X0Yg8Q!P?co75Hnui18yR}8iVbir zoOG$p(Ym3~rs`w-0BsQFcu($v$TQ!mW=);tc(xt0f*RjW#pgWFZeofgF!h1o$znGR z2aiv-Nj8V4;n+wjqos zXgmV!=K{uq_Dkz+6mDm-t*OU zlYp=d>jExqkyXh=;+_2jEx2hSuC%nV?#(k?Y<+$A(Oy)y(QFiZQd5&f^0uc>r8BOD zHgyZ%hcYvpcv^r!#M%vw_=9u(0vgU zHRLHw8JXUna=pq)tcs^SbM(K8-I6PsbTDODWLmaa6$35%n#(H`P1m}Q- zjueS1h~g=SBX&W=-XH9?i-U=zr>2TxnTJ=tO@AnlOlEwSENQ9ba>53cVu8QMbLmpb zTZ8BL^2z}yI#K=gc^)2hC>Lu)bK&RfLBXF#b-!*-vsF%v6UbW|&5Hu*a<}i!ZwEKO zGN9ie$D9#kguV_+@QKGxv!iR?&;ZAC5&}^*F|iQIRv8TQD!(nZ$Z+i37_NEBC+WYf zEn5&|;$-%=8dHNeZ`xXq`ONHBa;vJNwq{fgI{1V$6d{gvUv0Gct^U}=52rXHc0n7{ zXbX0}PI(8Zg9jH&9S{a+UMGs?vvcmbo~ zg`|9b_BGAGE>YcId?(W+SiTC~?d8fk;dINEoi^>QLGpv0*lJC-Wh?+P%R;?Xg>4&Y zi&B)(93ikpMCev$Qtb+%nY3%ZO26|^XciWv)zM<7SKNOKS4 z1+P+hR7hl@zbNJ)zXcclr3lmX8SP>BS29*{A3pm6ZhlkYW!AQP`idJHFV)K?ul={j zD$jXv((?H(?g33$Q}(=j*avC=-VzM~&yaBU<1 z=5X0pje3Bj+m4~AM}Yrncui5!m{T(&Ybl1)X}gK+7jj=Ip-RxBZpyqVYq=qwlU0=` zpSW`x8h~jv!9Ib`dCy2~Kxq#u&d}E-DlN`{tjZ5^-lVpd7m8&r2@bTSN~ez& zAI+1mCu{QN={$;HGfa!HZ>=d1FUG!mhKr67#pG%5Me96TdUMxU2h|(4-Fm3v)lDiR z)}d%fdKw(~ZuM~s?Q(*(96CwZWUl7ZcHo51%$Sv(?1t}6^=^Jt{yljaMf16q%-EUJ zA8M9zK^qew^N$*Uij|>0HD&OV+Xe#kg~(CN@97vTBut8u35_t%G|wrW#aiIrKhjMN zFqLJwEpkOlQ2^RY;MTg6ps+Z&7;gTr3%UQydz5d4C>L(TR4cY<+NEsWRYa~+ls}zqD*b`YQ8W3f36-zo IbRS0i51HPvaR2}S literal 0 HcmV?d00001 diff --git a/widget/testdata/select/mobile/theme_initial.png b/widget/testdata/select/mobile/theme_initial.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4087b39834da122c1eb461390fb4ab2f4b03fb GIT binary patch literal 3224 zcmeHKXH-*Z8fF}aCIX`qOt?|t9reV*q_bGT}A zSX53_KtSLy^hZl4;5qsA5DNUlB|d{+HA_U>!H1OAb60b*$)q58zv;G>`$caavE>QuV#X*sXt!_RtP z^5V~55xZ4lO5`2NU&MOrRaaM2e!1^UL6I6W8|v29b`tii^h{WGoXOVu5@PIvli&rB zvbApn3{Kdp2ss`wesJVBi`)z16$hgw)gGp3-chg=nR#&3yvt923~re7MpgLL3#`lh zku*z?9Gi=(shLa6+k2v7o6_mv>YA!houeXrJfrg0UxR~#HI=eiiN&T*{5auF;|_s7 zpG|!|Jqy>gHUg40?bI2ub_WX5)6+N1E~2kUsu||QyFAx3@9X$SK$Sn|5-kgZLer)q z@>N6jszs6q1_%8K6EVclCs1|tC2I3$Q_795dzbEuuZ%ZU22@`ZWoyL6?XizXErzma{6}8@1V$!4-@2{w+SY(9o zAx3_9=3E^y>FI|Wx8aTjWUow--1X{eYI+u8t)Dtl$GUU37^}8#K`R_41`_r0_5AE_ z_`Uh3*?IZ-iR5WtG#3^aXh~s45FmS>yI?R_zMk*u>T1h1?aO)EB7!Mr-0Hw_tCO86 zLO7oXD#GIT19*GfG|P{{>1fQQODUsEIyyS!-BprofK9fNS@g^Uo+K@bGo6SC53jGO zq3mx@EHJ8N1KtL|sI6UErzzXy#^=IvZ|)~>^xnG7zD-3{6?KWN z1VOjg)h(w=`+S+nvER~lulH<@{BSX!4r{zNg7f8bS!H}6-lz=p6bykMf&^sy|2Y}_+!~yTkz@j*7EXl5{cB>+Daf8 zeH!cg5Q#J`EyM7P1D?El_wKtx$J=>3OI=-E*hWURJ!Sh{*e+*{v%8NyYsY9oFdGnW z!wn}YtTM6`j13aEm(?!kwXaj9(Z?l2ZK4BO@j%hL)wMn;*71 z*=pMV^%vP}HntJyWl?VsNbYEw<<21l(DWZw2Zx4!VO~)^;_B*(ZETHUp?6mZISN73 z?eR+4HhPcGj*N~@5Ud$trbTts6`X-wa?c@MhWhTc>5j%-KWE0DG)` z8M%%aR<3Dim;@87@w{5jIw+uPngTSXXP3M7xqa&=sNRaRC4+)<$^nk*@r+7do- zTuiX!YPB}K$S`~mWGB^a57{4D*h`~`ar`Wf!rK9OYw(b)tZY1hjnM}0iJ>7t z8zB6>%}ya@EXJU`riQ0B(Gs4~?Jt7tvT2Z(jGBt1<_q_`;&zOaj{w$xtm?f_8ka?2`88D`=@qa28W0(qnn@`)t}%ExfjLAKl`9Rmj4bhziZnLN_oo^=!oz z9>k8Z+R7?LUHQ(PIJLS(IK^zbQg)I1A%%b9KY4(^NOF}_<(t3+?rc7Qg{8^fZ}n5{ z&jE!+j6MGbb4e^(cUK3NltgAM?5&d4qR&gblxoSnTAg$DHcc^ZCRRzHcwWHl&vA;M zSpz(eY4B)Lx9JklhilzA3Am5HME;jC`JcCL+B!xnxcm4-G<(JvNnB{bY!AsBOwj01qJI(F={&l zUE4TcIS!8q4>tpJ1sKgh!UWp{P%(vUTFiMRsS53u;%iV(DET$9C} z9)q6J(o)x2x7h?4fqO=Q0#<*n|5vZ~hm!WmPYKK?%J8%q_F|LR5mkl!C| n>i@U?-LwPMVDW)d2A_X3)VZ@rBSIHAaR@-Iu39!+^h^FbvpyWC literal 0 HcmV?d00001 diff --git a/widget/testdata/select/mobile/trailing.xml b/widget/testdata/select/mobile/trailing.xml new file mode 100644 index 0000000000..b225ff3248 --- /dev/null +++ b/widget/testdata/select/mobile/trailing.xml @@ -0,0 +1,42 @@ + + + + + + + + (Select one) + + + + + + + + + + + + + + + + + + + + + + + + + + Hi + + + + + + + + From 375d165b351c62aa37738bacd0aecadea871801c Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Sun, 5 May 2024 14:59:44 +0100 Subject: [PATCH 7/7] Remove trailing newline --- widget/select_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/widget/select_test.go b/widget/select_test.go index f06dddf34d..3bf972628f 100644 --- a/widget/select_test.go +++ b/widget/select_test.go @@ -582,4 +582,3 @@ func assertImageMatchesPlatform(t *testing.T, file string, i image.Image) { path := fmt.Sprintf(file, platform) test.AssertImageMatches(t, path, i) } -