Skip to content

Commit afebad2

Browse files
dengyidengyi
authored andcommitted
fix
1 parent 6023501 commit afebad2

File tree

1 file changed

+1
-150
lines changed

1 file changed

+1
-150
lines changed

rows_test.go

Lines changed: 1 addition & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -190,163 +190,14 @@ func TestIterateColumnsEarlyTermination(t *testing.T) {
190190
err = rows.IterateColumns(func(index int, cell string) error {
191191
collectedCells = append(collectedCells, cell)
192192
if index == 1 {
193-
return fmt.Errorf("stop") // stop at second column
193+
return fmt.Errorf("stop")
194194
}
195195
return nil
196196
})
197197
assert.EqualError(t, err, "stop")
198198
assert.Equal(t, []string{"A1", "B1"}, collectedCells)
199199
}
200200

201-
func TestIterateColumnsWithFormula(t *testing.T) {
202-
f := NewFile()
203-
204-
// Test with formula cell
205-
assert.NoError(t, f.SetCellFormula("Sheet1", "A1", "=1+2"))
206-
assert.NoError(t, f.SetCellValue("Sheet1", "B1", "text"))
207-
208-
rows, err := f.Rows("Sheet1")
209-
assert.NoError(t, err)
210-
defer rows.Close()
211-
212-
assert.True(t, rows.Next())
213-
214-
// Test normal mode
215-
var normalCells []string
216-
err = rows.IterateColumns(func(index int, cell string) error {
217-
normalCells = append(normalCells, cell)
218-
return nil
219-
})
220-
assert.NoError(t, err)
221-
assert.Equal(t, 2, len(normalCells))
222-
assert.Equal(t, "text", normalCells[1])
223-
224-
// Test with Options parameter coverage
225-
rows2, err := f.Rows("Sheet1")
226-
assert.NoError(t, err)
227-
defer rows2.Close()
228-
assert.True(t, rows2.Next())
229-
230-
var rawCells []string
231-
err = rows2.IterateColumns(func(index int, cell string) error {
232-
rawCells = append(rawCells, cell)
233-
return nil
234-
}, Options{RawCellValue: true})
235-
assert.NoError(t, err)
236-
assert.True(t, len(rawCells) >= 1) // Just ensure we get some cells
237-
}
238-
239-
func TestIterateColumnsErrorCases(t *testing.T) {
240-
f := NewFile()
241-
242-
// Test with invalid shared strings
243-
f.SharedStrings = nil
244-
f.Pkg.Store(defaultXMLPathSharedStrings, MacintoshCyrillicCharset)
245-
246-
rows, err := f.Rows("Sheet1")
247-
assert.NoError(t, err)
248-
defer rows.Close()
249-
250-
// Test sharedStringsReader error path
251-
err = rows.IterateColumns(func(index int, cell string) error {
252-
return nil
253-
})
254-
assert.EqualError(t, err, "XML syntax error on line 1: invalid UTF-8")
255-
}
256-
257-
func TestIterateColumnsSkipRows(t *testing.T) {
258-
f := NewFile()
259-
assert.NoError(t, f.SetCellValue("Sheet1", "A1", "row1"))
260-
assert.NoError(t, f.SetCellValue("Sheet1", "A2", "row2"))
261-
262-
rows, err := f.Rows("Sheet1")
263-
assert.NoError(t, err)
264-
defer rows.Close()
265-
266-
// Skip first row
267-
assert.True(t, rows.Next())
268-
269-
// Move to second row
270-
assert.True(t, rows.Next())
271-
272-
var cells []string
273-
err = rows.IterateColumns(func(index int, cell string) error {
274-
cells = append(cells, cell)
275-
return nil
276-
})
277-
assert.NoError(t, err)
278-
assert.Equal(t, []string{"row2"}, cells)
279-
}
280-
281-
func TestIterateColumnsEmptyCallback(t *testing.T) {
282-
f := NewFile()
283-
assert.NoError(t, f.SetCellValue("Sheet1", "A1", "")) // Empty cell
284-
assert.NoError(t, f.SetCellValue("Sheet1", "B1", "B1"))
285-
286-
rows, err := f.Rows("Sheet1")
287-
assert.NoError(t, err)
288-
defer rows.Close()
289-
290-
assert.True(t, rows.Next())
291-
292-
var cells []string
293-
var indices []int
294-
err = rows.IterateColumns(func(index int, cell string) error {
295-
cells = append(cells, cell)
296-
indices = append(indices, index)
297-
// Test early termination in empty cell callback
298-
if index == 0 && cell == "" {
299-
return fmt.Errorf("empty cell error")
300-
}
301-
return nil
302-
})
303-
assert.EqualError(t, err, "empty cell error")
304-
assert.Equal(t, []string{""}, cells)
305-
assert.Equal(t, []int{0}, indices)
306-
}
307-
308-
func TestIterateColumnsBoundaryConditions(t *testing.T) {
309-
f := NewFile()
310-
assert.NoError(t, f.SetCellValue("Sheet1", "A1", "A1"))
311-
312-
rows, err := f.Rows("Sheet1")
313-
assert.NoError(t, err)
314-
defer rows.Close()
315-
316-
// Test curRow > seekRow condition
317-
rows.curRow = 10
318-
rows.seekRow = 5
319-
320-
err = rows.IterateColumns(func(index int, cell string) error {
321-
t.Error("Should not be called")
322-
return nil
323-
})
324-
assert.NoError(t, err) // Should return nil when curRow > seekRow
325-
}
326-
327-
func TestIterateColumnsXMLStructure(t *testing.T) {
328-
f := NewFile()
329-
330-
// Create test data to ensure XML structure coverage
331-
assert.NoError(t, f.SetCellValue("Sheet1", "A1", "test"))
332-
assert.NoError(t, f.SetCellFormula("Sheet1", "B1", "=SUM(1,2)"))
333-
334-
rows, err := f.Rows("Sheet1")
335-
assert.NoError(t, err)
336-
defer rows.Close()
337-
338-
assert.True(t, rows.Next())
339-
340-
// This should exercise various XML parsing paths
341-
var cellCount int
342-
err = rows.IterateColumns(func(index int, cell string) error {
343-
cellCount++
344-
return nil
345-
})
346-
assert.NoError(t, err)
347-
assert.True(t, cellCount >= 2)
348-
}
349-
350201
func TestRowHeight(t *testing.T) {
351202
f := NewFile()
352203
sheet1 := f.GetSheetName(0)

0 commit comments

Comments
 (0)