diff --git a/stdlib/REPL/src/TerminalMenus/AbstractMenu.jl b/stdlib/REPL/src/TerminalMenus/AbstractMenu.jl index ee5bd4d4267955..f01df5c3893241 100644 --- a/stdlib/REPL/src/TerminalMenus/AbstractMenu.jl +++ b/stdlib/REPL/src/TerminalMenus/AbstractMenu.jl @@ -203,9 +203,9 @@ function request(term::REPL.Terminals.TTYTerminal, m::AbstractMenu; cursor::Unio lastoption = numoptions(m) c = readkey(term.in_stream) - if c == Int(ARROW_UP) || c == Int('k') + if c == Int(ARROW_UP) cursor[] = move_up!(m, cursor[], lastoption) - elseif c == Int(ARROW_DOWN) || c == Int('j') + elseif c == Int(ARROW_DOWN) cursor[] = move_down!(m, cursor[], lastoption) elseif c == Int(PAGE_UP) cursor[] = page_up!(m, cursor[], lastoption) @@ -217,7 +217,7 @@ function request(term::REPL.Terminals.TTYTerminal, m::AbstractMenu; cursor::Unio elseif c == Int(END_KEY) cursor[] = lastoption m.pageoffset = lastoption - m.pagesize - elseif c == 13 || c == Int(' ') # or + elseif c == 13 # # will break if pick returns true pick(m, cursor[]) && break elseif c == UInt32('q') diff --git a/stdlib/REPL/test/TerminalMenus/runtests.jl b/stdlib/REPL/test/TerminalMenus/runtests.jl index ac577dfd9ab272..62a91cc0a12562 100644 --- a/stdlib/REPL/test/TerminalMenus/runtests.jl +++ b/stdlib/REPL/test/TerminalMenus/runtests.jl @@ -6,22 +6,10 @@ using Test function simulate_input(expected, menu::TerminalMenus.AbstractMenu, keys...; kwargs...) - keydict = Dict(:up => "\e[A", - :down => "\e[B", - :enter => "\r") - vimdict = Dict(:up => "k", - :down => "j", - :enter => " ") - errs = [] - got = _simulate_input(keydict, deepcopy(menu), keys...; kwargs...) - got == expected || push!(errs, :arrows => got) - got = _simulate_input(vimdict, menu, keys...; kwargs...) - got == expected || push!(errs, :vim => got) - isempty(errs) || return errs -end + keydict = Dict(:up => "\e[A", + :down => "\e[B", + :enter => "\r") -function _simulate_input(keydict, menu::TerminalMenus.AbstractMenu, keys...; - kwargs...) for key in keys if isa(key, Symbol) write(stdin.buffer, keydict[key]) @@ -30,7 +18,7 @@ function _simulate_input(keydict, menu::TerminalMenus.AbstractMenu, keys...; end end - request(menu; suppress_output=true, kwargs...) + request(menu; suppress_output=true, kwargs...) == expected end include("radio_menu.jl")