PHP Classes

File: extension/core/customprop_test.go

Recommend this page to a friend!
  Packages of Roni   Easy-Excel   extension/core/customprop_test.go   Download  
File: extension/core/customprop_test.go
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Easy-Excel
Export and read XLSX files with a PHP Go extension
Author: By
Last change:
Date: 8 days ago
Size: 1,470 bytes
 

Contents

Class file image Download
package core import ( "path/filepath" "testing" ) func TestCustomDocProps(t *testing.T) { w, err := New(testEnv()) if err != nil { t.Fatal(err) } defer w.Close() fillRows(t, w, "Worksheet", 1, 2) for _, spec := range []string{ `{"name":"Reviewed","value":true,"type":"b"}`, `{"name":"Revision","value":3,"type":"i"}`, `{"name":"Ratio","value":1.5,"type":"f"}`, `{"name":"Owner","value":"QA","type":"s"}`, } { if err := w.SetCustomProp(spec); err != nil { t.Fatalf("%s: %v", spec, err) } } if err := w.SetDocProps(`{"title":"T","created":"2026-06-13T10:00:00Z"}`); err != nil { t.Fatal(err) } path := filepath.Join(t.TempDir(), "props.xlsx") if err := w.SaveXlsx(path, ""); err != nil { t.Fatal(err) } f := reopen(t, path) props, err := f.GetCustomProps() if err != nil { t.Fatal(err) } got := map[string]any{} for _, p := range props { got[p.Name] = p.Value } if got["Reviewed"] != true || got["Owner"] != "QA" { t.Errorf("custom props wrong: %+v", got) } if _, ok := got["Revision"]; !ok { t.Errorf("Revision missing: %+v", got) } // removal if err := w.SetCustomProp(`{"name":"Owner","remove":true}`); err != nil { t.Fatal(err) } out := filepath.Join(t.TempDir(), "props2.xlsx") if err := w.SaveXlsx(out, ""); err != nil { t.Fatal(err) } f2 := reopen(t, out) props2, _ := f2.GetCustomProps() for _, p := range props2 { if p.Name == "Owner" { t.Error("Owner should have been removed") } } }