Skip to content

Commit

Permalink
fix slider.SetValue method, update TestSlider_OnChanged
Browse files Browse the repository at this point in the history
  • Loading branch information
fpabl0 committed Mar 23, 2021
1 parent bfc7d10 commit b307cea
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
6 changes: 6 additions & 0 deletions widget/slider.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,15 @@ func (s *Slider) SetValue(value float64) {
return
}

lastValue := s.Value

s.Value = value
s.clampValueToRange()

if lastValue == s.Value {
return
}

if s.OnChanged != nil {
s.OnChanged(s.Value)
}
Expand Down
14 changes: 12 additions & 2 deletions widget/slider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ func TestSlider_VerticalLayout(t *testing.T) {
}

func TestSlider_OnChanged(t *testing.T) {
slider := NewSlider(0, 1)
slider := NewSlider(0, 2)
slider.Resize(slider.MinSize())
assert.Empty(t, slider.OnChanged)

changes := 0
Expand All @@ -130,9 +131,18 @@ func TestSlider_OnChanged(t *testing.T) {
assert.Equal(t, 0, changes)

slider.SetValue(0.5)
assert.Equal(t, 0, changes)

drag := &fyne.DragEvent{}
drag.PointEvent.Position = fyne.NewPos(25, 2)
slider.Dragged(drag)
assert.Equal(t, 1, changes)

drag.PointEvent.Position = fyne.NewPos(25, 2)
slider.Dragged(drag)
assert.Equal(t, 1, changes)

drag := &fyne.DragEvent{Dragged: fyne.NewDelta(10, 2)}
drag.PointEvent.Position = fyne.NewPos(50, 2)
slider.Dragged(drag)
assert.Equal(t, 2, changes)
}
Expand Down

0 comments on commit b307cea

Please sign in to comment.