From 89b85934f60ba0012f3de6da03eb12959e4b4b72 Mon Sep 17 00:00:00 2001 From: xuri Date: Mon, 27 Dec 2021 23:34:14 +0800 Subject: This closes #1096, memory usage optimization and another 4 changes - Unzip shared string table to system temporary file when large inner XML, reduce memory usage about 70% - Remove unnecessary exported variable `XMLHeader`, we can using `encoding/xml` package's `xml.Header` instead of it - Using constant instead of inline text for default XML path - Rename exported option field `WorksheetUnzipMemLimit` to `UnzipXMLSizeLimit` - Unit test and documentation updated --- docProps_test.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'docProps_test.go') diff --git a/docProps_test.go b/docProps_test.go index a5c35f7..97948c1 100644 --- a/docProps_test.go +++ b/docProps_test.go @@ -35,13 +35,13 @@ func TestSetAppProps(t *testing.T) { AppVersion: "16.0000", })) assert.NoError(t, f.SaveAs(filepath.Join("test", "TestSetAppProps.xlsx"))) - f.Pkg.Store("docProps/app.xml", nil) + f.Pkg.Store(dafaultXMLPathDocPropsApp, nil) assert.NoError(t, f.SetAppProps(&AppProperties{})) assert.NoError(t, f.Close()) // Test unsupported charset f = NewFile() - f.Pkg.Store("docProps/app.xml", MacintoshCyrillicCharset) + f.Pkg.Store(dafaultXMLPathDocPropsApp, MacintoshCyrillicCharset) assert.EqualError(t, f.SetAppProps(&AppProperties{}), "xml decode error: XML syntax error on line 1: invalid UTF-8") } @@ -53,14 +53,14 @@ func TestGetAppProps(t *testing.T) { props, err := f.GetAppProps() assert.NoError(t, err) assert.Equal(t, props.Application, "Microsoft Macintosh Excel") - f.Pkg.Store("docProps/app.xml", nil) + f.Pkg.Store(dafaultXMLPathDocPropsApp, nil) _, err = f.GetAppProps() assert.NoError(t, err) assert.NoError(t, f.Close()) // Test unsupported charset f = NewFile() - f.Pkg.Store("docProps/app.xml", MacintoshCyrillicCharset) + f.Pkg.Store(dafaultXMLPathDocPropsApp, MacintoshCyrillicCharset) _, err = f.GetAppProps() assert.EqualError(t, err, "xml decode error: XML syntax error on line 1: invalid UTF-8") } @@ -87,13 +87,13 @@ func TestSetDocProps(t *testing.T) { Version: "1.0.0", })) assert.NoError(t, f.SaveAs(filepath.Join("test", "TestSetDocProps.xlsx"))) - f.Pkg.Store("docProps/core.xml", nil) + f.Pkg.Store(dafaultXMLPathDocPropsCore, nil) assert.NoError(t, f.SetDocProps(&DocProperties{})) assert.NoError(t, f.Close()) // Test unsupported charset f = NewFile() - f.Pkg.Store("docProps/core.xml", MacintoshCyrillicCharset) + f.Pkg.Store(dafaultXMLPathDocPropsCore, MacintoshCyrillicCharset) assert.EqualError(t, f.SetDocProps(&DocProperties{}), "xml decode error: XML syntax error on line 1: invalid UTF-8") } @@ -105,14 +105,14 @@ func TestGetDocProps(t *testing.T) { props, err := f.GetDocProps() assert.NoError(t, err) assert.Equal(t, props.Creator, "Microsoft Office User") - f.Pkg.Store("docProps/core.xml", nil) + f.Pkg.Store(dafaultXMLPathDocPropsCore, nil) _, err = f.GetDocProps() assert.NoError(t, err) assert.NoError(t, f.Close()) // Test unsupported charset f = NewFile() - f.Pkg.Store("docProps/core.xml", MacintoshCyrillicCharset) + f.Pkg.Store(dafaultXMLPathDocPropsCore, MacintoshCyrillicCharset) _, err = f.GetDocProps() assert.EqualError(t, err, "xml decode error: XML syntax error on line 1: invalid UTF-8") } -- cgit v1.2.1