103 lines
3.8 KiB
Go
103 lines
3.8 KiB
Go
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")
|
|
// Test set page margins with invalid sheet name
|
|
assert.Equal(t, ErrSheetNameInvalid, f.SetPageMargins("Sheet:1", nil))
|
|
}
|
|
|
|
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")
|
|
// Test get page margins with invalid sheet name
|
|
_, err = f.GetPageMargins("Sheet:1")
|
|
assert.Equal(t, ErrSheetNameInvalid, err)
|
|
}
|
|
|
|
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 set worksheet properties on not exists worksheet
|
|
assert.EqualError(t, f.SetSheetProps("SheetN", nil), "sheet SheetN does not exist")
|
|
// Test set worksheet properties with invalid sheet name
|
|
assert.Equal(t, ErrSheetNameInvalid, f.SetSheetProps("Sheet:1", nil))
|
|
}
|
|
|
|
func TestGetSheetProps(t *testing.T) {
|
|
f := NewFile()
|
|
// Test get worksheet properties on not exists worksheet
|
|
_, err := f.GetSheetProps("SheetN")
|
|
assert.EqualError(t, err, "sheet SheetN does not exist")
|
|
// Test get worksheet properties with invalid sheet name
|
|
_, err = f.GetSheetProps("Sheet:1")
|
|
assert.Equal(t, ErrSheetNameInvalid, err)
|
|
}
|