File tree Expand file tree Collapse file tree
crates/lambda-rs/src/runtimes Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -195,19 +195,19 @@ const EVENT_CATEGORY_COUNT: usize = 5;
195195/// outside the supported categories so the runtime can surface the invariant
196196/// violation without panicking.
197197fn event_listener_bucket ( event_mask : EventMask ) -> Result < usize , String > {
198- if event_mask. contains ( EventMask :: WINDOW ) {
198+ if event_mask == EventMask :: WINDOW {
199199 return Ok ( 0 ) ;
200200 }
201- if event_mask. contains ( EventMask :: KEYBOARD ) {
201+ if event_mask == EventMask :: KEYBOARD {
202202 return Ok ( 1 ) ;
203203 }
204- if event_mask. contains ( EventMask :: MOUSE ) {
204+ if event_mask == EventMask :: MOUSE {
205205 return Ok ( 2 ) ;
206206 }
207- if event_mask. contains ( EventMask :: RUNTIME ) {
207+ if event_mask == EventMask :: RUNTIME {
208208 return Ok ( 3 ) ;
209209 }
210- if event_mask. contains ( EventMask :: COMPONENT ) {
210+ if event_mask == EventMask :: COMPONENT {
211211 return Ok ( 4 ) ;
212212 }
213213
@@ -832,6 +832,13 @@ mod tests {
832832 assert ! ( error. contains( "Unsupported event mask" ) ) ;
833833 }
834834
835+ #[ test]
836+ fn event_listener_bucket_rejects_multi_bit_masks ( ) {
837+ let error = event_listener_bucket ( EventMask :: WINDOW | EventMask :: KEYBOARD )
838+ . unwrap_err ( ) ;
839+ assert ! ( error. contains( "Unsupported event mask" ) ) ;
840+ }
841+
835842 #[ test]
836843 fn build_event_listener_index_registers_only_matching_components ( ) {
837844 let components: Vec < Box < dyn Component < ComponentResult , String > > > = vec ! [
You can’t perform that action at this time.
0 commit comments