file_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package xlsx
  2. import (
  3. . "gopkg.in/check.v1"
  4. )
  5. type FileSuite struct {}
  6. var _ = Suite(&FileSuite{})
  7. // Test we can correctly open a XSLX file and return a xlsx.File
  8. // struct.
  9. func (l *FileSuite) TestOpenFile(c *C) {
  10. var xlsxFile *File
  11. var error error
  12. xlsxFile, error = OpenFile("testfile.xlsx")
  13. c.Assert(error, IsNil)
  14. c.Assert(xlsxFile, NotNil)
  15. }
  16. // Test we can create a File object from scratch
  17. func (l *FileSuite) TestCreateFile(c *C) {
  18. var xlsxFile *File
  19. xlsxFile = NewFile()
  20. c.Assert(xlsxFile, NotNil)
  21. }
  22. // Test that when we open a real XLSX file we create xlsx.Sheet
  23. // objects for the sheets inside the file and that these sheets are
  24. // themselves correct.
  25. func (l *FileSuite) TestCreateSheet(c *C) {
  26. var xlsxFile *File
  27. var err error
  28. var sheet *Sheet
  29. var row *Row
  30. xlsxFile, err = OpenFile("testfile.xlsx")
  31. c.Assert(err, IsNil)
  32. c.Assert(xlsxFile, NotNil)
  33. sheetLen := len(xlsxFile.Sheets)
  34. c.Assert(sheetLen, Equals, 3)
  35. sheet = xlsxFile.Sheets[0]
  36. rowLen := len(sheet.Rows)
  37. c.Assert(rowLen, Equals, 2)
  38. row = sheet.Rows[0]
  39. c.Assert(len(row.Cells), Equals, 2)
  40. cell := row.Cells[0]
  41. cellstring := cell.String()
  42. c.Assert(cellstring, Equals, "Foo")
  43. }
  44. // Test that we can add a sheet to a File
  45. func (l *FileSuite) TestAddSheet(c *C) {
  46. var f *File
  47. f = NewFile()
  48. sheet := f.AddSheet("MySheet")
  49. c.Assert(sheet, NotNil)
  50. c.Assert(len(f.Sheets), Equals, 1)
  51. c.Assert(f.Sheets[0], Equals, sheet)
  52. c.Assert(len(f.Sheet), Equals, 1)
  53. c.Assert(f.Sheet["MySheet"], Equals, sheet)
  54. }