Skip to content

Commit 53f8a0b

Browse files
authored
Fix show of SparseAxisArray for small display size (#3996)
1 parent f659f18 commit 53f8a0b

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/Containers/SparseAxisArray.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ function Base.show(io::IOContext, x::SparseAxisArray)
467467
(i, (key, value)) in enumerate(x.data) if
468468
i < half_screen_rows || i > length(x) - half_screen_rows
469469
]
470-
pad = maximum(length(x[1]) for x in key_strings)
470+
pad = maximum((length(x[1]) for x in key_strings); init = 0)
471471
for (i, (key, value)) in enumerate(key_strings)
472472
print(io, " [", rpad(key, pad), "] = ", value)
473473
if i != length(key_strings)

test/Containers/test_SparseAxisArray.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,4 +395,14 @@ function test_empty_vector_indices()
395395
return
396396
end
397397

398+
function test_small_displaysize()
399+
for row in 0:9
400+
d = Containers.container(+, [(1, 2)], Containers.SparseAxisArray)
401+
io = IOContext(IOBuffer(), :limit => true, :displaysize => (row, 80))
402+
show(io, d)
403+
@test String(take!(io.io)) == ""
404+
end
405+
return
406+
end
407+
398408
end # module

0 commit comments

Comments
 (0)