44#
55
66defmodule Scenic.ViewPort.InputTest do
7- use ExUnit.Case , async: false
7+ use Scenic.Test.DataCase , async: false
88 doctest Scenic.ViewPort.Input
99
1010 alias Scenic.ViewPort
@@ -46,86 +46,86 @@ defmodule Scenic.ViewPort.InputTest do
4646 end
4747
4848 test "Test that capture/release/list_captures work" , % { vp: vp } do
49- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
49+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
5050
5151 :ok = Input . capture ( vp , :cursor_pos )
52- assert Input . fetch_captures ( vp ) == { :ok , [ :cursor_pos ] }
52+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
5353
5454 :ok = Input . capture ( vp , [ :key , :codepoint ] )
55- assert Input . fetch_captures ( vp ) == { :ok , [ :key , :cursor_pos , :codepoint ] }
55+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ :key , :cursor_pos , :codepoint ] ) }
5656
5757 :ok = Input . release ( vp , :key )
58- assert Input . fetch_captures ( vp ) == { :ok , [ :cursor_pos , :codepoint ] }
58+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos , :codepoint ] ) }
5959
6060 :ok = Input . release ( vp , :all )
61- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
61+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
6262 end
6363
6464 test "list_captures and list_captures! work" , % { vp: vp } do
65- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
66- assert Input . fetch_captures! ( vp ) == { :ok , [ ] }
65+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
66+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
6767
6868 Agent . start ( fn ->
6969 :ok = Input . capture ( vp , [ :codepoint ] )
7070 end )
7171
72- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
73- assert Input . fetch_captures! ( vp ) == { :ok , [ :codepoint ] }
72+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
73+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ :codepoint ] ) }
7474
7575 :ok = Input . capture ( vp , :cursor_pos )
76- assert Input . fetch_captures ( vp ) == { :ok , [ :cursor_pos ] }
77- assert Input . fetch_captures! ( vp ) == { :ok , [ :codepoint , :cursor_pos ] }
76+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
77+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ :codepoint , :cursor_pos ] ) }
7878 end
7979
8080 test "captures are cleaned up when the owning process stops" , % { vp: vp } do
8181 # set up a capture
8282 :ok = Input . capture ( vp , [ :codepoint ] )
83- assert Input . fetch_captures! ( vp ) == { :ok , [ :codepoint ] }
83+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ :codepoint ] ) }
8484
8585 # fake indicate this process went down
8686 Process . send ( vp . pid , { :DOWN , make_ref ( ) , :process , self ( ) , :test } , [ ] )
8787
88- assert Input . fetch_captures! ( vp ) == { :ok , [ ] }
88+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
8989 end
9090
9191 test "Test that request/unrequest/list_requests work" , % { vp: vp } do
92- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
92+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
9393
9494 :ok = Input . request ( vp , :cursor_pos )
95- assert Input . fetch_requests ( vp ) == { :ok , [ :cursor_pos ] }
95+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
9696
9797 :ok = Input . request ( vp , [ :key , :codepoint ] )
98- assert Input . fetch_requests ( vp ) == { :ok , [ :key , :cursor_pos , :codepoint ] }
98+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ :key , :cursor_pos , :codepoint ] ) }
9999
100100 :ok = Input . unrequest ( vp , :key )
101- assert Input . fetch_requests ( vp ) == { :ok , [ :cursor_pos , :codepoint ] }
101+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos , :codepoint ] ) }
102102
103103 :ok = Input . unrequest ( vp , :all )
104- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
104+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
105105 end
106106
107107 test "fetch_requests and fetch_requests! work" , % { vp: vp } do
108- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
109- assert Input . fetch_requests! ( vp ) == { :ok , [ ] }
108+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
109+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
110110
111111 Agent . start ( fn ->
112112 :ok = Input . request ( vp , [ :codepoint ] )
113113 end )
114114
115- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
116- assert Input . fetch_requests! ( vp ) == { :ok , [ :codepoint ] }
115+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
116+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :codepoint ] ) }
117117
118118 :ok = Input . request ( vp , :cursor_pos )
119- assert Input . fetch_requests ( vp ) == { :ok , [ :cursor_pos ] }
120- assert Input . fetch_requests! ( vp ) == { :ok , [ :codepoint , :cursor_pos ] }
119+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
120+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :codepoint , :cursor_pos ] ) }
121121 end
122122
123123 test "requests are cleaned up with the owning process stops" , % { vp: vp , scene: scene } do
124124 :ok = Input . request ( vp , :cursor_pos )
125125 Scenic.Scene . request_input ( scene , :codepoint )
126- assert Input . fetch_requests! ( vp ) == { :ok , [ :codepoint , :cursor_pos ] }
126+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :codepoint , :cursor_pos ] ) }
127127 Scenic.Scene . stop ( scene )
128- assert Input . fetch_requests! ( vp ) == { :ok , [ :cursor_pos ] }
128+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
129129 end
130130
131131 # ----------------
@@ -135,7 +135,7 @@ defmodule Scenic.ViewPort.InputTest do
135135 % { vp: vp , scene: scene } do
136136 # make like a driver
137137 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
138- assert Input . fetch_requests! ( vp ) == { :ok , [ ] }
138+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
139139
140140 graph =
141141 Scenic.Graph . build ( )
@@ -162,7 +162,7 @@ defmodule Scenic.ViewPort.InputTest do
162162 } do
163163 # make like a driver
164164 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
165- assert Input . fetch_requests! ( vp ) == { :ok , [ ] }
165+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
166166
167167 graph =
168168 Scenic.Graph . build ( )
@@ -179,7 +179,7 @@ defmodule Scenic.ViewPort.InputTest do
179179 } do
180180 # make like a driver
181181 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
182- assert Input . fetch_requests! ( vp ) == { :ok , [ ] }
182+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
183183
184184 graph =
185185 Scenic.Graph . build ( )
@@ -193,7 +193,7 @@ defmodule Scenic.ViewPort.InputTest do
193193 test ":cursor_pos only the input listed in a input style is requested" , % { vp: vp , scene: scene } do
194194 # make like a driver
195195 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
196- assert Input . fetch_requests! ( vp ) == { :ok , [ ] }
196+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
197197
198198 graph =
199199 Scenic.Graph . build ( )
@@ -333,11 +333,11 @@ defmodule Scenic.ViewPort.InputTest do
333333 # specific input types
334334
335335 test "cursor_scroll request works" , % { vp: vp } do
336- assert Input . fetch_captures! ( vp ) == { :ok , [ ] }
337- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
336+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
337+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
338338
339339 :ok = Input . request ( vp , :cursor_scroll )
340- assert Input . fetch_requests ( vp ) == { :ok , [ :cursor_scroll ] }
340+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ :cursor_scroll ] ) }
341341
342342 assert Input . send ( vp , { :cursor_scroll , { { 1 , 2 } , { 3 , 4 } } } ) == :ok
343343
@@ -348,11 +348,11 @@ defmodule Scenic.ViewPort.InputTest do
348348 end
349349
350350 test "cursor_scroll capture works" , % { vp: vp } do
351- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
352- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
351+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
352+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
353353
354354 :ok = Input . capture ( vp , :cursor_scroll )
355- assert Input . fetch_captures ( vp ) == { :ok , [ :cursor_scroll ] }
355+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ :cursor_scroll ] ) }
356356
357357 assert Input . send ( vp , { :cursor_scroll , { { 1 , 2 } , { 3 , 4 } } } ) == :ok
358358
@@ -363,11 +363,11 @@ defmodule Scenic.ViewPort.InputTest do
363363 end
364364
365365 test "cursor_pos request works" , % { vp: vp } do
366- assert Input . fetch_captures! ( vp ) == { :ok , [ ] }
367- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
366+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
367+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
368368
369369 :ok = Input . request ( vp , :cursor_pos )
370- assert Input . fetch_requests ( vp ) == { :ok , [ :cursor_pos ] }
370+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
371371
372372 assert Input . send ( vp , { :cursor_pos , { 1 , 2 } } ) == :ok
373373
@@ -378,11 +378,11 @@ defmodule Scenic.ViewPort.InputTest do
378378 end
379379
380380 test "cursor_pos capture works" , % { vp: vp } do
381- assert Input . fetch_captures ( vp ) == { :ok , [ ] }
382- assert Input . fetch_requests ( vp ) == { :ok , [ ] }
381+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ ] ) }
382+ assert Input . fetch_requests ( vp ) ~> { :ok , sorted_list ( [ ] ) }
383383
384384 :ok = Input . capture ( vp , :cursor_pos )
385- assert Input . fetch_captures ( vp ) == { :ok , [ :cursor_pos ] }
385+ assert Input . fetch_captures ( vp ) ~> { :ok , sorted_list ( [ :cursor_pos ] ) }
386386
387387 assert Input . send ( vp , { :cursor_pos , { 1 , 2 } } ) == :ok
388388
@@ -396,7 +396,7 @@ defmodule Scenic.ViewPort.InputTest do
396396 # drivers are sent input updates
397397
398398 test "drivers are sent requested input updates" , % { vp: vp } do
399- assert Input . fetch_requests! ( vp ) == { :ok , [ ] }
399+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
400400 :ok = Input . request ( vp , :cursor_button )
401401
402402 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
@@ -418,7 +418,7 @@ defmodule Scenic.ViewPort.InputTest do
418418 test "drivers are sent requested input updates when a scene goes down" , % { vp: vp , scene: scene } do
419419 Scenic.Scene . request_input ( scene , :cursor_button )
420420
421- assert Input . fetch_requests! ( vp ) == { :ok , [ :cursor_button ] }
421+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :cursor_button ] ) }
422422
423423 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
424424 assert_receive ( { :_request_input_ , [ :cursor_button ] } , 100 )
@@ -432,8 +432,8 @@ defmodule Scenic.ViewPort.InputTest do
432432 test "drivers are sent captured input updates" , % { vp: vp , scene: scene } do
433433 Scenic.Scene . request_input ( scene , :cursor_button )
434434
435- assert Input . fetch_captures! ( vp ) == { :ok , [ ] }
436- assert Input . fetch_requests! ( vp ) == { :ok , [ :cursor_button ] }
435+ assert Input . fetch_captures! ( vp ) ~> { :ok , sorted_list ( [ ] ) }
436+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :cursor_button ] ) }
437437
438438 GenServer . cast ( vp . pid , { :register_driver , self ( ) } )
439439 assert_receive ( { :_request_input_ , [ :cursor_button ] } , 100 )
@@ -454,7 +454,7 @@ defmodule Scenic.ViewPort.InputTest do
454454 test "drivers are sent captured input updates when a scene goes down" , % { vp: vp , scene: scene } do
455455 Scenic.Scene . request_input ( scene , :cursor_button )
456456
457- assert Input . fetch_requests! ( vp ) == { :ok , [ :cursor_button ] }
457+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :cursor_button ] ) }
458458 self = self ( )
459459 # have to have an agent do the capture so that it comes from a different pid than this
460460 # test, which is pretending to be a driver...
@@ -479,7 +479,7 @@ defmodule Scenic.ViewPort.InputTest do
479479
480480 # should get an update when the owning pid goes down
481481 # calling fetch_requests! makes sure the vp has processed the agent DOWN message
482- assert Input . fetch_requests! ( vp ) == { :ok , [ :cursor_button ] }
482+ assert Input . fetch_requests! ( vp ) ~> { :ok , sorted_list ( [ :cursor_button ] ) }
483483 assert_receive ( { :_request_input_ , [ :cursor_button ] } , 100 )
484484 end
485485
0 commit comments