Skip to content

Commit a33f287

Browse files
authored
Merge pull request #202 from mikemoritz/mikemoritz-empty-patternprops
Check for empty patternProperties
2 parents 524b42e + de2aa54 commit a33f287

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

fastjsonschema/draft04.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,10 @@ def generate_pattern_properties(self):
530530
self.create_variable_is_dict()
531531
with self.l('if {variable}_is_dict:'):
532532
self.create_variable_keys()
533-
for pattern, definition in self._definition['patternProperties'].items():
533+
pattern_prop_definition = self._definition['patternProperties']
534+
if pattern_prop_definition == {}:
535+
return
536+
for pattern, definition in pattern_prop_definition.items():
534537
self._compile_regexps[pattern] = re.compile(pattern)
535538
with self.l('for {variable}_key, {variable}_val in {variable}.items():'):
536539
for pattern, definition in self._definition['patternProperties'].items():

tests/test_pattern_properties.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,10 @@ def test_pattern_with_escape_no_warnings(asserter):
6969
'\\w+': {'type': 'object'}
7070
}
7171
}, value, value)
72+
73+
def test_empty_pattern(asserter):
74+
value = {}
75+
asserter({
76+
'type': 'object',
77+
'patternProperties': {}
78+
}, value, value)

0 commit comments

Comments
 (0)