mirror of https://github.com/mpastell/Weave.jl
Merge 919fa4b302
into 77793c775c
commit
9064326f74
|
@ -17,8 +17,9 @@ const _DEFAULT_PARAMS = Dict{Symbol,Any}(
|
|||
:term => false,
|
||||
:prompt => "julia>",
|
||||
:label => nothing,
|
||||
:wrap => true,
|
||||
:wrap => false,
|
||||
:line_width => 75,
|
||||
:displaysize => displaysize(),
|
||||
:fig_ext => nothing,
|
||||
:fig_pos => nothing,
|
||||
:fig_env => nothing,
|
||||
|
|
|
@ -262,7 +262,11 @@ function eval_chunk(doc::WeaveDoc, chunk::CodeChunk, report::Report, mod::Module
|
|||
chunk.options[:out_width] = report.format.out_width
|
||||
end
|
||||
|
||||
chunk.result = run_code(doc, chunk, report, mod)
|
||||
# Get the default `displaysize`.
|
||||
lines, cols = chunk.options[:displaysize]
|
||||
chunk.result = withenv("LINES" => lines, "COLUMNS" => cols) do
|
||||
run_code(doc, chunk, report, mod)
|
||||
end
|
||||
|
||||
execute_posthooks!(chunk)
|
||||
|
||||
|
|
|
@ -23,6 +23,66 @@ DataFrame(a=rand($n))
|
|||
@test isdefined(doc.chunks[1], :rich_output)
|
||||
@test count("<tr>", doc.chunks[1].rich_output) < n
|
||||
|
||||
# `displaysize`
|
||||
rows = 10 # number of rows in table
|
||||
columns = 10 # number of colums in table
|
||||
|
||||
displaysize_rows = 1
|
||||
displaysize_columns = 1
|
||||
displayed_rows = displaysize_rows # number of rows that ends up getting displayed
|
||||
displayed_columns = displaysize_columns # number of columns that ends up getting displayed
|
||||
|
||||
doc = mock_run("""
|
||||
```julia; displaysize=($displaysize_rows, $displaysize_columns)
|
||||
using DataFrames
|
||||
DataFrame(Dict(Symbol(i) => rand($(rows)) for i = 1:$(columns)))
|
||||
```
|
||||
"""; doctype = "md2html")
|
||||
@test isdefined(doc.chunks[1], :rich_output)
|
||||
# Name row: 1
|
||||
# Type row: 1
|
||||
# Displayed rows: `displaysize_rows`
|
||||
# ... row: 1
|
||||
@test count("<tr>", doc.chunks[1].rich_output) == displayed_rows + 3
|
||||
# Name row: 1 per displayed column + 1 for index column
|
||||
# Type row: 1 per displayed column + 1 for index column
|
||||
# Displayed rows: 1 per row
|
||||
# ... row: 1
|
||||
# Mistakenly match `<thead`: 1
|
||||
@test count("<th", doc.chunks[1].rich_output) == (displayed_columns + 1) * 2 + displayed_rows + 1 + 1
|
||||
|
||||
# Increase rows but not columns.
|
||||
displaysize_rows = 5
|
||||
displaysize_columns = 1
|
||||
displayed_rows = displaysize_rows
|
||||
displayed_columns = displaysize_columns
|
||||
|
||||
doc = mock_run("""
|
||||
```julia; displaysize=($displaysize_rows, $displaysize_columns)
|
||||
using DataFrames
|
||||
DataFrame(Dict(Symbol(i) => rand($(rows)) for i = 1:$(columns)))
|
||||
```
|
||||
"""; doctype = "md2html")
|
||||
@test isdefined(doc.chunks[1], :rich_output)
|
||||
@test count("<tr>", doc.chunks[1].rich_output) == displayed_rows + 3
|
||||
@test count("<th", doc.chunks[1].rich_output) == (displayed_columns + 1) * 2 + displayed_rows + 1 + 1
|
||||
|
||||
# Increase columns too.
|
||||
displaysize_rows = 5
|
||||
displaysize_columns = 1000 # enough to get ALL `columns` to be displayed.
|
||||
displayed_rows = displaysize_rows
|
||||
displayed_columns = columns # `displaysize_columns` large enough for all columns to be displayed
|
||||
doc = mock_run("""
|
||||
```julia; displaysize=($displaysize_rows, $displaysize_columns)
|
||||
using DataFrames
|
||||
DataFrame(Dict(Symbol(i) => rand($(rows)) for i = 1:$(columns)))
|
||||
```
|
||||
"""; doctype = "md2html")
|
||||
@test isdefined(doc.chunks[1], :rich_output)
|
||||
@test count("<tr>", doc.chunks[1].rich_output) == displayed_rows + 3
|
||||
@test count("<th", doc.chunks[1].rich_output) == (displayed_columns + 1) * 2 + displayed_rows + 1 + 1
|
||||
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue