MCPcopy
hub / github.com/qax-os/excelize / TestColumns

Function TestColumns

rows_test.go:218–249  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

216}
217
218func TestColumns(t *testing.T) {
219 f := NewFile()
220 rows, err := f.Rows("Sheet1")
221 assert.NoError(t, err)
222
223 rows.decoder = f.xmlNewDecoder(bytes.NewReader([]byte(`<worksheet><sheetData><row r="2"><c r="A1" t="s"><v>1</v></c></row></sheetData></worksheet>`)))
224 _, err = rows.Columns()
225 assert.NoError(t, err)
226 rows.decoder = f.xmlNewDecoder(bytes.NewReader([]byte(`<worksheet><sheetData><row r="2"><c r="A1" t="s"><v>1</v></c></row></sheetData></worksheet>`)))
227 rows.curRow = 1
228 _, err = rows.Columns()
229 assert.NoError(t, err)
230
231 rows.decoder = f.xmlNewDecoder(bytes.NewReader([]byte(`<worksheet><sheetData><row r="A"><c r="A1" t="s"><v>1</v></c></row><row r="A"><c r="2" t="inlineStr"><is><t>B</t></is></c></row></sheetData></worksheet>`)))
232 assert.True(t, rows.Next())
233 _, err = rows.Columns()
234 assert.EqualError(t, err, `strconv.Atoi: parsing "A": invalid syntax`)
235
236 rows.decoder = f.xmlNewDecoder(bytes.NewReader([]byte(`<worksheet><sheetData><row r="1"><c r="A1" t="s"><v>1</v></c></row><row r="A"><c r="2" t="inlineStr"><is><t>B</t></is></c></row></sheetData></worksheet>`)))
237 _, err = rows.Columns()
238 assert.NoError(t, err)
239
240 rows.decoder = f.xmlNewDecoder(bytes.NewReader([]byte(`<worksheet><sheetData><row r="1"><c r="A" t="s"><v>1</v></c></row></sheetData></worksheet>`)))
241 assert.True(t, rows.Next())
242 _, err = rows.Columns()
243 assert.Equal(t, newCellNameToCoordinatesError("A", newInvalidCellNameError("A")), err)
244
245 // Test token is nil
246 rows.decoder = f.xmlNewDecoder(bytes.NewReader(nil))
247 _, err = rows.Columns()
248 assert.NoError(t, err)
249}
250
251func TestSharedStringsReader(t *testing.T) {
252 f := NewFile()

Callers

nothing calls this directly

Calls 7

RowsMethod · 0.95
xmlNewDecoderMethod · 0.95
NewFileFunction · 0.85
newInvalidCellNameErrorFunction · 0.85
ColumnsMethod · 0.80
NextMethod · 0.45

Tested by

no test coverage detected