summaryrefslogtreecommitdiff
path: root/sheet_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'sheet_test.go')
-rw-r--r--sheet_test.go57
1 files changed, 41 insertions, 16 deletions
diff --git a/sheet_test.go b/sheet_test.go
index f0a1963..beee10b 100644
--- a/sheet_test.go
+++ b/sheet_test.go
@@ -2,6 +2,8 @@ package excelize_test
import (
"fmt"
+ "path/filepath"
+ "strings"
"testing"
"github.com/360EntSecGroup-Skylar/excelize/v2"
@@ -10,15 +12,15 @@ import (
)
func ExampleFile_SetPageLayout() {
- xl := excelize.NewFile()
+ f := excelize.NewFile()
- if err := xl.SetPageLayout(
+ if err := f.SetPageLayout(
"Sheet1",
excelize.PageLayoutOrientation(excelize.OrientationLandscape),
); err != nil {
panic(err)
}
- if err := xl.SetPageLayout(
+ if err := f.SetPageLayout(
"Sheet1",
excelize.PageLayoutPaperSize(10),
); err != nil {
@@ -28,15 +30,15 @@ func ExampleFile_SetPageLayout() {
}
func ExampleFile_GetPageLayout() {
- xl := excelize.NewFile()
+ f := excelize.NewFile()
var (
orientation excelize.PageLayoutOrientation
paperSize excelize.PageLayoutPaperSize
)
- if err := xl.GetPageLayout("Sheet1", &orientation); err != nil {
+ if err := f.GetPageLayout("Sheet1", &orientation); err != nil {
panic(err)
}
- if err := xl.GetPageLayout("Sheet1", &paperSize); err != nil {
+ if err := f.GetPageLayout("Sheet1", &paperSize); err != nil {
panic(err)
}
fmt.Println("Defaults:")
@@ -69,26 +71,26 @@ func TestPageLayoutOption(t *testing.T) {
val1 := deepcopy.Copy(def).(excelize.PageLayoutOptionPtr)
val2 := deepcopy.Copy(def).(excelize.PageLayoutOptionPtr)
- xl := excelize.NewFile()
+ f := excelize.NewFile()
// Get the default value
- assert.NoError(t, xl.GetPageLayout(sheet, def), opt)
+ assert.NoError(t, f.GetPageLayout(sheet, def), opt)
// Get again and check
- assert.NoError(t, xl.GetPageLayout(sheet, val1), opt)
+ assert.NoError(t, f.GetPageLayout(sheet, val1), opt)
if !assert.Equal(t, val1, def, opt) {
t.FailNow()
}
// Set the same value
- assert.NoError(t, xl.SetPageLayout(sheet, val1), opt)
+ assert.NoError(t, f.SetPageLayout(sheet, val1), opt)
// Get again and check
- assert.NoError(t, xl.GetPageLayout(sheet, val1), opt)
+ assert.NoError(t, f.GetPageLayout(sheet, val1), opt)
if !assert.Equal(t, val1, def, "%T: value should not have changed", opt) {
t.FailNow()
}
// Set a different value
- assert.NoError(t, xl.SetPageLayout(sheet, test.nonDefault), opt)
- assert.NoError(t, xl.GetPageLayout(sheet, val1), opt)
+ assert.NoError(t, f.SetPageLayout(sheet, test.nonDefault), opt)
+ assert.NoError(t, f.GetPageLayout(sheet, val1), opt)
// Get again and compare
- assert.NoError(t, xl.GetPageLayout(sheet, val2), opt)
+ assert.NoError(t, f.GetPageLayout(sheet, val2), opt)
if !assert.Equal(t, val1, val2, "%T: value should not have changed", opt) {
t.FailNow()
}
@@ -97,8 +99,8 @@ func TestPageLayoutOption(t *testing.T) {
t.FailNow()
}
// Restore the default value
- assert.NoError(t, xl.SetPageLayout(sheet, def), opt)
- assert.NoError(t, xl.GetPageLayout(sheet, val1), opt)
+ assert.NoError(t, f.SetPageLayout(sheet, def), opt)
+ assert.NoError(t, f.GetPageLayout(sheet, val1), opt)
if !assert.Equal(t, def, val1) {
t.FailNow()
}
@@ -117,3 +119,26 @@ func TestGetPageLayout(t *testing.T) {
// Test get page layout on not exists worksheet.
assert.EqualError(t, f.GetPageLayout("SheetN"), "sheet SheetN is not exist")
}
+
+func TestSetHeaderFooter(t *testing.T) {
+ f := excelize.NewFile()
+ f.SetCellStr("Sheet1", "A1", "Test SetHeaderFooter")
+ // Test set header and footer on not exists worksheet.
+ assert.EqualError(t, f.SetHeaderFooter("SheetN", nil), "sheet SheetN is not exist")
+ // Test set header and footer with illegal setting.
+ assert.EqualError(t, f.SetHeaderFooter("Sheet1", &excelize.FormatHeaderFooter{
+ OddHeader: strings.Repeat("c", 256),
+ }), "field OddHeader must be less than 255 characters")
+
+ assert.NoError(t, f.SetHeaderFooter("Sheet1", nil))
+ assert.NoError(t, f.SetHeaderFooter("Sheet1", &excelize.FormatHeaderFooter{
+ DifferentFirst: true,
+ DifferentOddEven: true,
+ OddHeader: "&R&P",
+ OddFooter: "&C&F",
+ EvenHeader: "&L&P",
+ EvenFooter: "&L&D&R&T",
+ FirstHeader: `&CCenter &"-,Bold"Bold&"-,Regular"HeaderU+000A&D`,
+ }))
+ assert.NoError(t, f.SaveAs(filepath.Join("test", "TestSetHeaderFooter.xlsx")))
+}