From 561d117d4d3c48db6e30ffa2cd70943ac2be086e Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sun, 11 May 2025 14:44:46 +0200 Subject: [PATCH] fix: doc example with leader example lower than leader default value --- src/rougail/output_doc/doc.py | 13 +- tests/results/test/00_0no_variable.adoc | 0 tests/results/test/00_0no_variable.json | 1 + tests/results/test/00_0no_variable.md | 0 tests/results/test/00_0no_variable.sh | 0 .../test/00_0no_variable_default_version.adoc | 0 .../test/00_0no_variable_default_version.json | 1 + .../test/00_0no_variable_default_version.md | 0 .../test/00_0no_variable_default_version.sh | 0 .../test/00_0no_variable_remove_version.adoc | 0 .../test/00_0no_variable_remove_version.json | 1 + .../test/00_0no_variable_remove_version.md | 0 .../test/00_0no_variable_remove_version.sh | 0 tests/results/test/40_0leadership_reduce.adoc | 31 +++++ tests/results/test/40_0leadership_reduce.json | 94 +++++++++++++++ tests/results/test/40_0leadership_reduce.md | 11 ++ tests/results/test/40_0leadership_reduce.sh | 26 ++++ tests/results/test/warnings_00_0no_variable | 1 + .../warnings_00_0no_variable_default_version | 1 + .../warnings_00_0no_variable_remove_version | 1 + .../test/warnings_40_0leadership_reduce | 1 + .../results/test_examples/00_0no_variable.md | 0 .../00_0no_variable_default_version.md | 0 .../00_0no_variable_remove_version.md | 0 .../test_examples/40_0leadership_reduce.md | 10 ++ .../test_examples/warnings_00_0no_variable | 1 + .../warnings_00_0no_variable_default_version | 1 + .../warnings_00_0no_variable_remove_version | 1 + .../warnings_40_0leadership_reduce | 1 + .../test_namespace/00_0no_variable.adoc | 0 .../test_namespace/00_0no_variable.json | 1 + .../results/test_namespace/00_0no_variable.md | 0 .../results/test_namespace/00_0no_variable.sh | 0 .../00_0no_variable_default_version.adoc | 0 .../00_0no_variable_default_version.json | 1 + .../00_0no_variable_default_version.md | 0 .../00_0no_variable_default_version.sh | 0 .../00_0no_variable_remove_version.adoc | 0 .../00_0no_variable_remove_version.json | 1 + .../00_0no_variable_remove_version.md | 0 .../00_0no_variable_remove_version.sh | 0 .../test_namespace/40_0leadership_reduce.adoc | 33 +++++ .../test_namespace/40_0leadership_reduce.json | 114 ++++++++++++++++++ .../test_namespace/40_0leadership_reduce.md | 13 ++ .../test_namespace/40_0leadership_reduce.sh | 31 +++++ .../test_namespace/warnings_00_0no_variable | 1 + .../warnings_00_0no_variable_default_version | 1 + .../warnings_00_0no_variable_remove_version | 1 + .../warnings_40_0leadership_reduce | 1 + .../00_0no_variable.md | 0 .../00_0no_variable_default_version.md | 0 .../00_0no_variable_remove_version.md | 0 .../40_0leadership_reduce.md | 11 ++ .../warnings_00_0no_variable | 1 + .../warnings_00_0no_variable_default_version | 1 + .../warnings_00_0no_variable_remove_version | 1 + .../warnings_40_0leadership_reduce | 1 + tests/test_load.py | 2 +- 58 files changed, 404 insertions(+), 7 deletions(-) create mode 100644 tests/results/test/00_0no_variable.adoc create mode 100644 tests/results/test/00_0no_variable.json create mode 100644 tests/results/test/00_0no_variable.md create mode 100644 tests/results/test/00_0no_variable.sh create mode 100644 tests/results/test/00_0no_variable_default_version.adoc create mode 100644 tests/results/test/00_0no_variable_default_version.json create mode 100644 tests/results/test/00_0no_variable_default_version.md create mode 100644 tests/results/test/00_0no_variable_default_version.sh create mode 100644 tests/results/test/00_0no_variable_remove_version.adoc create mode 100644 tests/results/test/00_0no_variable_remove_version.json create mode 100644 tests/results/test/00_0no_variable_remove_version.md create mode 100644 tests/results/test/00_0no_variable_remove_version.sh create mode 100644 tests/results/test/40_0leadership_reduce.adoc create mode 100644 tests/results/test/40_0leadership_reduce.json create mode 100644 tests/results/test/40_0leadership_reduce.md create mode 100644 tests/results/test/40_0leadership_reduce.sh create mode 100644 tests/results/test/warnings_00_0no_variable create mode 100644 tests/results/test/warnings_00_0no_variable_default_version create mode 100644 tests/results/test/warnings_00_0no_variable_remove_version create mode 100644 tests/results/test/warnings_40_0leadership_reduce create mode 100644 tests/results/test_examples/00_0no_variable.md create mode 100644 tests/results/test_examples/00_0no_variable_default_version.md create mode 100644 tests/results/test_examples/00_0no_variable_remove_version.md create mode 100644 tests/results/test_examples/40_0leadership_reduce.md create mode 100644 tests/results/test_examples/warnings_00_0no_variable create mode 100644 tests/results/test_examples/warnings_00_0no_variable_default_version create mode 100644 tests/results/test_examples/warnings_00_0no_variable_remove_version create mode 100644 tests/results/test_examples/warnings_40_0leadership_reduce create mode 100644 tests/results/test_namespace/00_0no_variable.adoc create mode 100644 tests/results/test_namespace/00_0no_variable.json create mode 100644 tests/results/test_namespace/00_0no_variable.md create mode 100644 tests/results/test_namespace/00_0no_variable.sh create mode 100644 tests/results/test_namespace/00_0no_variable_default_version.adoc create mode 100644 tests/results/test_namespace/00_0no_variable_default_version.json create mode 100644 tests/results/test_namespace/00_0no_variable_default_version.md create mode 100644 tests/results/test_namespace/00_0no_variable_default_version.sh create mode 100644 tests/results/test_namespace/00_0no_variable_remove_version.adoc create mode 100644 tests/results/test_namespace/00_0no_variable_remove_version.json create mode 100644 tests/results/test_namespace/00_0no_variable_remove_version.md create mode 100644 tests/results/test_namespace/00_0no_variable_remove_version.sh create mode 100644 tests/results/test_namespace/40_0leadership_reduce.adoc create mode 100644 tests/results/test_namespace/40_0leadership_reduce.json create mode 100644 tests/results/test_namespace/40_0leadership_reduce.md create mode 100644 tests/results/test_namespace/40_0leadership_reduce.sh create mode 100644 tests/results/test_namespace/warnings_00_0no_variable create mode 100644 tests/results/test_namespace/warnings_00_0no_variable_default_version create mode 100644 tests/results/test_namespace/warnings_00_0no_variable_remove_version create mode 100644 tests/results/test_namespace/warnings_40_0leadership_reduce create mode 100644 tests/results/test_namespace_examples/00_0no_variable.md create mode 100644 tests/results/test_namespace_examples/00_0no_variable_default_version.md create mode 100644 tests/results/test_namespace_examples/00_0no_variable_remove_version.md create mode 100644 tests/results/test_namespace_examples/40_0leadership_reduce.md create mode 100644 tests/results/test_namespace_examples/warnings_00_0no_variable create mode 100644 tests/results/test_namespace_examples/warnings_00_0no_variable_default_version create mode 100644 tests/results/test_namespace_examples/warnings_00_0no_variable_remove_version create mode 100644 tests/results/test_namespace_examples/warnings_40_0leadership_reduce diff --git a/src/rougail/output_doc/doc.py b/src/rougail/output_doc/doc.py index 5bac379fe..9096261d9 100644 --- a/src/rougail/output_doc/doc.py +++ b/src/rougail/output_doc/doc.py @@ -208,14 +208,15 @@ class RougailOutputDoc(Examples): def _parse_variable( self, variable, leader: dict, name: str, path: str, informations: dict ) -> Optional[dict]: + potential_leader = None if variable.isdynamic(): # information is already set potential_leader = self._parse_variable_dynamic( variable, leader, name, path, informations ) elif variable.isfollower() and variable.index(): - potential_leader = self._parse_variable_follower_with_index( - variable, path, informations + self._parse_variable_follower_with_index( + variable, leader, path, informations ) else: potential_leader = self._parse_variable_normal( @@ -244,14 +245,13 @@ class RougailOutputDoc(Examples): return None def _parse_variable_follower_with_index( - self, variable, path: str, informations: dict + self, variable, leader: dict, path: str, informations: dict ) -> None: - if not self.example: - return None + if not self.example or (variable.index() + 1) > len(leader['example'][-1]): + return informations[path]["example"][-1][variable.index()] = self._get_example( variable, informations[path], None ) - return None def _parse_variable_dynamic( self, variable, leader, name, path, informations @@ -432,6 +432,7 @@ class RougailOutputDoc(Examples): if multi: example = [example] if leader is not None and variable.isfollower(): + # len of leader is known, add "undefined" example, it will be modify latter with true value example = [example] + [undefined] * (len(leader["example"][-1]) - 1) return example diff --git a/tests/results/test/00_0no_variable.adoc b/tests/results/test/00_0no_variable.adoc new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable.json b/tests/results/test/00_0no_variable.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/tests/results/test/00_0no_variable.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/results/test/00_0no_variable.md b/tests/results/test/00_0no_variable.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable.sh b/tests/results/test/00_0no_variable.sh new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable_default_version.adoc b/tests/results/test/00_0no_variable_default_version.adoc new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable_default_version.json b/tests/results/test/00_0no_variable_default_version.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/tests/results/test/00_0no_variable_default_version.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/results/test/00_0no_variable_default_version.md b/tests/results/test/00_0no_variable_default_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable_default_version.sh b/tests/results/test/00_0no_variable_default_version.sh new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable_remove_version.adoc b/tests/results/test/00_0no_variable_remove_version.adoc new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable_remove_version.json b/tests/results/test/00_0no_variable_remove_version.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/tests/results/test/00_0no_variable_remove_version.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/results/test/00_0no_variable_remove_version.md b/tests/results/test/00_0no_variable_remove_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/00_0no_variable_remove_version.sh b/tests/results/test/00_0no_variable_remove_version.sh new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test/40_0leadership_reduce.adoc b/tests/results/test/40_0leadership_reduce.adoc new file mode 100644 index 000000000..c68870837 --- /dev/null +++ b/tests/results/test/40_0leadership_reduce.adoc @@ -0,0 +1,31 @@ +== a leadership + +`basic` + +This family contains lists of variable blocks. + +[cols="1a,1a"] +|==== +| Variable | Description +| + +**leadership.leader** + +`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` `unique` `multiple` | +A leader. + +**Default**: + +* value_1 +* value_2 +* value_3 + +**Examples**: + +* val1 +* val2 +| + +**leadership.follower** + +`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` | +A follower. +|==== + diff --git a/tests/results/test/40_0leadership_reduce.json b/tests/results/test/40_0leadership_reduce.json new file mode 100644 index 000000000..7069d217c --- /dev/null +++ b/tests/results/test/40_0leadership_reduce.json @@ -0,0 +1,94 @@ +{ + "leadership": { + "type": "leadership", + "informations": { + "paths": [ + "leadership" + ], + "names": [ + "leadership" + ], + "description": "a leadership", + "properties": [ + { + "type": "mode", + "name": "basic" + } + ], + "help": [ + "This family contains lists of variable blocks." + ] + }, + "children": { + "leadership.leader": { + "type": "variable", + "default": [ + "value_1", + "value_2", + "value_3" + ], + "properties": [ + { + "type": "type", + "name": "string" + }, + { + "type": "mode", + "name": "standard" + }, + { + "type": "property", + "name": "mandatory" + }, + { + "type": "property", + "name": "unique" + }, + { + "type": "multiple", + "name": "multiple" + } + ], + "paths": [ + "leadership.leader" + ], + "names": [ + "leader" + ], + "descriptions": [ + "A leader." + ], + "examples": [ + "val1", + "val2" + ] + }, + "leadership.follower": { + "type": "variable", + "properties": [ + { + "type": "type", + "name": "string" + }, + { + "type": "mode", + "name": "basic" + }, + { + "type": "property", + "name": "mandatory" + } + ], + "paths": [ + "leadership.follower" + ], + "names": [ + "follower" + ], + "descriptions": [ + "A follower." + ] + } + } + } +} \ No newline at end of file diff --git a/tests/results/test/40_0leadership_reduce.md b/tests/results/test/40_0leadership_reduce.md new file mode 100644 index 000000000..b2a3da1aa --- /dev/null +++ b/tests/results/test/40_0leadership_reduce.md @@ -0,0 +1,11 @@ +# a leadership + +`basic` + +This family contains lists of variable blocks. + +| Variable                                                                                                                       | Description                                                                                                                    | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **leadership.leader**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` `unique` `multiple` | A leader.
**Default**:
- value_1
- value_2
- value_3
**Examples**:
- val1
- val2 | +| **leadership.follower**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A follower. | + diff --git a/tests/results/test/40_0leadership_reduce.sh b/tests/results/test/40_0leadership_reduce.sh new file mode 100644 index 000000000..81e40fbe0 --- /dev/null +++ b/tests/results/test/40_0leadership_reduce.sh @@ -0,0 +1,26 @@ + + +a leadership + + + basic  + + +This family contains lists of variable blocks. + + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Variable  ┃ Description  ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ leadership.leader │ A leader. │ +│  string   standard   mandatory    │ Default: │ +│ unique   multiple  │ - value_1 │ +│ │ - value_2 │ +│ │ - value_3 │ +│ │ Examples: │ +│ │ - val1 │ +│ │ - val2 │ +├───────────────────────────────────────┼──────────────────────────────────────┤ +│ leadership.follower │ A follower. │ +│  string   basic   mandatory  │ │ +└───────────────────────────────────────┴──────────────────────────────────────┘ diff --git a/tests/results/test/warnings_00_0no_variable b/tests/results/test/warnings_00_0no_variable new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test/warnings_00_0no_variable @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test/warnings_00_0no_variable_default_version b/tests/results/test/warnings_00_0no_variable_default_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test/warnings_00_0no_variable_default_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test/warnings_00_0no_variable_remove_version b/tests/results/test/warnings_00_0no_variable_remove_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test/warnings_00_0no_variable_remove_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test/warnings_40_0leadership_reduce b/tests/results/test/warnings_40_0leadership_reduce new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test/warnings_40_0leadership_reduce @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_examples/00_0no_variable.md b/tests/results/test_examples/00_0no_variable.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_examples/00_0no_variable_default_version.md b/tests/results/test_examples/00_0no_variable_default_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_examples/00_0no_variable_remove_version.md b/tests/results/test_examples/00_0no_variable_remove_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_examples/40_0leadership_reduce.md b/tests/results/test_examples/40_0leadership_reduce.md new file mode 100644 index 000000000..dfd9db780 --- /dev/null +++ b/tests/results/test_examples/40_0leadership_reduce.md @@ -0,0 +1,10 @@ +# Example with all variables modifiable + +```yaml +--- +leadership: + - leader: val1 + follower: example + - leader: val2 + follower: example +``` diff --git a/tests/results/test_examples/warnings_00_0no_variable b/tests/results/test_examples/warnings_00_0no_variable new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_examples/warnings_00_0no_variable @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_examples/warnings_00_0no_variable_default_version b/tests/results/test_examples/warnings_00_0no_variable_default_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_examples/warnings_00_0no_variable_default_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_examples/warnings_00_0no_variable_remove_version b/tests/results/test_examples/warnings_00_0no_variable_remove_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_examples/warnings_00_0no_variable_remove_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_examples/warnings_40_0leadership_reduce b/tests/results/test_examples/warnings_40_0leadership_reduce new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_examples/warnings_40_0leadership_reduce @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace/00_0no_variable.adoc b/tests/results/test_namespace/00_0no_variable.adoc new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable.json b/tests/results/test_namespace/00_0no_variable.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/tests/results/test_namespace/00_0no_variable.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/results/test_namespace/00_0no_variable.md b/tests/results/test_namespace/00_0no_variable.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable.sh b/tests/results/test_namespace/00_0no_variable.sh new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable_default_version.adoc b/tests/results/test_namespace/00_0no_variable_default_version.adoc new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable_default_version.json b/tests/results/test_namespace/00_0no_variable_default_version.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/tests/results/test_namespace/00_0no_variable_default_version.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/results/test_namespace/00_0no_variable_default_version.md b/tests/results/test_namespace/00_0no_variable_default_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable_default_version.sh b/tests/results/test_namespace/00_0no_variable_default_version.sh new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable_remove_version.adoc b/tests/results/test_namespace/00_0no_variable_remove_version.adoc new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable_remove_version.json b/tests/results/test_namespace/00_0no_variable_remove_version.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/tests/results/test_namespace/00_0no_variable_remove_version.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/results/test_namespace/00_0no_variable_remove_version.md b/tests/results/test_namespace/00_0no_variable_remove_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/00_0no_variable_remove_version.sh b/tests/results/test_namespace/00_0no_variable_remove_version.sh new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace/40_0leadership_reduce.adoc b/tests/results/test_namespace/40_0leadership_reduce.adoc new file mode 100644 index 000000000..0863d223c --- /dev/null +++ b/tests/results/test_namespace/40_0leadership_reduce.adoc @@ -0,0 +1,33 @@ +== Variables for "Rougail" + +=== a leadership + +`basic` + +This family contains lists of variable blocks. + +[cols="1a,1a"] +|==== +| Variable | Description +| + +**rougail.leadership.leader** + +`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` `unique` `multiple` | +A leader. + +**Default**: + +* value_1 +* value_2 +* value_3 + +**Examples**: + +* val1 +* val2 +| + +**rougail.leadership.follower** + +`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` | +A follower. +|==== + diff --git a/tests/results/test_namespace/40_0leadership_reduce.json b/tests/results/test_namespace/40_0leadership_reduce.json new file mode 100644 index 000000000..4de699a3a --- /dev/null +++ b/tests/results/test_namespace/40_0leadership_reduce.json @@ -0,0 +1,114 @@ +{ + "rougail": { + "type": "namespace", + "informations": { + "paths": [ + "rougail" + ], + "names": [ + "rougail" + ], + "description": "Rougail", + "properties": [ + { + "type": "mode", + "name": "basic" + } + ] + }, + "children": { + "leadership": { + "type": "leadership", + "informations": { + "paths": [ + "rougail.leadership" + ], + "names": [ + "leadership" + ], + "description": "a leadership", + "properties": [ + { + "type": "mode", + "name": "basic" + } + ], + "help": [ + "This family contains lists of variable blocks." + ] + }, + "children": { + "rougail.leadership.leader": { + "type": "variable", + "default": [ + "value_1", + "value_2", + "value_3" + ], + "properties": [ + { + "type": "type", + "name": "string" + }, + { + "type": "mode", + "name": "standard" + }, + { + "type": "property", + "name": "mandatory" + }, + { + "type": "property", + "name": "unique" + }, + { + "type": "multiple", + "name": "multiple" + } + ], + "paths": [ + "rougail.leadership.leader" + ], + "names": [ + "leader" + ], + "descriptions": [ + "A leader." + ], + "examples": [ + "val1", + "val2" + ] + }, + "rougail.leadership.follower": { + "type": "variable", + "properties": [ + { + "type": "type", + "name": "string" + }, + { + "type": "mode", + "name": "basic" + }, + { + "type": "property", + "name": "mandatory" + } + ], + "paths": [ + "rougail.leadership.follower" + ], + "names": [ + "follower" + ], + "descriptions": [ + "A follower." + ] + } + } + } + } + } +} \ No newline at end of file diff --git a/tests/results/test_namespace/40_0leadership_reduce.md b/tests/results/test_namespace/40_0leadership_reduce.md new file mode 100644 index 000000000..0dfc660ae --- /dev/null +++ b/tests/results/test_namespace/40_0leadership_reduce.md @@ -0,0 +1,13 @@ +# Variables for "Rougail" + +## a leadership + +`basic` + +This family contains lists of variable blocks. + +| Variable                                                                                                                       | Description                                                                                                                    | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **rougail.leadership.leader**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` `unique` `multiple` | A leader.
**Default**:
- value_1
- value_2
- value_3
**Examples**:
- val1
- val2 | +| **rougail.leadership.follower**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A follower. | + diff --git a/tests/results/test_namespace/40_0leadership_reduce.sh b/tests/results/test_namespace/40_0leadership_reduce.sh new file mode 100644 index 000000000..7f1e213b0 --- /dev/null +++ b/tests/results/test_namespace/40_0leadership_reduce.sh @@ -0,0 +1,31 @@ + + +Variables for "Rougail" + + + + + a leadership + + + basic  + + +This family contains lists of variable blocks. + + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Variable  ┃ Description  ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ rougail.leadership.leader │ A leader. │ +│  string   standard   mandatory    │ Default: │ +│ unique   multiple  │ - value_1 │ +│ │ - value_2 │ +│ │ - value_3 │ +│ │ Examples: │ +│ │ - val1 │ +│ │ - val2 │ +├───────────────────────────────────────┼──────────────────────────────────────┤ +│ rougail.leadership.follower │ A follower. │ +│  string   basic   mandatory  │ │ +└───────────────────────────────────────┴──────────────────────────────────────┘ diff --git a/tests/results/test_namespace/warnings_00_0no_variable b/tests/results/test_namespace/warnings_00_0no_variable new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace/warnings_00_0no_variable @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace/warnings_00_0no_variable_default_version b/tests/results/test_namespace/warnings_00_0no_variable_default_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace/warnings_00_0no_variable_default_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace/warnings_00_0no_variable_remove_version b/tests/results/test_namespace/warnings_00_0no_variable_remove_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace/warnings_00_0no_variable_remove_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace/warnings_40_0leadership_reduce b/tests/results/test_namespace/warnings_40_0leadership_reduce new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace/warnings_40_0leadership_reduce @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace_examples/00_0no_variable.md b/tests/results/test_namespace_examples/00_0no_variable.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace_examples/00_0no_variable_default_version.md b/tests/results/test_namespace_examples/00_0no_variable_default_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace_examples/00_0no_variable_remove_version.md b/tests/results/test_namespace_examples/00_0no_variable_remove_version.md new file mode 100644 index 000000000..e69de29bb diff --git a/tests/results/test_namespace_examples/40_0leadership_reduce.md b/tests/results/test_namespace_examples/40_0leadership_reduce.md new file mode 100644 index 000000000..2e7237699 --- /dev/null +++ b/tests/results/test_namespace_examples/40_0leadership_reduce.md @@ -0,0 +1,11 @@ +# Example with all variables modifiable + +```yaml +--- +rougail: + leadership: + - leader: val1 + follower: example + - leader: val2 + follower: example +``` diff --git a/tests/results/test_namespace_examples/warnings_00_0no_variable b/tests/results/test_namespace_examples/warnings_00_0no_variable new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace_examples/warnings_00_0no_variable @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace_examples/warnings_00_0no_variable_default_version b/tests/results/test_namespace_examples/warnings_00_0no_variable_default_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace_examples/warnings_00_0no_variable_default_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace_examples/warnings_00_0no_variable_remove_version b/tests/results/test_namespace_examples/warnings_00_0no_variable_remove_version new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace_examples/warnings_00_0no_variable_remove_version @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/results/test_namespace_examples/warnings_40_0leadership_reduce b/tests/results/test_namespace_examples/warnings_40_0leadership_reduce new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/tests/results/test_namespace_examples/warnings_40_0leadership_reduce @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/test_load.py b/tests/test_load.py index 2f36057c2..ce9c41780 100644 --- a/tests/test_load.py +++ b/tests/test_load.py @@ -20,7 +20,7 @@ excludes = [ ] test_ok = get_structures_list(excludes) -# test_ok = [HERE.parent.parent / "rougail-tests" / "structures" / "60_5family_dynamic_calc_suffix_hidden"] +# test_ok = [HERE.parent.parent / "rougail-tests" / "structures" / "40_0leadership_reduce"] os.environ['COLUMNS'] = '80'