package xlsx import ( "bytes" "testing" "xml" ) // Test we can succesfully unmarshal the sheetN.xml files within and // XLSX file into an XLSXWorksheet struct (and it's related children). func TestUnmarshallWorksheet(t *testing.T) { var sheetxml = bytes.NewBufferString(` 0123`) worksheet := new(XLSXWorksheet) error := xml.Unmarshal(sheetxml, worksheet) if error != nil { t.Error(error.String()) return } if worksheet.Dimension.Ref != "A1:B2" { t.Error("Expected worksheet.Dimension.Ref == 'A1:B2'") } if len(worksheet.SheetViews.SheetView) == 0 { t.Error("Expected len(worksheet.SheetViews.SheetView) == 1") } sheetview := worksheet.SheetViews.SheetView[0] if sheetview.TabSelected != "1" { t.Error("Expected sheetview.TabSelected == '1'") } if sheetview.WorkbookViewID != "0" { t.Error("Expected sheetview.WorkbookViewID == '0'") } if sheetview.Selection.ActiveCell != "C2" { t.Error("Expeceted sheetview.Selection.ActiveCell == 'C2'") } if sheetview.Selection.SQRef != "C2" { t.Error("Expected sheetview.Selection.SQRef == 'C2'") } if worksheet.SheetFormatPr.BaseColWidth != "10" { t.Error("Expected worksheet.SheetFormatPr.BaseColWidth == '10'") } if worksheet.SheetFormatPr.DefaultRowHeight != "15" { t.Error("Expected worksheet.SheetFormatPr.DefaultRowHeight == '15'") } if len(worksheet.SheetData.Row) == 0 { t.Error("Expected len(worksheet.SheetData.Row) == '2'") } row := worksheet.SheetData.Row[0] if row.R != "1" { t.Error("Expected row.r == '1'") } if row.Spans != "1:2" { t.Error("Expected row.Spans == '1:2'") } if len(row.C) != 2 { t.Error("Expected len(row.C) == 2") } c := row.C[0] if c.R != "A1" { t.Error("Expected c.R == 'A1'") } if c.T != "s" { t.Error("Expected c.T == 's'") } if c.V.Data != "0" { t.Error("Expected c.V.Data == '0'") } }