Skip to content

Commit 67d440b

Browse files
authored
Fix ignoring "required" keyword if there is a property of that name (coveooss#183)
Fixes coveooss#182
1 parent 1638e0f commit 67d440b

35 files changed

+509
-208
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ dmypy.json
131131
# Manual run results
132132
result*.html
133133
./schema_doc.css
134+
/manual_run_output/
134135

135136
# Generated by pbr
136137
AUTHORS

docs/examples/cases/with_keywords.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
},
3636
"patternProperties": {
3737
"description": "patternProperties"
38+
},
39+
"required": {
40+
"description": "required"
3841
}
39-
}
42+
},
43+
"required": ["default", "examples"]
4044
}

docs/examples/examples_flat_default/Configuration.html

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,46 @@ <h2 class="mb-0">
705705

706706

707707

708+
</div>
709+
</div>
710+
711+
<div class="card">
712+
<div class="card-header" id="old_anchor_links">
713+
<h2 class="mb-0">
714+
<a href="#old_anchor_links"><span class="property-name">old_anchor_links</span></a></h2>
715+
</div>
716+
717+
<div class="card-body property-definition-div">
718+
719+
<div class="breadcrumbs">root
720+
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-arrow-right-short" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
721+
<path
722+
fill-rule="evenodd"
723+
d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z"
724+
/>
725+
</svg>
726+
<a href="#old_anchor_links">old_anchor_links</a></div><span class="badge badge-dark value-type">Type: boolean</span> <span class="badge badge-success default-value">Default: false</span><br/>
727+
728+
729+
730+
731+
732+
733+
734+
<p>Generate HTML ids for anchor links without special characters (keep only letters, digits, <code>_</code>, and <code>-</code>).</p>
735+
736+
<p>This is the old behaviour and is only needed for browsers that do not support HTML 5.</p>
737+
738+
739+
740+
741+
742+
743+
744+
745+
746+
747+
708748
</div>
709749
</div>
710750

@@ -747,14 +787,14 @@ <h2 class="mb-0">
747787

748788
<br/>
749789
<div class="badge badge-secondary">Example:</div>
750-
<br/><button class="btn btn-light example-show collapsed" data-toggle="collapse" data-target="#markdown_options_ex1" aria-controls="markdown_options_ex1"></button><div id="markdown_options_ex1" class="collapse jumbotron examples"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
751-
<span class="w"> </span><span class="s2">&quot;fenced-code-blocks&quot;</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
752-
<span class="w"> </span><span class="s2">&quot;cssclass&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;highlight jumbotron&quot;</span><span class="w"></span>
753-
<span class="w"> </span><span class="p">},</span><span class="w"></span>
754-
<span class="w"> </span><span class="s2">&quot;tables&quot;</span><span class="o">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w"></span>
755-
<span class="w"> </span><span class="s2">&quot;break-on-newline&quot;</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w"></span>
756-
<span class="w"> </span><span class="s2">&quot;cuddled-lists&quot;</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="w"></span>
757-
<span class="p">}</span><span class="w"></span>
790+
<br/><button class="btn btn-light example-show collapsed" data-toggle="collapse" data-target="#markdown_options_ex1" aria-controls="markdown_options_ex1"></button><div id="markdown_options_ex1" class="collapse jumbotron examples"><div class="highlight"><pre><span></span><span class="p">{</span>
791+
<span class="w"> </span><span class="s2">&quot;fenced-code-blocks&quot;</span><span class="o">:</span><span class="w"> </span><span class="p">{</span>
792+
<span class="w"> </span><span class="s2">&quot;cssclass&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;highlight jumbotron&quot;</span>
793+
<span class="w"> </span><span class="p">},</span>
794+
<span class="w"> </span><span class="s2">&quot;tables&quot;</span><span class="o">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
795+
<span class="w"> </span><span class="s2">&quot;break-on-newline&quot;</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
796+
<span class="w"> </span><span class="s2">&quot;cuddled-lists&quot;</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span>
797+
<span class="p">}</span>
758798
</pre></div>
759799
</div>
760800
</div>

docs/examples/examples_flat_default/array_additionalItems.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,13 +239,13 @@ <h4>Must be one of:</h4>
239239
</div>
240240
<br/>
241241
<div class="badge badge-secondary">Example:</div>
242-
<br/><div id="address_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="p">[</span><span class="w"></span>
243-
<span class="w"> </span><span class="mf">1600</span><span class="p">,</span><span class="w"></span>
244-
<span class="w"> </span><span class="s2">&quot;Pennsylvania&quot;</span><span class="p">,</span><span class="w"></span>
245-
<span class="w"> </span><span class="s2">&quot;Avenue&quot;</span><span class="p">,</span><span class="w"></span>
246-
<span class="w"> </span><span class="s2">&quot;NW&quot;</span><span class="p">,</span><span class="w"></span>
247-
<span class="w"> </span><span class="s2">&quot;Washington&quot;</span><span class="w"></span>
248-
<span class="p">]</span><span class="w"></span>
242+
<br/><div id="address_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="p">[</span>
243+
<span class="w"> </span><span class="mf">1600</span><span class="p">,</span>
244+
<span class="w"> </span><span class="s2">&quot;Pennsylvania&quot;</span><span class="p">,</span>
245+
<span class="w"> </span><span class="s2">&quot;Avenue&quot;</span><span class="p">,</span>
246+
<span class="w"> </span><span class="s2">&quot;NW&quot;</span><span class="p">,</span>
247+
<span class="w"> </span><span class="s2">&quot;Washington&quot;</span>
248+
<span class="p">]</span>
249249
</pre></div>
250250
</div>
251251
</div>

docs/examples/examples_flat_default/array_example.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,16 @@ <h4>Each item of this array must be:</h4>
104104

105105
<br/>
106106
<div class="badge badge-secondary">Example:</div>
107-
<br/><div id="fruits_items_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;apple&quot;</span><span class="w"></span>
107+
<br/><div id="fruits_items_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;apple&quot;</span>
108108
</pre></div>
109109
</div>
110110
</div>
111111
</div><br/>
112112
<div class="badge badge-secondary">Example:</div>
113-
<br/><div id="fruits_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="p">[</span><span class="w"></span>
114-
<span class="w"> </span><span class="s2">&quot;apple&quot;</span><span class="p">,</span><span class="w"></span>
115-
<span class="w"> </span><span class="s2">&quot;banana&quot;</span><span class="w"></span>
116-
<span class="p">]</span><span class="w"></span>
113+
<br/><div id="fruits_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="p">[</span>
114+
<span class="w"> </span><span class="s2">&quot;apple&quot;</span><span class="p">,</span>
115+
<span class="w"> </span><span class="s2">&quot;banana&quot;</span>
116+
<span class="p">]</span>
117117
</pre></div>
118118
</div>
119119
</div>

docs/examples/examples_flat_default/prefixItems.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,13 @@ <h4>Must be one of:</h4>
240240
</div>
241241
<br/>
242242
<div class="badge badge-secondary">Example:</div>
243-
<br/><div id="address_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="p">[</span><span class="w"></span>
244-
<span class="w"> </span><span class="mf">1600</span><span class="p">,</span><span class="w"></span>
245-
<span class="w"> </span><span class="s2">&quot;Pennsylvania&quot;</span><span class="p">,</span><span class="w"></span>
246-
<span class="w"> </span><span class="s2">&quot;Avenue&quot;</span><span class="p">,</span><span class="w"></span>
247-
<span class="w"> </span><span class="s2">&quot;NW&quot;</span><span class="p">,</span><span class="w"></span>
248-
<span class="w"> </span><span class="s2">&quot;Washington&quot;</span><span class="w"></span>
249-
<span class="p">]</span><span class="w"></span>
243+
<br/><div id="address_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="p">[</span>
244+
<span class="w"> </span><span class="mf">1600</span><span class="p">,</span>
245+
<span class="w"> </span><span class="s2">&quot;Pennsylvania&quot;</span><span class="p">,</span>
246+
<span class="w"> </span><span class="s2">&quot;Avenue&quot;</span><span class="p">,</span>
247+
<span class="w"> </span><span class="s2">&quot;NW&quot;</span><span class="p">,</span>
248+
<span class="w"> </span><span class="s2">&quot;Washington&quot;</span>
249+
<span class="p">]</span>
250250
</pre></div>
251251
</div>
252252
</div>

docs/examples/examples_flat_default/top_level_array.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ <h4>Each item of this array must be:</h4>
6565

6666
<br/>
6767
<div class="badge badge-secondary">Example:</div>
68-
<br/><button class="btn btn-light example-show collapsed" data-toggle="collapse" data-target="#items_ex1" aria-controls="items_ex1"></button><div id="items_ex1" class="collapse jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ornare mauris ac neque malesuada sagittis. Curabitur vel blandit tortor, at pharetra lorem. Curabitur rhoncus posuere purus ut fringilla. Aenean ac rhoncus enim. Nullam ac consectetur est. Etiam vel congue tellus, ac fermentum lectus. Sed accumsan diam libero, a tincidunt mauris feugiat vitae. Nulla eu bibendum sem, quis finibus libero. Cras metus augue, aliquam at finibus elementum, mollis sed dui. Nulla quis facilisis tortor, ut sollicitudin nunc. Mauris diam nisi, ullamcorper at dignissim in, mollis ut felis. Fusce in libero facilisis, venenatis quam nec, ultrices leo. Cras tempus tristique leo ultrices pulvinar. Duis et leo quis dolor lacinia sagittis. Etiam rhoncus, nisl nec elementum auctor, enim lectus dignissim ipsum, sed consectetur mi magna eget mauris. Donec nunc augue, lacinia id nunc sit amet, accumsan posuere lorem. Sed orci neque, commodo ac nibh sit amet, euismod lacinia purus. Quisque non suscipit nibh, at auctor odio. Quisque facilisis tellus nunc. Integer interdum augue ut elit dictum eleifend. Integer bibendum convallis nisl, ut iaculis ligula vehicula et. Nunc ac diam vel arcu fringilla ullamcorper. &quot;</span><span class="w"></span>
68+
<br/><button class="btn btn-light example-show collapsed" data-toggle="collapse" data-target="#items_ex1" aria-controls="items_ex1"></button><div id="items_ex1" class="collapse jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ornare mauris ac neque malesuada sagittis. Curabitur vel blandit tortor, at pharetra lorem. Curabitur rhoncus posuere purus ut fringilla. Aenean ac rhoncus enim. Nullam ac consectetur est. Etiam vel congue tellus, ac fermentum lectus. Sed accumsan diam libero, a tincidunt mauris feugiat vitae. Nulla eu bibendum sem, quis finibus libero. Cras metus augue, aliquam at finibus elementum, mollis sed dui. Nulla quis facilisis tortor, ut sollicitudin nunc. Mauris diam nisi, ullamcorper at dignissim in, mollis ut felis. Fusce in libero facilisis, venenatis quam nec, ultrices leo. Cras tempus tristique leo ultrices pulvinar. Duis et leo quis dolor lacinia sagittis. Etiam rhoncus, nisl nec elementum auctor, enim lectus dignissim ipsum, sed consectetur mi magna eget mauris. Donec nunc augue, lacinia id nunc sit amet, accumsan posuere lorem. Sed orci neque, commodo ac nibh sit amet, euismod lacinia purus. Quisque non suscipit nibh, at auctor odio. Quisque facilisis tellus nunc. Integer interdum augue ut elit dictum eleifend. Integer bibendum convallis nisl, ut iaculis ligula vehicula et. Nunc ac diam vel arcu fringilla ullamcorper. &quot;</span>
6969
</pre></div>
7070
</div>
7171
</div>

docs/examples/examples_flat_default/with_examples.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ <h2 class="mb-0">
6969

7070
<br/>
7171
<div class="badge badge-secondary">Examples:</div>
72-
<br/><div id="firstName_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;Guido&quot;</span><span class="w"></span>
72+
<br/><div id="firstName_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;Guido&quot;</span>
7373
</pre></div>
74-
</div><div id="firstName_ex2" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;BDFL&quot;</span><span class="w"></span>
74+
</div><div id="firstName_ex2" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;BDFL&quot;</span>
7575
</pre></div>
7676
</div>
7777
</div>
@@ -113,7 +113,7 @@ <h2 class="mb-0">
113113

114114
<br/>
115115
<div class="badge badge-secondary">Example:</div>
116-
<br/><div id="lastName_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;Van Rossum&quot;</span><span class="w"></span>
116+
<br/><div id="lastName_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;Van Rossum&quot;</span>
117117
</pre></div>
118118
</div>
119119
</div>
@@ -155,7 +155,7 @@ <h2 class="mb-0">
155155

156156
<br/>
157157
<div class="badge badge-secondary">Example:</div>
158-
<br/><div id="age_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="mf">64</span><span class="w"></span>
158+
<br/><div id="age_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="mf">64</span>
159159
</pre></div>
160160
</div>
161161
</div>
@@ -197,11 +197,11 @@ <h2 class="mb-0">
197197

198198
<br/>
199199
<div class="badge badge-secondary">Example:</div>
200-
<br/><button class="btn btn-light example-show collapsed" data-toggle="collapse" data-target="#moreInfo_ex1" aria-controls="moreInfo_ex1"></button><div id="moreInfo_ex1" class="collapse jumbotron examples"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
201-
<span class="w"> </span><span class="s2">&quot;birthplace&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Haarlem, Netherlands&quot;</span><span class="p">,</span><span class="w"></span>
202-
<span class="w"> </span><span class="s2">&quot;favorite_emoji&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;🐍&quot;</span><span class="p">,</span><span class="w"></span>
203-
<span class="w"> </span><span class="s2">&quot;motto&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Beautiful is better than ugly.\\nExplicit is better than implicit.\\nSimple is better than complex.\\nComplex is better than complicated.\\nFlat is better than nested.\\nSparse is better than dense.\\nReadability counts.\\nSpecial cases aren&#39;t special enough to break the rules.\\nAlthough practicality beats purity.\\nErrors should never pass silently.\\nUnless explicitly silenced.\\nIn the face of ambiguity, refuse the temptation to guess.\\nThere should be one-- and preferably only one --obvious way to do it.\\nAlthough that way may not be obvious at first unless you&#39;re Dutch.\\nNow is better than never.\\nAlthough never is often better than *right* now.\\nIf the implementation is hard to explain, it&#39;s a bad idea.\\nIf the implementation is easy to explain, it may be a good idea.\\nNamespaces are one honking great idea -- let&#39;s do more of those!&quot;</span><span class="w"></span>
204-
<span class="p">}</span><span class="w"></span>
200+
<br/><button class="btn btn-light example-show collapsed" data-toggle="collapse" data-target="#moreInfo_ex1" aria-controls="moreInfo_ex1"></button><div id="moreInfo_ex1" class="collapse jumbotron examples"><div class="highlight"><pre><span></span><span class="p">{</span>
201+
<span class="w"> </span><span class="s2">&quot;birthplace&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Haarlem, Netherlands&quot;</span><span class="p">,</span>
202+
<span class="w"> </span><span class="s2">&quot;favorite_emoji&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;🐍&quot;</span><span class="p">,</span>
203+
<span class="w"> </span><span class="s2">&quot;motto&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Beautiful is better than ugly.\\nExplicit is better than implicit.\\nSimple is better than complex.\\nComplex is better than complicated.\\nFlat is better than nested.\\nSparse is better than dense.\\nReadability counts.\\nSpecial cases aren&#39;t special enough to break the rules.\\nAlthough practicality beats purity.\\nErrors should never pass silently.\\nUnless explicitly silenced.\\nIn the face of ambiguity, refuse the temptation to guess.\\nThere should be one-- and preferably only one --obvious way to do it.\\nAlthough that way may not be obvious at first unless you&#39;re Dutch.\\nNow is better than never.\\nAlthough never is often better than *right* now.\\nIf the implementation is hard to explain, it&#39;s a bad idea.\\nIf the implementation is easy to explain, it may be a good idea.\\nNamespaces are one honking great idea -- let&#39;s do more of those!&quot;</span>
204+
<span class="p">}</span>
205205
</pre></div>
206206
</div>
207207
</div>

docs/examples/examples_flat_default/with_keywords.html

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<div class="card">
3737
<div class="card-header" id="default">
3838
<h2 class="mb-0">
39-
<a href="#default"><span class="property-name">default</span></a></h2>
39+
<a href="#default"><span class="property-name">default</span></a> <span class="badge badge-warning required-property">Required</span></h2>
4040
</div>
4141

4242
<div class="card-body property-definition-div">
@@ -74,7 +74,7 @@ <h2 class="mb-0">
7474
<div class="card">
7575
<div class="card-header" id="examples">
7676
<h2 class="mb-0">
77-
<a href="#examples"><span class="property-name">examples</span></a></h2>
77+
<a href="#examples"><span class="property-name">examples</span></a> <span class="badge badge-warning required-property">Required</span></h2>
7878
</div>
7979

8080
<div class="card-body property-definition-div">
@@ -410,6 +410,44 @@ <h2 class="mb-0">
410410

411411

412412

413+
</div>
414+
</div>
415+
416+
<div class="card">
417+
<div class="card-header" id="required">
418+
<h2 class="mb-0">
419+
<a href="#required"><span class="property-name">required</span></a></h2>
420+
</div>
421+
422+
<div class="card-body property-definition-div">
423+
424+
<div class="breadcrumbs">root
425+
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-arrow-right-short" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
426+
<path
427+
fill-rule="evenodd"
428+
d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z"
429+
/>
430+
</svg>
431+
<a href="#required">required</a></div><span class="badge badge-dark value-type">Type: object</span><br/>
432+
433+
434+
435+
436+
437+
438+
439+
<p>required</p>
440+
441+
442+
443+
444+
445+
446+
447+
448+
449+
450+
413451
</div>
414452
</div>
415453

docs/examples/examples_flat_default/with_special_chars.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,11 @@ <h2 class="mb-0">
182182

183183
<br/>
184184
<div class="badge badge-secondary">Examples:</div>
185-
<br/><div id="0_de_quoi_dautre_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;🖖&quot;</span><span class="w"></span>
185+
<br/><div id="0_de_quoi_dautre_ex1" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;🖖&quot;</span>
186186
</pre></div>
187-
</div><div id="0_de_quoi_dautre_ex2" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;صباح الخير&quot;</span><span class="w"></span>
187+
</div><div id="0_de_quoi_dautre_ex2" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;صباح الخير&quot;</span>
188188
</pre></div>
189-
</div><div id="0_de_quoi_dautre_ex3" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;你好&quot;</span><span class="w"></span>
189+
</div><div id="0_de_quoi_dautre_ex3" class="jumbotron examples"><div class="highlight"><pre><span></span><span class="s2">&quot;你好&quot;</span>
190190
</pre></div>
191191
</div>
192192
</div>

0 commit comments

Comments
 (0)