summaryrefslogtreecommitdiff
path: root/sheetpr_test.go
blob: d422e3f65bc90aeea21c29d9fa2613a81619bf1e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package excelize

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestSetPageMargins(t *testing.T) {
	f := NewFile()
	assert.NoError(t, f.SetPageMargins("Sheet1", nil))
	ws, ok := f.Sheet.Load("xl/worksheets/sheet1.xml")
	assert.True(t, ok)
	ws.(*xlsxWorksheet).PageMargins = nil
	ws.(*xlsxWorksheet).PrintOptions = nil
	expected := PageLayoutMarginsOptions{
		Bottom:       float64Ptr(1.0),
		Footer:       float64Ptr(1.0),
		Header:       float64Ptr(1.0),
		Left:         float64Ptr(1.0),
		Right:        float64Ptr(1.0),
		Top:          float64Ptr(1.0),
		Horizontally: boolPtr(true),
		Vertically:   boolPtr(true),
	}
	assert.NoError(t, f.SetPageMargins("Sheet1", &expected))
	opts, err := f.GetPageMargins("Sheet1")
	assert.NoError(t, err)
	assert.Equal(t, expected, opts)
	// Test set page margins on not exists worksheet.
	assert.EqualError(t, f.SetPageMargins("SheetN", nil), "sheet SheetN does not exist")
}

func TestGetPageMargins(t *testing.T) {
	f := NewFile()
	// Test get page margins on not exists worksheet.
	_, err := f.GetPageMargins("SheetN")
	assert.EqualError(t, err, "sheet SheetN does not exist")
}

func TestSetSheetProps(t *testing.T) {
	f := NewFile()
	assert.NoError(t, f.SetSheetProps("Sheet1", nil))
	ws, ok := f.Sheet.Load("xl/worksheets/sheet1.xml")
	assert.True(t, ok)
	ws.(*xlsxWorksheet).SheetPr = nil
	ws.(*xlsxWorksheet).SheetFormatPr = nil
	baseColWidth, enable := uint8(8), boolPtr(true)
	expected := SheetPropsOptions{
		CodeName:                          stringPtr("code"),
		EnableFormatConditionsCalculation: enable,
		Published:                         enable,
		AutoPageBreaks:                    enable,
		FitToPage:                         enable,
		TabColorIndexed:                   intPtr(1),
		TabColorRGB:                       stringPtr("#FFFF00"),
		TabColorTheme:                     intPtr(1),
		TabColorTint:                      float64Ptr(1),
		OutlineSummaryBelow:               enable,
		OutlineSummaryRight:               enable,
		BaseColWidth:                      &baseColWidth,
		DefaultColWidth:                   float64Ptr(10),
		DefaultRowHeight:                  float64Ptr(10),
		CustomHeight:                      enable,
		ZeroHeight:                        enable,
		ThickTop:                          enable,
		ThickBottom:                       enable,
	}
	assert.NoError(t, f.SetSheetProps("Sheet1", &expected))
	opts, err := f.GetSheetProps("Sheet1")
	assert.NoError(t, err)
	assert.Equal(t, expected, opts)

	ws.(*xlsxWorksheet).SheetPr = nil
	assert.NoError(t, f.SetSheetProps("Sheet1", &SheetPropsOptions{FitToPage: enable}))
	ws.(*xlsxWorksheet).SheetPr = nil
	assert.NoError(t, f.SetSheetProps("Sheet1", &SheetPropsOptions{TabColorRGB: stringPtr("#FFFF00")}))
	ws.(*xlsxWorksheet).SheetPr = nil
	assert.NoError(t, f.SetSheetProps("Sheet1", &SheetPropsOptions{TabColorTheme: intPtr(1)}))
	ws.(*xlsxWorksheet).SheetPr = nil
	assert.NoError(t, f.SetSheetProps("Sheet1", &SheetPropsOptions{TabColorTint: float64Ptr(1)}))

	// Test SetSheetProps on not exists worksheet.
	assert.EqualError(t, f.SetSheetProps("SheetN", nil), "sheet SheetN does not exist")
}

func TestGetSheetProps(t *testing.T) {
	f := NewFile()
	// Test GetSheetProps on not exists worksheet.
	_, err := f.GetSheetProps("SheetN")
	assert.EqualError(t, err, "sheet SheetN does not exist")
}