Make extra_versions accept any string, strip quotes from input (#185)
This commit is contained in:
parent
1c8030be89
commit
25d4294c2e
|
@ -105,7 +105,7 @@ end
|
|||
|
||||
function convert_input(P::Type, T::Type{<:Vector}, s::AbstractString)
|
||||
startswith(s, '[') && endswith(s, ']') && (s = s[2:end-1])
|
||||
xs = map(strip, split(s, ","))
|
||||
xs = map(x -> strip(x, [' ', '\t', '"']), split(s, ","))
|
||||
return map(x -> convert_input(P, eltype(T), x), xs)
|
||||
end
|
||||
|
||||
|
@ -123,6 +123,7 @@ function prompt(P::Type, ::Type{T}, ::Val{name}, ::Nothing=nothing) where {T, na
|
|||
default = defaultkw(P, name)
|
||||
input = Base.prompt(pretty_message("Enter value for '$name' ($tips)"))
|
||||
input === nothing && throw(InterruptException())
|
||||
input = strip(input, '"')
|
||||
return if isempty(input)
|
||||
default
|
||||
else
|
||||
|
|
|
@ -392,7 +392,8 @@ Combine `t`'s Julia version with `versions`, and format them as `major.minor`.
|
|||
This is useful for creating lists of versions to be included in CI configurations.
|
||||
"""
|
||||
function collect_versions(t::Template, versions::Vector)
|
||||
vs = map(format_version, [t.julia, versions...])
|
||||
custom = map(v -> v isa VersionNumber ? format_version(v) : string(v), versions)
|
||||
vs = map(v -> lstrip(v, 'v'), [format_version(t.julia); custom])
|
||||
return sort(unique(vs))
|
||||
end
|
||||
|
||||
|
@ -408,4 +409,4 @@ is_ci(::Plugin) = false
|
|||
is_ci(::AllCI) = true
|
||||
|
||||
needs_username(::AllCI) = true
|
||||
customizable(::Type{<:AllCI}) = (:extra_versions => Vector{VersionNumber},)
|
||||
customizable(::Type{<:AllCI}) = (:extra_versions => Vector{String},)
|
||||
|
|
|
@ -157,7 +157,7 @@ end
|
|||
@test PT.interactive(TravisCI) == TravisCI(;
|
||||
arm64=true,
|
||||
coverage=false,
|
||||
extra_versions=[v"1.1", v"1.2"],
|
||||
extra_versions=["1.1", "v1.2"],
|
||||
file="x.txt",
|
||||
linux=true,
|
||||
osx=false,
|
||||
|
@ -183,6 +183,25 @@ end
|
|||
@test PT.interactive(License) == License(; destination="COPYING", name="MIT")
|
||||
end
|
||||
|
||||
@testset "Quotes" begin
|
||||
print(
|
||||
stdin.buffer,
|
||||
CR, DOWN^2, CR, DONE, # Customize user and dir
|
||||
"\"me\"", LF, # Enter user with quotes
|
||||
"\"~\"", LF, # Enter home dir with quotes
|
||||
)
|
||||
@test Template(; interactive=true) == Template(; user="me", dir="~")
|
||||
|
||||
print(
|
||||
stdin.buffer,
|
||||
DOWN^2, CR, DONE, # Customize extra_versions
|
||||
"\"1.1.1\", \"^1.5\", \"nightly\"", LF, # Enter versions with quotes
|
||||
)
|
||||
@test PT.interactive(TravisCI) == TravisCI(;
|
||||
extra_versions=["1.1.1", "^1.5", "nightly"],
|
||||
)
|
||||
end
|
||||
|
||||
@testset "Union{T, Nothing} weirdness" begin
|
||||
print(
|
||||
stdin.buffer,
|
||||
|
|
Loading…
Reference in New Issue