From 94e3aa83540177f954b15184607c108768992df8 Mon Sep 17 00:00:00 2001 From: Judah Rand <17158624+judahrand@users.noreply.github.com> Date: Wed, 29 Jun 2022 13:28:51 +0100 Subject: [PATCH] Add `MultiStringParser` simple test --- test/core/parser/parser_test.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/core/parser/parser_test.py diff --git a/test/core/parser/parser_test.py b/test/core/parser/parser_test.py new file mode 100644 index 00000000000..4ac12a97bec --- /dev/null +++ b/test/core/parser/parser_test.py @@ -0,0 +1,28 @@ +"""The Test file for Parsers (Matchable Classes).""" + +from sqlfluff.core.parser import ( + KeywordSegment, + MultiStringParser, +) +from sqlfluff.core.parser.context import RootParseContext + + +def test__parser__multistringparser_match(generate_test_segments): + """Test the MultiStringParser matchable.""" + parser = MultiStringParser(["foo", "bar"], KeywordSegment) + with RootParseContext(dialect=None) as ctx: + # Check directly + seg_list = generate_test_segments(["foo", "fo"]) + # Matches when it should + assert parser.match(seg_list[:1], parse_context=ctx).matched_segments == ( + KeywordSegment("foo", seg_list[0].pos_marker), + ) + # Doesn't match when it shouldn't + assert parser.match(seg_list[1:], parse_context=ctx).matched_segments == tuple() + + +def test__parser__multistringparser_simple(): + """Test the MultiStringParser matchable.""" + parser = MultiStringParser(["foo", "bar"], KeywordSegment) + with RootParseContext(dialect=None) as ctx: + assert parser.simple(ctx)