From 744c375c5fd42e4c030addde6a42c639a87be459 Mon Sep 17 00:00:00 2001 From: Will Hawkins Date: Mon, 30 Mar 2026 05:18:36 -0400 Subject: [PATCH] Add Select Expression Ordering Test Signed-off-by: Will Hawkins --- .../ExpressionTests/SelectExpression.swift | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Tests/p4rseTests/ExpressionTests/SelectExpression.swift b/Tests/p4rseTests/ExpressionTests/SelectExpression.swift index da06f9e..455228a 100644 --- a/Tests/p4rseTests/ExpressionTests/SelectExpression.swift +++ b/Tests/p4rseTests/ExpressionTests/SelectExpression.swift @@ -137,3 +137,26 @@ import TreeSitterP4 ), Program.Compile(simple_parser_declaration))) } + +@Test func test_select_expression_selection_order() async throws { + let simple_parser_declaration = """ + parser main_parser() { + state start { + transition select (5) { + 5: reject; + 5: accept; + _: accept; + }; + } + }; + """ + let program = try #UseOkResult(Program.Compile(simple_parser_declaration)) + let parser = try #UseOkResult(program.find_parser(withName: Identifier(name: "main_parser"))) + let runtime = try #UseOkResult(P4Runtime.ParserRuntime.create(program: program)) + let (state_result, _) = try! #UseOkResult(runtime.run()) + + #expect(parser.states.count() == 1) + + #expect(AsInstantiatedParserState(state_result) == P4Lang.reject) + +}