summaryrefslogtreecommitdiff
path: root/sheetview_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'sheetview_test.go')
-rw-r--r--sheetview_test.go242
1 files changed, 37 insertions, 205 deletions
diff --git a/sheetview_test.go b/sheetview_test.go
index 65c4f51..8d022a2 100644
--- a/sheetview_test.go
+++ b/sheetview_test.go
@@ -1,218 +1,50 @@
package excelize
import (
- "fmt"
"testing"
"github.com/stretchr/testify/assert"
)
-var _ = []SheetViewOption{
- DefaultGridColor(true),
- ShowFormulas(false),
- ShowGridLines(true),
- ShowRowColHeaders(true),
- ShowZeros(true),
- RightToLeft(false),
- ShowRuler(false),
- View("pageLayout"),
- TopLeftCell("B2"),
- ZoomScale(100),
- // SheetViewOptionPtr are also SheetViewOption
- new(DefaultGridColor),
- new(ShowFormulas),
- new(ShowGridLines),
- new(ShowRowColHeaders),
- new(ShowZeros),
- new(RightToLeft),
- new(ShowRuler),
- new(View),
- new(TopLeftCell),
- new(ZoomScale),
-}
-
-var _ = []SheetViewOptionPtr{
- (*DefaultGridColor)(nil),
- (*ShowFormulas)(nil),
- (*ShowGridLines)(nil),
- (*ShowRowColHeaders)(nil),
- (*ShowZeros)(nil),
- (*RightToLeft)(nil),
- (*ShowRuler)(nil),
- (*View)(nil),
- (*TopLeftCell)(nil),
- (*ZoomScale)(nil),
-}
-
-func ExampleFile_SetSheetViewOptions() {
- f := NewFile()
- const sheet = "Sheet1"
-
- if err := f.SetSheetViewOptions(sheet, 0,
- DefaultGridColor(false),
- ShowFormulas(true),
- ShowGridLines(true),
- ShowRowColHeaders(true),
- RightToLeft(false),
- ShowRuler(false),
- View("pageLayout"),
- TopLeftCell("C3"),
- ZoomScale(80),
- ); err != nil {
- fmt.Println(err)
- }
-
- var zoomScale ZoomScale
- fmt.Println("Default:")
- fmt.Println("- zoomScale: 80")
-
- if err := f.SetSheetViewOptions(sheet, 0, ZoomScale(500)); err != nil {
- fmt.Println(err)
- }
-
- if err := f.GetSheetViewOptions(sheet, 0, &zoomScale); err != nil {
- fmt.Println(err)
- }
-
- fmt.Println("Used out of range value:")
- fmt.Println("- zoomScale:", zoomScale)
-
- if err := f.SetSheetViewOptions(sheet, 0, ZoomScale(123)); err != nil {
- fmt.Println(err)
- }
-
- if err := f.GetSheetViewOptions(sheet, 0, &zoomScale); err != nil {
- fmt.Println(err)
- }
-
- fmt.Println("Used correct value:")
- fmt.Println("- zoomScale:", zoomScale)
-
- // Output:
- // Default:
- // - zoomScale: 80
- // Used out of range value:
- // - zoomScale: 80
- // Used correct value:
- // - zoomScale: 123
-}
-
-func ExampleFile_GetSheetViewOptions() {
+func TestSetView(t *testing.T) {
f := NewFile()
- const sheet = "Sheet1"
-
- var (
- defaultGridColor DefaultGridColor
- showFormulas ShowFormulas
- showGridLines ShowGridLines
- showRowColHeaders ShowRowColHeaders
- showZeros ShowZeros
- rightToLeft RightToLeft
- showRuler ShowRuler
- view View
- topLeftCell TopLeftCell
- zoomScale ZoomScale
- )
-
- if err := f.GetSheetViewOptions(sheet, 0,
- &defaultGridColor,
- &showFormulas,
- &showGridLines,
- &showRowColHeaders,
- &showZeros,
- &rightToLeft,
- &showRuler,
- &view,
- &topLeftCell,
- &zoomScale,
- ); err != nil {
- fmt.Println(err)
- }
-
- fmt.Println("Default:")
- fmt.Println("- defaultGridColor:", defaultGridColor)
- fmt.Println("- showFormulas:", showFormulas)
- fmt.Println("- showGridLines:", showGridLines)
- fmt.Println("- showRowColHeaders:", showRowColHeaders)
- fmt.Println("- showZeros:", showZeros)
- fmt.Println("- rightToLeft:", rightToLeft)
- fmt.Println("- showRuler:", showRuler)
- fmt.Println("- view:", view)
- fmt.Println("- topLeftCell:", `"`+topLeftCell+`"`)
- fmt.Println("- zoomScale:", zoomScale)
-
- if err := f.SetSheetViewOptions(sheet, 0, ShowGridLines(false)); err != nil {
- fmt.Println(err)
- }
-
- if err := f.GetSheetViewOptions(sheet, 0, &showGridLines); err != nil {
- fmt.Println(err)
- }
-
- if err := f.SetSheetViewOptions(sheet, 0, ShowZeros(false)); err != nil {
- fmt.Println(err)
- }
-
- if err := f.GetSheetViewOptions(sheet, 0, &showZeros); err != nil {
- fmt.Println(err)
- }
-
- if err := f.SetSheetViewOptions(sheet, 0, View("pageLayout")); err != nil {
- fmt.Println(err)
- }
-
- if err := f.GetSheetViewOptions(sheet, 0, &view); err != nil {
- fmt.Println(err)
- }
-
- if err := f.SetSheetViewOptions(sheet, 0, TopLeftCell("B2")); err != nil {
- fmt.Println(err)
- }
-
- if err := f.GetSheetViewOptions(sheet, 0, &topLeftCell); err != nil {
- fmt.Println(err)
- }
-
- fmt.Println("After change:")
- fmt.Println("- showGridLines:", showGridLines)
- fmt.Println("- showZeros:", showZeros)
- fmt.Println("- view:", view)
- fmt.Println("- topLeftCell:", topLeftCell)
-
- // Output:
- // Default:
- // - defaultGridColor: true
- // - showFormulas: false
- // - showGridLines: true
- // - showRowColHeaders: true
- // - showZeros: true
- // - rightToLeft: false
- // - showRuler: true
- // - view: normal
- // - topLeftCell: ""
- // - zoomScale: 0
- // After change:
- // - showGridLines: false
- // - showZeros: false
- // - view: pageLayout
- // - topLeftCell: B2
-}
-
-func TestSheetViewOptionsErrors(t *testing.T) {
- f := NewFile()
- const sheet = "Sheet1"
-
- assert.NoError(t, f.GetSheetViewOptions(sheet, 0))
- assert.NoError(t, f.GetSheetViewOptions(sheet, -1))
- assert.Error(t, f.GetSheetViewOptions(sheet, 1))
- assert.Error(t, f.GetSheetViewOptions(sheet, -2))
- assert.NoError(t, f.SetSheetViewOptions(sheet, 0))
- assert.NoError(t, f.SetSheetViewOptions(sheet, -1))
- assert.Error(t, f.SetSheetViewOptions(sheet, 1))
- assert.Error(t, f.SetSheetViewOptions(sheet, -2))
-
+ assert.NoError(t, f.SetSheetView("Sheet1", -1, nil))
ws, ok := f.Sheet.Load("xl/worksheets/sheet1.xml")
assert.True(t, ok)
ws.(*xlsxWorksheet).SheetViews = nil
- assert.NoError(t, f.GetSheetViewOptions(sheet, 0))
+ expected := ViewOptions{
+ DefaultGridColor: boolPtr(false),
+ RightToLeft: boolPtr(false),
+ ShowFormulas: boolPtr(false),
+ ShowGridLines: boolPtr(false),
+ ShowRowColHeaders: boolPtr(false),
+ ShowRuler: boolPtr(false),
+ ShowZeros: boolPtr(false),
+ TopLeftCell: stringPtr("A1"),
+ View: stringPtr("normal"),
+ ZoomScale: float64Ptr(120),
+ }
+ assert.NoError(t, f.SetSheetView("Sheet1", 0, &expected))
+ opts, err := f.GetSheetView("Sheet1", 0)
+ assert.NoError(t, err)
+ assert.Equal(t, expected, opts)
+ // Test set sheet view options with invalid view index.
+ assert.EqualError(t, f.SetSheetView("Sheet1", 1, nil), "view index 1 out of range")
+ assert.EqualError(t, f.SetSheetView("Sheet1", -2, nil), "view index -2 out of range")
+ // Test set sheet view options on not exists worksheet.
+ assert.EqualError(t, f.SetSheetView("SheetN", 0, nil), "sheet SheetN does not exist")
+}
+
+func TestGetView(t *testing.T) {
+ f := NewFile()
+ _, err := f.getSheetView("SheetN", 0)
+ assert.EqualError(t, err, "sheet SheetN does not exist")
+ // Test get sheet view options with invalid view index.
+ _, err = f.GetSheetView("Sheet1", 1)
+ assert.EqualError(t, err, "view index 1 out of range")
+ _, err = f.GetSheetView("Sheet1", -2)
+ assert.EqualError(t, err, "view index -2 out of range")
+ // Test get sheet view options on not exists worksheet.
+ _, err = f.GetSheetView("SheetN", 0)
+ assert.EqualError(t, err, "sheet SheetN does not exist")
}