diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54fbecde..7f27c374 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,8 +18,6 @@ jobs: fail-fast: false matrix: include: - - elixir: '1.11.4' - otp: '24.2' - elixir: '1.16.0' otp: '26.2' diff --git a/CHANGELOG.md b/CHANGELOG.md index 4042c138..cd70e0c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## 0.12.0-rc.0 + +**Note: as of v0.12.0 we'll be requiring at least Elixir 1.16** + +This is a major update that adds fixes and support for new operations: + +* CI improvements - @axelson +* Formatting updates - @axelson +* Support for Elixir 1.16 - @axelson +* Update getting started guide for Scenic in supervision tree - @amclain +* Fix `already_started` error propogation failure - @seb3s +* Add development Nix flake - @crertel +* Reduce makefile compilation spam - @jjcartsens +* Simplify `default_pin` and `centroid` code - @seb3s +* Add new input events (`:btn_pressed`, `:btn_released`, `:dropdown_opened`, `:dropdown_closed`, `:dropdown_item_hover`, `:focus`, `:blur`) - @GPrimola +* Add warning for missing `handle_input/3` on `request_input/2` - @BinaryNoggin +* Add alpha channel to sprites - @seb3s +* Add script arc functions - @GPrimola +* Add extended rounded rectangle drawing - @GPrimola +* Assorted updates for deprecations and warnings + + ## 0.11.2 * Variety of minor updates, bug fixes, and doc updates @@ -113,7 +135,7 @@ continue to work, but will log a warning when used. | Asset Class | Module | | ------------- | -----| -| Fonts | `Scenic.Cache.Static.Font` | +| Fonts | `Scenic.Cache.Static.Font` | | Font Metrics | `Scenic.Cache.Static.FontMetrics` | | Textures (images in a fill) | `Scenic.Cache.Static.Texture` | | Raw Pixel Maps | `Scenic.Cache.Dynamic.Texture` | diff --git a/config/.credo.exs b/config/.credo.exs index bf650703..a05abc7e 100644 --- a/config/.credo.exs +++ b/config/.credo.exs @@ -84,7 +84,7 @@ # If you don't want TODO comments to cause `mix credo` to fail, just # set this value to 0 (zero). # - {Credo.Check.Design.TagTODO, exit_status: 2}, + {Credo.Check.Design.TagTODO, exit_status: 0}, {Credo.Check.Design.TagFIXME}, # diff --git a/flake.nix b/flake.nix index 4a63a33a..1b7f0876 100644 --- a/flake.nix +++ b/flake.nix @@ -7,24 +7,44 @@ }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: - let - inherit (pkgs.lib) optional optionals; - pkgs = import nixpkgs { inherit system; }; + let + inherit (pkgs.lib) optional optionals; + pkgs = import nixpkgs { inherit system; }; - elixir = pkgs.beam.packages.erlang.elixir; - in - with pkgs; - { - devShell = pkgs.mkShell { - buildInputs = [ - elixir_1_16 - elixir_ls - ] ++ optional stdenv.isLinux inotify-tools + elixir = pkgs.beam.packages.erlang.elixir; + in + with pkgs; + { + devShell = pkgs.mkShell { + buildInputs = [ + util-linux + libselinux + libthai + libdatrie + libsepol + libxkbcommon + libepoxy + pcre + pcre2 + xorg.libXtst + cairo + gtk3 + freeglut + elixir_1_16 + elixir_ls + glibcLocales + glew + glfw + pkg-config + xorg.libX11 + xorg.libXau + xorg.libXdmcp + ] ++ optional stdenv.isLinux inotify-tools ++ optional stdenv.isDarwin terminal-notifier ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices ]); - }; - }); + }; + }); } diff --git a/lib/scenic/color.ex b/lib/scenic/color.ex index d50a72f6..301dec93 100644 --- a/lib/scenic/color.ex +++ b/lib/scenic/color.ex @@ -180,7 +180,7 @@ defmodule Scenic.Color do Most of the time, you will use one of the pre-defined named colors from the Named Colors table. However, there are times when you want to work with - other color formats ranging from simple grayscale to rgb to hsl. + other color formats ranging from simple grayscale to rgb to hsl. The following formats are all supported by the `Scenic.Color` module. The values of r, g, b, and a are integers between 0 and 255. @@ -543,11 +543,12 @@ defmodule Scenic.Color do h = rgb_to_hue(r, g, b) l = (max + min) / 2 - s = - cond do - delta < @epsilon -> 0.0 - true -> delta / (1 - abs(2 * l - 1)) - end + s = if delta < @epsilon do + 0.0 + else + delta / (1 - abs(2 * l - 1)) + end + {h, s * 100, l * 100} end diff --git a/lib/scenic/driver/key_map.ex b/lib/scenic/driver/key_map.ex index 09d35fc8..211549ef 100644 --- a/lib/scenic/driver/key_map.ex +++ b/lib/scenic/driver/key_map.ex @@ -64,7 +64,7 @@ defmodule Scenic.Driver.KeyMap do """ @spec caps_lock?(keys :: keys) :: boolean def caps_lock?(keys) do - is_pressed?(keys[:virt_caps_lock]) + pressed?(keys[:virt_caps_lock]) end @doc """ @@ -74,7 +74,7 @@ defmodule Scenic.Driver.KeyMap do """ @spec num_lock?(keys :: keys) :: boolean def num_lock?(keys) do - is_pressed?(keys[:virt_num_lock]) + pressed?(keys[:virt_num_lock]) end @doc """ @@ -84,7 +84,7 @@ defmodule Scenic.Driver.KeyMap do """ @spec scroll_lock?(keys :: keys) :: boolean def scroll_lock?(keys) do - is_pressed?(keys[:virt_scroll_lock]) + pressed?(keys[:virt_scroll_lock]) end @doc """ @@ -94,9 +94,9 @@ defmodule Scenic.Driver.KeyMap do """ @spec shift?(keys :: keys) :: boolean def shift?(keys) do - is_pressed?(keys[:key_shift]) || - is_pressed?(keys[:key_leftshift]) || - is_pressed?(keys[:key_rightshift]) + pressed?(keys[:key_shift]) || + pressed?(keys[:key_leftshift]) || + pressed?(keys[:key_rightshift]) end @doc """ @@ -104,9 +104,9 @@ defmodule Scenic.Driver.KeyMap do """ @spec alt?(keys :: keys) :: boolean def alt?(keys) do - is_pressed?(keys[:key_alt]) || - is_pressed?(keys[:key_leftalt]) || - is_pressed?(keys[:key_rightalt]) + pressed?(keys[:key_alt]) || + pressed?(keys[:key_leftalt]) || + pressed?(keys[:key_rightalt]) end @doc """ @@ -114,9 +114,9 @@ defmodule Scenic.Driver.KeyMap do """ @spec ctrl?(keys :: keys) :: boolean def ctrl?(keys) do - is_pressed?(keys[:key_ctrl]) || - is_pressed?(keys[:key_leftctrl]) || - is_pressed?(keys[:key_rightctrl]) + pressed?(keys[:key_ctrl]) || + pressed?(keys[:key_leftctrl]) || + pressed?(keys[:key_rightctrl]) end @doc """ @@ -124,9 +124,9 @@ defmodule Scenic.Driver.KeyMap do """ @spec meta?(keys :: keys) :: boolean def meta?(keys) do - is_pressed?(keys[:key_meta]) || - is_pressed?(keys[:key_leftmeta]) || - is_pressed?(keys[:key_rightmeta]) + pressed?(keys[:key_meta]) || + pressed?(keys[:key_leftmeta]) || + pressed?(keys[:key_rightmeta]) end @doc """ @@ -144,9 +144,9 @@ defmodule Scenic.Driver.KeyMap do |> add_if_set(:scroll_lock, scroll_lock?(keys)) end - defp is_pressed?(nil), do: false - defp is_pressed?(0), do: false - defp is_pressed?(_), do: true + defp pressed?(nil), do: false + defp pressed?(0), do: false + defp pressed?(_), do: true defp add_if_set(list, value, true), do: [value | list] defp add_if_set(list, _value, false), do: list diff --git a/lib/scenic/graph/compiler.ex b/lib/scenic/graph/compiler.ex index 45bebe88..e10ba350 100644 --- a/lib/scenic/graph/compiler.ex +++ b/lib/scenic/graph/compiler.ex @@ -156,19 +156,21 @@ defmodule Scenic.Graph.Compiler do defp compile_styles(desired, %Compiler{} = state) when is_list(desired) do Enum.reduce(desired, {[], state}, fn k, {ops, state} -> # if not requested, there is no style to compile... - with {:ok, req} <- fetch_req(state, k) do - case fetch_set(state, k) do - {:ok, ^req} -> - # Nothing to do. The correct style is already set - {ops, state} - - _ -> - # Whatever is set (or not) is different than what is requested - {compile_style(ops, {k, req}), put_set(state, k, req)} - end - else + case fetch_req(state, k) do + {:ok, req} -> + case fetch_set(state, k) do + {:ok, ^req} -> + # Nothing to do. The correct style is already set + {ops, state} + + _ -> + # Whatever is set (or not) is different than what is requested + {compile_style(ops, {k, req}), put_set(state, k, req)} + end + # not requested at all case - _ -> {ops, state} + _ -> + {ops, state} end end) end diff --git a/lib/scenic/scene.ex b/lib/scenic/scene.ex index ae277bae..c525441e 100644 --- a/lib/scenic/scene.ex +++ b/lib/scenic/scene.ex @@ -722,10 +722,14 @@ defmodule Scenic.Scene do def request_input(scene, input_class) def request_input(scene, input) when is_atom(input), do: request_input(scene, [input]) - def request_input(%Scene{viewport: vp, pid: pid, module: module}, inputs) when is_list(inputs) do + def request_input(%Scene{viewport: vp, pid: pid, module: module}, inputs) + when is_list(inputs) do unless Kernel.function_exported?(module, :handle_input, 3) do - Logger.warning("Requesting input for #{inspect inputs} - #{module}.handle_input/3 not implemented") + Logger.warning( + "Requesting input for #{inspect(inputs)} - #{module}.handle_input/3 not implemented" + ) end + ViewPort.Input.request(vp, inputs, pid: pid) end diff --git a/lib/scenic/script.ex b/lib/scenic/script.ex index 5daf2609..4b6a8244 100644 --- a/lib/scenic/script.ex +++ b/lib/scenic/script.ex @@ -570,7 +570,8 @@ defmodule Scenic.Script do [ {:draw_rrectv, - {width, height, upper_left_radius, upper_right_radius, lower_right_radius, lower_left_radius, flag}} + {width, height, upper_left_radius, upper_right_radius, lower_right_radius, + lower_left_radius, flag}} | ops ] end diff --git a/mix.exs b/mix.exs index fa6ab004..42394ad4 100644 --- a/mix.exs +++ b/mix.exs @@ -3,9 +3,9 @@ defmodule Scenic.Mixfile do @app_name :scenic - @version "0.11.2" + @version "0.12.0-rc.0" - @elixir_version "~> 1.11" + @elixir_version "~> 1.16" @github "https://github.com/ScenicFramework/scenic" def project do @@ -47,18 +47,18 @@ defmodule Scenic.Mixfile do defp deps do [ {:font_metrics, "~> 0.5.0"}, - {:nimble_options, "~> 0.3.4 or ~> 0.4.0 or ~> 0.5.0 or ~> 1.0"}, + {:nimble_options, "~> 0.3.4 or ~> 0.4.0 or ~> 0.5.0 or ~> 1.1"}, {:ex_image_info, "~> 0.2.4"}, {:truetype_metrics, "~> 0.6"}, # Tools - {:elixir_make, "~> 0.8.3", runtime: false}, - {:ex_doc, ">= 0.0.0", only: :dev, runtime: false}, - {:credo, ">= 0.0.0", only: [:dev, :test], runtime: false}, - {:excoveralls, ">= 0.0.0", only: :test, runtime: false}, + {:elixir_make, "~> 0.8.4", runtime: false}, + {:ex_doc, "~> 0.34.1", only: :dev, runtime: false}, + {:credo, "~> 1.7.7", only: [:dev, :test], runtime: false}, + {:excoveralls, "~> 0.18.1", only: :test, runtime: false}, {:inch_ex, "~> 2.0", only: [:dev, :docs], runtime: false}, - {:dialyxir, "~> 1.1", only: :dev, runtime: false}, - {:machete, "~> 0.2.8", only: :test} + {:dialyxir, "~> 1.4.3", only: :dev, runtime: false}, + {:machete, "~> 0.3.3", only: :test} ] end diff --git a/mix.lock b/mix.lock index 16d7e9ec..c9e4b40e 100644 --- a/mix.lock +++ b/mix.lock @@ -1,30 +1,30 @@ %{ "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"}, "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, - "credo": {:hex, :credo, "1.7.0", "6119bee47272e85995598ee04f2ebbed3e947678dee048d10b5feca139435f75", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "6839fcf63d1f0d1c0f450abc8564a57c43d644077ab96f2934563e68b8a769d7"}, - "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, + "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"}, + "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, "earmark": {:hex, :earmark, "1.4.0", "397e750b879df18198afc66505ca87ecf6a96645545585899f6185178433cc09", [:mix], [], "hexpm", "4bedcec35de03b5f559fd2386be24d08f7637c374d3a85d3fe0911eecdae838a"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"}, - "elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"}, - "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.29.4", "6257ecbb20c7396b1fe5accd55b7b0d23f44b6aa18017b415cb4c2b91d997729", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2c6699a737ae46cb61e4ed012af931b57b699643b24dabe2400a8168414bc4f5"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"}, + "elixir_make": {:hex, :elixir_make, "0.8.4", "4960a03ce79081dee8fe119d80ad372c4e7badb84c493cc75983f9d3bc8bde0f", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.0", [hex: :certifi, repo: "hexpm", optional: true]}], "hexpm", "6e7f1d619b5f61dfabd0a20aa268e575572b542ac31723293a4c1a567d5ef040"}, + "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, + "ex_doc": {:hex, :ex_doc, "0.34.1", "9751a0419bc15bc7580c73fde506b17b07f6402a1e5243be9e0f05a68c723368", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "d441f1a86a235f59088978eff870de2e815e290e44a8bd976fe5d64470a4c9d2"}, "ex_image_info": {:hex, :ex_image_info, "0.2.4", "610002acba43520a9b1cf1421d55812bde5b8a8aeaf1fe7b1f8823e84e762adb", [:mix], [], "hexpm", "fd1a7e02664e3b14dfd3b231d22fdd48bd3dd694c4773e6272b3a6228f1106bc"}, - "excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"}, - "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, + "excoveralls": {:hex, :excoveralls, "0.18.1", "a6f547570c6b24ec13f122a5634833a063aec49218f6fff27de9df693a15588c", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "d65f79db146bb20399f23046015974de0079668b9abb2f5aac074d078da60b8d"}, + "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"}, "font_metrics": {:hex, :font_metrics, "0.5.1", "10ce0b8b1bf092a2d3d307e05a7c433787ae8ca7cd1f3cf959995a628809a994", [:mix], [{:nimble_options, "~> 0.3", [hex: :nimble_options, repo: "hexpm", optional: false]}], "hexpm", "192e4288772839ae4dadccb0f5b1d5c89b73a0c3961ccea14b6181fdcd535e54"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "inch_ex": {:hex, :inch_ex, "2.0.0", "24268a9284a1751f2ceda569cd978e1fa394c977c45c331bb52a405de544f4de", [:mix], [{:bunt, "~> 0.2", [hex: :bunt, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "96d0ec5ecac8cf63142d02f16b7ab7152cf0f0f1a185a80161b758383c9399a8"}, - "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, - "machete": {:hex, :machete, "0.2.8", "ca7be4d2d65f05f4ab5eac0f5fd339cea08d4d75f775ac6c22991df2baed5d80", [:mix], [], "hexpm", "09bf5b306385d01c877453ead94914a595beecba3f2525c7364ee3ba0630a224"}, - "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, + "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, + "machete": {:hex, :machete, "0.3.3", "e5f4bad457abf8b9cb5f8d8449dc5739ef1f81225eb0e8e7059427d674e1727f", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "61c0d997c9c4d8104f954155860db2f8f7b342194e3bb5ae6b537944d3c5051c"}, + "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, + "makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "msgpax": {:hex, :msgpax, "2.2.4", "7b3790ef684089076b63c0f08c2f4b079c6311daeb006b69e4ed2bf67518291e", [:mix], [{:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "b351b6d992d79624a8430a99d21a41b36b1b90edf84326a294e9f4a2de11f089"}, "nimble_options": {:hex, :nimble_options, "0.5.2", "42703307b924880f8c08d97719da7472673391905f528259915782bb346e0a1b", [:mix], [], "hexpm", "4da7f904b915fd71db549bcdc25f8d56f378ef7ae07dc1d372cbe72ba950dce0"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.3.0", "9e18a119d9efc3370a3ef2a937bf0b24c088d9c4bf0ba9d7c3751d49d347d035", [:mix], [], "hexpm", "7977f183127a7cbe9346981e2f480dc04c55ffddaef746bd58debd566070eef8"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, "scenic_math": {:git, "git@github.com:boydm/scenic_math.git", "6788458abfacedfd0066cef29c8c165140cafdd4", []}, diff --git a/test/scenic/scene_test.exs b/test/scenic/scene_test.exs index 9cac1adb..16e9b294 100644 --- a/test/scenic/scene_test.exs +++ b/test/scenic/scene_test.exs @@ -430,9 +430,9 @@ defmodule Scenic.SceneTest do end assert capture_log(fn -> - Scenic.Scene.request_input(scene, [:key]) - end) - =~ "handle_input/3 not implemented" + Scenic.Scene.request_input(scene, [:key]) + end) =~ + "handle_input/3 not implemented" end test "unrequest_input works", %{scene: scene} do