Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a small bug in the TOML parser and add an example of printing to …
Browse files Browse the repository at this point in the history
…a file (#40208)

fix the TOML parser to parse 0e-3 and add an example of writing to a file

(cherry picked from commit 2ec75d6)
KristofferC committed Apr 4, 2021

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
1 parent 6efab4b commit bbed185
Showing 3 changed files with 14 additions and 6 deletions.
2 changes: 0 additions & 2 deletions base/toml_parser.jl
Original file line number Diff line number Diff line change
@@ -821,8 +821,6 @@ function parse_number_or_date_start(l::Parser)
ate && return parse_int(l, contains_underscore)
elseif accept(l, isdigit)
return parse_local_time(l)
elseif peek(l) !== '.'
return ParserError(ErrLeadingZeroNotAllowedInteger)
end
end

13 changes: 11 additions & 2 deletions stdlib/TOML/docs/src/index.md
Original file line number Diff line number Diff line change
@@ -65,8 +65,6 @@ format.
```jldoctest
julia> using TOML
julia> fname = tempname();
julia> data = Dict(
"names" => ["Julia", "Julio"],
"age" => [10, 20],
@@ -75,6 +73,17 @@ julia> data = Dict(
julia> TOML.print(data)
names = ["Julia", "Julio"]
age = [10, 20]
julia> fname = tempname();
julia> open(fname, "w") do io
TOML.print(io, data)
end
julia> TOML.parsefile(fname)
Dict{String, Any} with 2 entries:
"names" => ["Julia", "Julio"]
"age" => [10, 20]
```

Keys can be sorted according to some value
5 changes: 3 additions & 2 deletions stdlib/TOML/test/values.jl
Original file line number Diff line number Diff line change
@@ -39,6 +39,7 @@ end
@test testval("1.0e0" , 1.0)
@test testval("1.0e+0" , 1.0)
@test testval("1.0e-0" , 1.0)
@test testval("0e-3" , 0.0)
@test testval("1.001e-0" , 1.001)
@test testval("2e10" , 2e10)
@test testval("2e+10" , 2e10)
@@ -53,8 +54,8 @@ end
@test testval("+1_000" , 1000 |> Int64)
@test testval("-1_000" , -1000 |> Int64)

@test failval("0_" , Internals.ErrLeadingZeroNotAllowedInteger)
@test failval("0__0" , Internals.ErrLeadingZeroNotAllowedInteger)
@test failval("0_" , Internals.ErrUnderscoreNotSurroundedByDigits)
@test failval("0__0" , Internals.ErrUnderscoreNotSurroundedByDigits)
@test failval("__0" , Internals.ErrUnexpectedStartOfValue)
@test failval("1_0_" , Internals.ErrTrailingUnderscoreNumber)
@test failval("1_0__0" , Internals.ErrUnderscoreNotSurroundedByDigits)

0 comments on commit bbed185

Please sign in to comment.