Skip to content

Commit

Permalink
Prevent panic when incorrect range is provided as PivotTableRange to (q…
Browse files Browse the repository at this point in the history
  • Loading branch information
dpaks authored Jul 10, 2021
1 parent 5a8f414 commit 3e8cd2a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
4 changes: 4 additions & 0 deletions adjust.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@ func (f *File) adjustAutoFilterHelper(dir adjustDirection, coordinates []int, nu
// pair of coordinates.
func (f *File) areaRefToCoordinates(ref string) ([]int, error) {
rng := strings.Split(strings.Replace(ref, "$", "", -1), ":")
if len(rng) < 2 {
return nil, ErrParameterInvalid
}

return areaRangeToCoordinates(rng[0], rng[1])
}

Expand Down
3 changes: 3 additions & 0 deletions pivotTable_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,9 @@ func TestAddPivotTable(t *testing.T) {
// Test adjust range with invalid range
_, _, err := f.adjustRange("")
assert.EqualError(t, err, "parameter is required")
// Test adjust range with incorrect range
_, _, err = f.adjustRange("sheet1!")
assert.EqualError(t, err, "parameter is invalid")
// Test get pivot fields order with empty data range
_, err = f.getPivotFieldsOrder(&PivotTableOption{})
assert.EqualError(t, err, `parameter 'DataRange' parsing error: parameter is required`)
Expand Down

0 comments on commit 3e8cd2a

Please sign in to comment.