Packages
wallaby
0.14.0
0.31.0
0.30.12
0.30.11
0.30.10
0.30.9
0.30.8
0.30.7
0.30.6
0.30.5
0.30.4
0.30.3
0.30.2
0.30.1
0.30.0
0.29.1
0.29.0
0.28.1
0.28.0
0.27.0
0.26.2
0.26.1
0.26.0
0.25.1
0.25.0
0.24.1
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.0
0.16.1
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.1
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.1
0.3.0
0.2.0
0.1.0
0.0.1
Concurrent feature tests for elixir
Current section
Files
Jump to
Current section
Files
lib/wallaby/helpers/key_codes.ex
defmodule Wallaby.Helpers.KeyCodes do
@moduledoc """
Helper utility for converting key atoms into key codes sutiable to send over
the wire.
"""
@doc """
Encode a list of key codes to a usable json representation.
"""
@spec json(list(atom)) :: String.t
def json(keys) when is_list(keys) do
unicode =
keys
|> Enum.map(&"\"#{code(&1)}\"")
|> Enum.join(",")
"{\"value\": [#{unicode}]}"
end
defp code(:null), do: "\\uE000"
defp code(:cancel), do: "\\uE001"
defp code(:help), do: "\\uE002"
defp code(:backspace), do: "\\uE003"
defp code(:tab), do: "\\uE004"
defp code(:clear), do: "\\uE005"
defp code(:return), do: "\\uE006"
defp code(:enter), do: "\\uE007"
defp code(:shift), do: "\\uE008"
defp code(:control), do: "\\uE009"
defp code(:alt), do: "\\uE00A"
defp code(:pause), do: "\\uE00B"
defp code(:escape), do: "\\uE00C"
defp code(:space), do: "\\uE00D"
defp code(:pageup), do: "\\uE00E"
defp code(:pagedown), do: "\\uE00F"
defp code(:end), do: "\\uE010"
defp code(:home), do: "\\uE011"
defp code(:left_arrow), do: "\\uE012"
defp code(:up_arrow), do: "\\uE013"
defp code(:right_arrow), do: "\\uE014"
defp code(:down_arrow), do: "\\uE015"
defp code(:insert), do: "\\uE016"
defp code(:delete), do: "\\uE017"
defp code(:semicolon), do: "\\uE018"
defp code(:equals), do: "\\uE019"
defp code(:num0), do: "\\uE01A"
defp code(:num1), do: "\\uE01B"
defp code(:num2), do: "\\uE01C"
defp code(:num3), do: "\\uE01D"
defp code(:num4), do: "\\uE01E"
defp code(:num5), do: "\\uE01F"
defp code(:num6), do: "\\uE020"
defp code(:num7), do: "\\uE021"
defp code(:num8), do: "\\uE022"
defp code(:num9), do: "\\uE023"
defp code(:multiply), do: "\\uE024"
defp code(:add), do: "\\uE025"
defp code(:seperator), do: "\\uE026"
defp code(:subtract), do: "\\uE027"
defp code(:decimal), do: "\\uE028"
defp code(:divide), do: "\\uE029"
defp code(:command), do: "\\uE03D"
end