diff --git a/gixy/parser/raw_parser.py b/gixy/parser/raw_parser.py index d79f51b..6a30b7f 100644 --- a/gixy/parser/raw_parser.py +++ b/gixy/parser/raw_parser.py @@ -126,6 +126,7 @@ class RawParser(object): if_block << ( Keyword("if") + Group(condition) + + Suppress(Optional(comment)) + Group( left_bracket + Optional(sub_block) + @@ -137,6 +138,7 @@ class RawParser(object): Group( Optional(space + location_modifier) + Optional(space) + value) + + Suppress(Optional(comment)) + Group( left_bracket + Optional(sub_block) + @@ -155,6 +157,7 @@ class RawParser(object): generic_block << ( keyword + Group(ZeroOrMore(space + value)) + + Suppress(Optional(comment)) + Group( left_bracket + Optional(sub_block) + diff --git a/tests/parser/test_raw_parser.py b/tests/parser/test_raw_parser.py index 605cf90..7fa4b01 100644 --- a/tests/parser/test_raw_parser.py +++ b/tests/parser/test_raw_parser.py @@ -488,6 +488,11 @@ add_header X-Padding-Comment padding; # add_header X-Blank-Comment blank; + +if (1) # Comment +{ + add_header X-Inline blank; +} ''' expected = [ @@ -499,6 +504,9 @@ add_header X-Blank-Comment blank; ['add_header', 'X-Padding-Comment', 'padding'], [''], ['add_header', 'X-Blank-Comment', 'blank'], + ['if', ['1'], [ + ['add_header', 'X-Inline', 'blank'], + ]], ] assert_config(config, expected)