From d28c5aae0af2a94030406d02d2cd30ab58d80982 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 23 Dec 2024 20:54:52 +0100 Subject: [PATCH] first version --- src/rougail/output_formatter/__init__.py | 388 ++++++++++++++++++ src/rougail/output_formatter/config.py | 51 +++ src/rougail/output_formatter/upgrade.py | 111 +++++ .../rougail/00-base.yml | 4 + .../00_1empty_variable/rougail/00-base.yml | 4 + .../rougail/00-base.yml | 12 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 14 + .../00_4load_subfolder/rougail/99-base.yml | 4 + .../00_4load_subfolder/rougail2/00-base.yml | 4 + .../00_5load_notype/rougail/00-base.yml | 4 + tests/results/00_6boolean/rougail/00-base.yml | 14 + .../rougail/00-base.yml | 7 + tests/results/00_6choice/rougail/00-base.yml | 48 +++ .../rougail/00-base.yml | 13 + .../00_6choice_variable/rougail/00-base.yml | 13 + tests/results/00_6custom/rougail/00-base.yml | 11 + .../00_6domainname/rougail/00-base.yml | 7 + .../00_6domainname_params/rougail/00-base.yml | 9 + tests/results/00_6float/rougail/00-base.yml | 14 + tests/results/00_6number/rougail/00-base.yml | 14 + tests/results/00_6port/rougail/00-base.yml | 16 + tests/results/00_6regexp/rougail/00-base.yml | 10 + tests/results/00_6string/rougail/00-base.yml | 14 + .../00_7choice_quote/rougail/00-base.yml | 11 + .../00_7help_quote/rougail/00-base.yml | 10 + .../00_7value_doublequote/rougail/00-base.yml | 4 + .../rougail/00-base.yml | 4 + .../rougail/00-base.yml | 4 + .../00_7value_quote/rougail/00-base.yml | 4 + .../rougail/00-base.yml | 12 + tests/results/00_8test/rougail/00-base.yml | 40 ++ .../rougail/00-base.yml | 17 + .../00_9choice_variables/rougail/00-base.yml | 14 + .../rougail/00-base.yml | 14 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 14 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 8 + .../rougail/00-base.yml | 12 + .../rougail/00-base.yml | 23 ++ .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 10 + .../00_9default_integer/rougail/00-base.yml | 13 + tests/results/00_9extra/extra/00-base.yml | 9 + tests/results/00_9extra/rougail/00-base.yml | 4 + .../00_9extra_calculation/extra/00-base.yml | 24 ++ .../00_9extra_calculation/rougail/00-base.yml | 4 + .../00_9extra_ouside/extra/00-base.yml | 4 + .../00_9extra_ouside/rougail/00-base.yml | 7 + .../01_6boolean_multi/rougail/00-base.yml | 26 ++ .../01_6custom_multi/rougail/00-base.yml | 13 + .../01_6float_multi/rougail/00-base.yml | 26 ++ .../01_6number_multi/rougail/00-base.yml | 26 ++ .../01_6string_empty/rougail/00-base.yml | 9 + .../01_6string_multi/rougail/00-base.yml | 23 ++ .../rougail/00-base.yml | 5 + .../rougail/00-base.yml | 5 + .../01_7value_multi_quote/rougail/00-base.yml | 5 + .../rougail/00-base.yml | 15 + .../rougail/00-base.yml | 12 + .../04_0type_param/rougail/00-base.yml | 9 + .../results/04_1auto_save/rougail/00-base.yml | 7 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 18 + .../rougail/00-base.yml | 9 + .../rougail/00-base.yml | 18 + .../rougail/00-base.yml | 18 + .../rougail/00-base.yml | 22 + .../rougail/00-base.yml | 30 ++ .../rougail/00-base.yml | 36 ++ .../rougail/00-base.yml | 9 + .../rougail/00-base.yml | 9 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 24 ++ .../rougail/00-base.yml | 30 ++ .../rougail/00-base.yml | 30 ++ .../04_5validators/rougail/00-base.yml | 12 + .../04_5validators_differ/rougail/00-base.yml | 16 + .../04_5validators_multi/rougail/00-base.yml | 14 + .../04_5validators_multi2/rougail/00-base.yml | 21 + .../05_0multi_not_uniq/rougail/00-base.yml | 8 + .../05_0multi_uniq/rougail/00-base.yml | 8 + .../12_1auto_save_expert/rougail/00-base.yml | 8 + .../rougail/00-base.yml | 4 + .../rougail/01-redefine.yml | 6 + .../rougail/00-base.yml | 6 + .../rougail/01-base.yml | 8 + .../rougail/00-base.yml | 6 + .../rougail/01-base.yml | 6 + .../16_5exists_nonexists/rougail/00-base.yml | 4 + .../16_5exists_nonexists/rougail/01-base.yml | 7 + .../16_5exists_redefine/rougail/00-base.yml | 8 + .../16_5exists_redefine/rougail/01-base.yml | 13 + .../rougail/00-base.yml | 9 + .../rougail/01-base.yml | 9 + .../16_5redefine_choice/rougail/00-base.yml | 9 + .../rougail/01-redefine.yml | 8 + .../16_5redefine_default/rougail/00-base.yml | 4 + .../rougail/01-redefine.yml | 6 + .../rougail/00-base.yml | 8 + .../rougail/01-base.yml | 6 + .../16_5redefine_family/rougail/00-base.yml | 6 + .../16_5redefine_family/rougail/01-base.yml | 6 + .../16_5redefine_help/rougail/00-base.yml | 10 + .../16_5redefine_help/rougail/01-base.yml | 10 + .../16_5redefine_hidden/rougail/00-base.yml | 4 + .../rougail/01-redefine.yml | 7 + .../16_5redefine_multi/rougail/00-base.yml | 4 + .../rougail/01-redefine.yml | 7 + .../rougail/00-base.yml | 14 + .../rougail/01-base.yml | 6 + .../16_5test_redefine/rougail/00-base.yml | 15 + .../16_5test_redefine/rougail/10-base.yml | 16 + .../16_6choice_redefine/rougail/00-base.yml | 11 + .../16_6choice_redefine/rougail/01-base.yml | 8 + .../rougail/00-base.yml | 10 + .../rougail/01-base.yml | 16 + .../16exists_exists/rougail/00-base.yml | 4 + .../16exists_exists/rougail/01-base.yml | 6 + .../rougail/00-base.yml | 15 + .../rougail/01-base.yml | 6 + .../20_0empty_family/rougail/00-base.yml | 5 + .../20_0family_append/rougail/00-base.yml | 6 + .../20_0family_append/rougail/01-base.yml | 6 + .../20_0family_underscore/rougail/00-base.yml | 47 +++ .../20_0multi_family/rougail/00-base.yml | 10 + .../rougail/00-base.yml | 8 + .../rougail/00-base.yml | 12 + .../rougail/00-base.yml | 14 + .../rougail/00-base.yml | 18 + .../rougail/01-base.yml | 11 + .../20_1empty_subfamily/rougail/00-base.yml | 7 + .../rougail/00-base.yml | 12 + .../20_9family_absolute/rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 15 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 15 + .../rougail/00-base.yml | 25 ++ .../rougail/00-base.yml | 20 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 9 + .../rougail/00-base.yml | 31 ++ .../rougail/00-base.yml | 12 + .../40_0leadership/rougail/00-base.yml | 12 + .../rougail/00-base.yml | 12 + .../40_0leadership_empty/rougail/00-base.yml | 5 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 16 + .../rougail/00-base.yml | 18 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 18 + .../rougail/00-base.yml | 14 + .../rougail/01-base.yml | 6 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 22 + .../rougail/00-base.yml | 19 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 32 ++ .../rougail/00-base.yml | 14 + .../rougail/00-base.yml | 20 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 11 + .../rougail/00-base.yml | 13 + .../41_0choice_leader/rougail/00-base.yml | 18 + .../44_0leadership_hidden/rougail/00-base.yml | 15 + .../rougail/00-base.yml | 16 + .../rougail/00-base.yml | 20 + .../rougail/01-base.yml | 8 + .../rougail/00-base.yml | 20 + .../rougail/00-base.yml | 14 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 21 + .../rougail/00-base.yml | 21 + .../rougail/00-base.yml | 21 + .../60_0family_dynamic/rougail/00-base.yml | 13 + .../rougail/00-base.yml | 15 + .../rougail/00-base.yml | 19 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 15 + .../rougail/00-base.yml | 19 + .../rougail/00-base.yml | 14 + .../rougail/00-base.yml | 20 + .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 10 + .../rougail/00-base.yml | 16 + .../rougail/00-base.yml | 11 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 16 + .../60_0family_empty/rougail/00-base.yml | 5 + .../60_0family_hidden/rougail/00-base.yml | 8 + .../60_0family_hidden/rougail/01-base.yml | 6 + .../60_0family_mode/rougail/00-base.yml | 9 + .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 22 + .../rougail/00-base.yml | 25 ++ .../rougail/00-base.yml | 32 ++ .../rougail/00-base.yml | 29 ++ .../rougail/00-base.yml | 20 + .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 21 + .../rougail/00-base.yml | 25 ++ .../rougail/00-base.yml | 17 + .../rougail/00-base.yml | 16 + .../rougail/00-base.yml | 20 + .../rougail/00-base.yml | 13 + .../rougail/00-base.yml | 22 + .../rougail/00-base.yml | 21 + .../rougail/00-base.yml | 25 ++ .../rougail/00-base.yml | 18 + .../rougail/00-base.yml | 23 ++ .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 43 ++ .../rougail/00-base.yml | 42 ++ .../rougail/00-base.yml | 23 ++ .../rougail/00-base.yml | 23 ++ .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 29 ++ .../rougail/00-base.yml | 33 ++ .../rougail/00-base.yml | 29 ++ .../rougail/00-base.yml | 34 ++ .../rougail/00-base.yml | 21 + .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 31 ++ .../rougail/00-base.yml | 35 ++ .../rougail/00-base.yml | 27 ++ .../rougail/00-base.yml | 31 ++ .../rougail/00-base.yml | 48 +++ .../rougail/00-base.yml | 50 +++ .../rougail/00-base.yml | 52 +++ .../rougail/00-base.yml | 46 +++ .../60_9extra_dynamic/extra/00-base.yml | 8 + .../60_9extra_dynamic/rougail/00-base.yml | 5 + .../60_9extra_dynamic_extra/extra/00-base.yml | 11 + .../rougail/00-base.yml | 7 + .../rougail/00-base.yml | 12 + .../rougail/00-base.yml | 19 + tests/test_load.py | 101 +++++ 245 files changed, 4378 insertions(+) create mode 100644 src/rougail/output_formatter/__init__.py create mode 100644 src/rougail/output_formatter/config.py create mode 100644 src/rougail/output_formatter/upgrade.py create mode 100644 tests/results/00_0version_underscore/rougail/00-base.yml create mode 100644 tests/results/00_1empty_variable/rougail/00-base.yml create mode 100644 tests/results/00_2default_calculated/rougail/00-base.yml create mode 100644 tests/results/00_2default_calculated_multi/rougail/00-base.yml create mode 100644 tests/results/00_2default_calculated_variable_transitive/rougail/00-base.yml create mode 100644 tests/results/00_4load_subfolder/rougail/99-base.yml create mode 100644 tests/results/00_4load_subfolder/rougail2/00-base.yml create mode 100644 tests/results/00_5load_notype/rougail/00-base.yml create mode 100644 tests/results/00_6boolean/rougail/00-base.yml create mode 100644 tests/results/00_6boolean_no_mandatory/rougail/00-base.yml create mode 100644 tests/results/00_6choice/rougail/00-base.yml create mode 100644 tests/results/00_6choice_calculation/rougail/00-base.yml create mode 100644 tests/results/00_6choice_variable/rougail/00-base.yml create mode 100644 tests/results/00_6custom/rougail/00-base.yml create mode 100644 tests/results/00_6domainname/rougail/00-base.yml create mode 100644 tests/results/00_6domainname_params/rougail/00-base.yml create mode 100644 tests/results/00_6float/rougail/00-base.yml create mode 100644 tests/results/00_6number/rougail/00-base.yml create mode 100644 tests/results/00_6port/rougail/00-base.yml create mode 100644 tests/results/00_6regexp/rougail/00-base.yml create mode 100644 tests/results/00_6string/rougail/00-base.yml create mode 100644 tests/results/00_7choice_quote/rougail/00-base.yml create mode 100644 tests/results/00_7help_quote/rougail/00-base.yml create mode 100644 tests/results/00_7value_doublequote/rougail/00-base.yml create mode 100644 tests/results/00_7value_doublequote2/rougail/00-base.yml create mode 100644 tests/results/00_7value_doublequote3/rougail/00-base.yml create mode 100644 tests/results/00_7value_quote/rougail/00-base.yml create mode 100644 tests/results/00_8calculation_information/rougail/00-base.yml create mode 100644 tests/results/00_8test/rougail/00-base.yml create mode 100644 tests/results/00_9choice_variable_multi/rougail/00-base.yml create mode 100644 tests/results/00_9choice_variables/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_information/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_information_other_variable/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_multi_optional/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_multi_optional2/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_optional/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_optional_exists/rougail/00-base.yml create mode 100644 tests/results/00_9default_calculation_param_optional/rougail/00-base.yml create mode 100644 tests/results/00_9default_information_other_variable/rougail/00-base.yml create mode 100644 tests/results/00_9default_information_other_variable2/rougail/00-base.yml create mode 100644 tests/results/00_9default_integer/rougail/00-base.yml create mode 100644 tests/results/00_9extra/extra/00-base.yml create mode 100644 tests/results/00_9extra/rougail/00-base.yml create mode 100644 tests/results/00_9extra_calculation/extra/00-base.yml create mode 100644 tests/results/00_9extra_calculation/rougail/00-base.yml create mode 100644 tests/results/00_9extra_ouside/extra/00-base.yml create mode 100644 tests/results/00_9extra_ouside/rougail/00-base.yml create mode 100644 tests/results/01_6boolean_multi/rougail/00-base.yml create mode 100644 tests/results/01_6custom_multi/rougail/00-base.yml create mode 100644 tests/results/01_6float_multi/rougail/00-base.yml create mode 100644 tests/results/01_6number_multi/rougail/00-base.yml create mode 100644 tests/results/01_6string_empty/rougail/00-base.yml create mode 100644 tests/results/01_6string_multi/rougail/00-base.yml create mode 100644 tests/results/01_7value_multi_doublequote/rougail/00-base.yml create mode 100644 tests/results/01_7value_multi_doublequote2/rougail/00-base.yml create mode 100644 tests/results/01_7value_multi_quote/rougail/00-base.yml create mode 100644 tests/results/01_8calculation_information_multi/rougail/00-base.yml create mode 100644 tests/results/01_9choice_variable_multi/rougail/00-base.yml create mode 100644 tests/results/04_0type_param/rougail/00-base.yml create mode 100644 tests/results/04_1auto_save/rougail/00-base.yml create mode 100644 tests/results/04_1auto_save_and_calculated/rougail/00-base.yml create mode 100644 tests/results/04_1auto_save_and_calculated_hidden/rougail/00-base.yml create mode 100644 tests/results/04_1auto_save_and_hidden/rougail/00-base.yml create mode 100644 tests/results/04_1default_calculation_hidden/rougail/00-base.yml create mode 100644 tests/results/04_1default_calculation_hidden_2/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation_default/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation_optional/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation_variable/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation_variable2/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation_variable3/rougail/00-base.yml create mode 100644 tests/results/04_5disabled_calculation_variable4/rougail/00-base.yml create mode 100644 tests/results/04_5hidden_calculation/rougail/00-base.yml create mode 100644 tests/results/04_5hidden_calculation2/rougail/00-base.yml create mode 100644 tests/results/04_5hidden_calculation_default_calculation/rougail/00-base.yml create mode 100644 tests/results/04_5validators/rougail/00-base.yml create mode 100644 tests/results/04_5validators_differ/rougail/00-base.yml create mode 100644 tests/results/04_5validators_multi/rougail/00-base.yml create mode 100644 tests/results/04_5validators_multi2/rougail/00-base.yml create mode 100644 tests/results/05_0multi_not_uniq/rougail/00-base.yml create mode 100644 tests/results/05_0multi_uniq/rougail/00-base.yml create mode 100644 tests/results/12_1auto_save_expert/rougail/00-base.yml create mode 100644 tests/results/16_0redefine_description/rougail/00-base.yml create mode 100644 tests/results/16_0redefine_description/rougail/01-redefine.yml create mode 100644 tests/results/16_2family_redefine_calculation/rougail/00-base.yml create mode 100644 tests/results/16_2family_redefine_calculation/rougail/01-base.yml create mode 100644 tests/results/16_2family_redefine_disabled/rougail/00-base.yml create mode 100644 tests/results/16_2family_redefine_disabled/rougail/01-base.yml create mode 100644 tests/results/16_5exists_nonexists/rougail/00-base.yml create mode 100644 tests/results/16_5exists_nonexists/rougail/01-base.yml create mode 100644 tests/results/16_5exists_redefine/rougail/00-base.yml create mode 100644 tests/results/16_5exists_redefine/rougail/01-base.yml create mode 100644 tests/results/16_5redefine_calculation/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_calculation/rougail/01-base.yml create mode 100644 tests/results/16_5redefine_choice/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_choice/rougail/01-redefine.yml create mode 100644 tests/results/16_5redefine_default/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_default/rougail/01-redefine.yml create mode 100644 tests/results/16_5redefine_default_calculation/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_default_calculation/rougail/01-base.yml create mode 100644 tests/results/16_5redefine_family/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_family/rougail/01-base.yml create mode 100644 tests/results/16_5redefine_help/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_help/rougail/01-base.yml create mode 100644 tests/results/16_5redefine_hidden/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_hidden/rougail/01-redefine.yml create mode 100644 tests/results/16_5redefine_multi/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_multi/rougail/01-redefine.yml create mode 100644 tests/results/16_5redefine_remove_disable_calculation/rougail/00-base.yml create mode 100644 tests/results/16_5redefine_remove_disable_calculation/rougail/01-base.yml create mode 100644 tests/results/16_5test_redefine/rougail/00-base.yml create mode 100644 tests/results/16_5test_redefine/rougail/10-base.yml create mode 100644 tests/results/16_6choice_redefine/rougail/00-base.yml create mode 100644 tests/results/16_6choice_redefine/rougail/01-base.yml create mode 100644 tests/results/16_6exists_redefine_family/rougail/00-base.yml create mode 100644 tests/results/16_6exists_redefine_family/rougail/01-base.yml create mode 100644 tests/results/16exists_exists/rougail/00-base.yml create mode 100644 tests/results/16exists_exists/rougail/01-base.yml create mode 100644 tests/results/17_5redefine_leadership/rougail/00-base.yml create mode 100644 tests/results/17_5redefine_leadership/rougail/01-base.yml create mode 100644 tests/results/20_0empty_family/rougail/00-base.yml create mode 100644 tests/results/20_0family_append/rougail/00-base.yml create mode 100644 tests/results/20_0family_append/rougail/01-base.yml create mode 100644 tests/results/20_0family_underscore/rougail/00-base.yml create mode 100644 tests/results/20_0multi_family/rougail/00-base.yml create mode 100644 tests/results/20_0multi_family_basic/rougail/00-base.yml create mode 100644 tests/results/20_0multi_family_expert/rougail/00-base.yml create mode 100644 tests/results/20_0multi_family_order/rougail/00-base.yml create mode 100644 tests/results/20_0validators_differ_redefine/rougail/00-base.yml create mode 100644 tests/results/20_0validators_differ_redefine/rougail/01-base.yml create mode 100644 tests/results/20_1empty_subfamily/rougail/00-base.yml create mode 100644 tests/results/20_9default_information_parent/rougail/00-base.yml create mode 100644 tests/results/20_9family_absolute/rougail/00-base.yml create mode 100644 tests/results/24_0family_hidden_condition/rougail/00-base.yml create mode 100644 tests/results/24_0family_hidden_condition_boolean/rougail/00-base.yml create mode 100644 tests/results/24_0family_hidden_condition_sub_family/rougail/00-base.yml create mode 100644 tests/results/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml create mode 100644 tests/results/24_0family_hidden_condition_with_variable/rougail/00-base.yml create mode 100644 tests/results/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml create mode 100644 tests/results/24_0family_mandatory_condition/rougail/00-base.yml create mode 100644 tests/results/24_0family_mandatory_condition_variable/rougail/00-base.yml create mode 100644 tests/results/24_7validators_variable_optional/rougail/00-base.yml create mode 100644 tests/results/24_family_disabled_var_hidden/rougail/00-base.yml create mode 100644 tests/results/40_0leadership/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_diff_name/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_empty/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_follower_default_calculation/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_follower_default_submulti/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_follower_default_value/rougail/00-base.yml create mode 100644 tests/results/40_0leadership_leader_not_multi/rougail/00-base.yml create mode 100644 tests/results/40_1leadership_append_follower/rougail/00-base.yml create mode 100644 tests/results/40_1leadership_append_follower/rougail/01-base.yml create mode 100644 tests/results/40_2leadership_calculation_index/rougail/00-base.yml create mode 100644 tests/results/40_2leadership_calculation_param_index/rougail/00-base.yml create mode 100644 tests/results/40_2leadership_leader_calculation/rougail/00-base.yml create mode 100644 tests/results/40_6leadership_follower_multi/rougail/00-base.yml create mode 100644 tests/results/40_8calculation_boolean/rougail/00-base.yml create mode 100644 tests/results/40_8calculation_boolean_return_none/rougail/00-base.yml create mode 100644 tests/results/40_8calculation_integer/rougail/00-base.yml create mode 100644 tests/results/40_8calculation_multi_variable/rougail/00-base.yml create mode 100644 tests/results/40_8calculation_multi_variable_parent/rougail/00-base.yml create mode 100644 tests/results/40_8calculation_multi_variable_parent2/rougail/00-base.yml create mode 100644 tests/results/41_0choice_leader/rougail/00-base.yml create mode 100644 tests/results/44_0leadership_hidden/rougail/00-base.yml create mode 100644 tests/results/44_0leadership_leader_hidden/rougail/00-base.yml create mode 100644 tests/results/44_1leadership_append_hidden_follower/rougail/00-base.yml create mode 100644 tests/results/44_1leadership_append_hidden_follower/rougail/01-base.yml create mode 100644 tests/results/44_4disabled_calcultion_follower/rougail/00-base.yml create mode 100644 tests/results/44_4leadership_mandatory/rougail/00-base.yml create mode 100644 tests/results/44_4leadership_mandatory_follower/rougail/00-base.yml create mode 100644 tests/results/44_5leadership_leader_hidden_calculation/rougail/00-base.yml create mode 100644 tests/results/44_6leadership_follower_disabled_calculation/rougail/00-base.yml create mode 100644 tests/results/44_9calculated_default_leadership_leader/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_1_0/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_1_0_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_1_0_type/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_1_1/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_1_1_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_jinja_number/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_jinja_number_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_no_description/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_no_description_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_static/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_test/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_variable_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_variable_suffix/rougail/00-base.yml create mode 100644 tests/results/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_empty/rougail/00-base.yml create mode 100644 tests/results/60_0family_hidden/rougail/00-base.yml create mode 100644 tests/results/60_0family_hidden/rougail/01-base.yml create mode 100644 tests/results/60_0family_mode/rougail/00-base.yml create mode 100644 tests/results/60_1family_dynamic_jinja/rougail/00-base.yml create mode 100644 tests/results/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml create mode 100644 tests/results/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml create mode 100644 tests/results/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml create mode 100644 tests/results/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml create mode 100644 tests/results/60_2family_dynamic_outside_calc/rougail/00-base.yml create mode 100644 tests/results/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc2/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc2_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix2/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix_disabled/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_variable/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_hidden_suffix/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_unknown_suffix/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside2/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml create mode 100644 tests/results/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_inside/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_inside_empty/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_leadership/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_leadership_empty/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_sub_dynamic/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml create mode 100644 tests/results/60_9extra_dynamic/extra/00-base.yml create mode 100644 tests/results/60_9extra_dynamic/rougail/00-base.yml create mode 100644 tests/results/60_9extra_dynamic_extra/extra/00-base.yml create mode 100644 tests/results/60_9extra_dynamic_extra/rougail/00-base.yml create mode 100644 tests/results/60_9family_dynamic_calc_both/rougail/00-base.yml create mode 100644 tests/results/68_0family_leadership_mode/rougail/00-base.yml create mode 100644 tests/test_load.py diff --git a/src/rougail/output_formatter/__init__.py b/src/rougail/output_formatter/__init__.py new file mode 100644 index 0000000..e134a95 --- /dev/null +++ b/src/rougail/output_formatter/__init__.py @@ -0,0 +1,388 @@ +""" +Silique (https://www.silique.fr) +Copyright (C) 2024 + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by the +Free Software Foundation, either version 3 of the License, or (at your +option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +details. + +You should have received a copy of the GNU Lesser General Public License +along with this program. If not, see . +""" + + +from io import BytesIO +from pathlib import Path +from typing import Optional + +from ruamel.yaml import YAML, CommentedMap +from ruamel.yaml.tokens import CommentToken +from ruamel.yaml.error import CommentMark +from ruamel.yaml.comments import CommentedSeq +from ruamel.yaml.scalarstring import LiteralScalarString, FoldedScalarString + +from tiramisu import undefined +from tiramisu.config import get_common_path + +from rougail.convert import RougailConvert +from rougail.object_model import Variable, Family, Calculation, JinjaCalculation, IdentifierCalculation, IdentifierPropertyCalculation, IdentifierParam, IndexCalculation, IndexParam, Param +from rougail.utils import normalize_family + +from .upgrade import RougailUpgrade + + +def _(text): + return text + + +class RougailOutputFormatter: + output_name = 'formatter' + + def __init__( + self, + config: "Config", + *, + rougailconfig: "RougailConfig" = None, + user_data_errors: Optional[list] = None, + user_data_warnings: Optional[list] = None, + ) -> None: + self.basic_types = { + str: "string", + int: "number", + bool: "boolean", + float: "float", + } + if rougailconfig is None: + from rougail import RougailConfig + rougailconfig = RougailConfig + rougailconfig["step.output"] = self.output_name + if rougailconfig["step.output"] != self.output_name: + raise ExtentionError(_('the "step.output" is not set to "{0}"').format(self.output_name)) + # yaml.top_level_colon_align = True + self.main_namespace = rougailconfig["main_namespace"] + filenames = rougailconfig["main_dictionaries"] + if len(rougailconfig["main_dictionaries"]) > 1: + raise Exception(_('only one file is allowed')) + filename = Path(filenames[0]) + if not filename.is_file(): + raise Exception(_('only a file is allowed')) + self.original_yaml = RougailUpgrade(rougailconfig).run(filename) + datas = RougailUpgrade(rougailconfig).run(filename) + self.rougail = RougailConvert(rougailconfig) + self.rougail.load_config() + self.rougail.init() + self.filename_str = str(filename) + if self.main_namespace is None: + self.rougail.namespace = None + else: + self.rougail.namespace = normalize_family(self.main_namespace) + self.rougail.create_namespace(self.main_namespace) + self.rougail.validate_file_version( + datas, + self.filename_str, + ) + self.rougail.parse_root_file( + self.filename_str, + self.rougail.namespace, + "1.1", + datas, + ) + self.yaml = YAML() + + def run(self): + self.families_attributes = {attr: obj.get("default") for attr, obj in self.rougail.family.model_json_schema()["properties"].items()} + self.dynamics_attributes = {attr: obj.get("default") for attr, obj in self.rougail.dynamic.model_json_schema()["properties"].items()} + self.variables_attributes = {attr: obj.get("default") for attr, obj in self.rougail.variable.model_json_schema()["properties"].items()} + self.families = {None: CommentedMap()} + self.parse() + self.yaml.indent(mapping=2, sequence=4, offset=2) + self.yaml.explicit_start=True + self.default_flow_style = False + with BytesIO() as ymlfh: + self.yaml.dump(self.families[None], ymlfh) + ret = ymlfh.getvalue().decode("utf-8").strip() + '\n' + return ret + + def print(self): + print(self.run()) + + def parse(self): + # FIXME path to relative ! + if self.rougail.namespace: + version_path = f'{self.rougail.namespace}.version' + else: + version_path = 'version' + if version_path in self.rougail.paths._data: + version_name = '_version' + else: + version_name = 'version' + self.families[None][version_name] = None + self.families[None].yaml_value_comment_extend(version_name, [CommentToken('\n\n', CommentMark(0)), None]) + version = None + for path, obj in self.rougail.paths._data.items(): + if version is None or version == '': + version = obj.version + if path == self.rougail.namespace: + self.families[path] = self.families[None] + continue + if isinstance(obj, Family): + self.parse_family(path, obj) + if isinstance(obj, Variable): + self.parse_variable(path, obj) + if not version: + raise Exception(_(f'no variables in file {self.filename_str}')) + self.families[None][version_name] = float(version) + + def parse_family(self, path, obj): + children = [p.rsplit('.', 1)[-1] for p in self.rougail.parents[path]] + parent, name = self.get_parent_name(path) + ret = self.families[parent] + family = CommentedMap() + yaml_data = self.parse_yaml(path) + force_keys = [] + if isinstance(yaml_data, dict): + if yaml_data.get("redefine", False): + family["redefine"] = True + force_keys = list(yaml_data) + if yaml_data.get("exists") is not None: + family["exists"] = yaml_data["exists"] + force_keys = list(yaml_data) + type_ = obj.type + if type_ == "dynamic": + attributes = self.dynamics_attributes + else: + attributes = self.families_attributes + for attr, default_value in attributes.items(): + if attr in ["name", "path", "namespace", "version", "path_prefix", "xmlfiles"]: + continue + try: + value = getattr(obj, attr) + except AttributeError: + continue + if attr != "type" and attr not in force_keys and value == default_value: + continue + if attr in children: + attr = f'_{attr}' + value = self.object_to_yaml(attr, type_, value, False, path) + family[attr] = value + if type_ == "dynamic" or (children and type_ == 'family'): + if "_type" in family: + del family["_type"] + else: + del family["type"] + if not set(family): + ret[name] = CommentedMap() + ret.yaml_value_comment_extend(name, [CommentToken('\n\n', CommentMark(0)), None]) + elif not set(family) - {'description'}: + # + ret[name] = CommentedMap() + ret.yaml_add_eol_comment(family["description"] + '\n\n', name) + else: + self.add_space(family) + ret[name] = family + self.families[path] = ret[name] + + def parse_variable(self, path, obj): + parent, name = self.get_parent_name(path) + ret = self.families[parent] + variable = CommentedMap() + yaml_data = self.parse_yaml(path) + force_keys = [] + if isinstance(yaml_data, dict): + if yaml_data.get("redefine", False): + variable["redefine"] = True + force_keys = list(yaml_data) + if yaml_data.get("exists") is not None: + variable["exists"] = yaml_data["exists"] + force_keys = list(yaml_data) + multi = obj.multi or isinstance(obj.default, list) + type_ = obj.type + for attr, default_value in self.variables_attributes.items(): + if attr in ["name", "path", "namespace", "version", "path_prefix", "xmlfiles"]: + continue + try: + value = getattr(obj, attr) + except AttributeError: + continue + if attr not in force_keys and value == default_value: + continue + value = self.object_to_yaml(attr, type_, value, multi, path) + variable[attr] = value + if variable.get("mandatory") is True and None not in variable.get("choices", []): + del variable["mandatory"] + if "default" in variable: + if "type" in variable and variable["type"] in ["string", "boolean", "number", "float"]: + if variable["default"] and isinstance(variable["default"], list): + tested_value = variable["default"][0] + else: + tested_value = variable["default"] + if variable["type"] == self.basic_types.get(type(tested_value), None): + del variable["type"] + if "multi" in variable and variable["multi"] is True and isinstance(variable["default"], list): + del variable["multi"] + elif variable.get("type") == "choice" and "choices" in variable: + del variable["type"] + elif variable.get("type") == "string": + # default type is string + del variable["type"] + if set(variable) in [{"multi"}, {'multi', 'description'}]: + variable["default"] = [] + variable.pop("multi") + elif variable.get("type") == "boolean" and not multi: + # if boolean, the default value is True + del variable["type"] + variable["default"] = True + if not isinstance(variable.get("default"), dict) and not set(variable) - {'default', 'description'}: + # shorthand notation + default = variable.get('default') + ret[name] = default + if isinstance(default, list): + ret[name] = CommentedSeq() + for d in default: + ret[name].append(d) + else: + ret[name] = default + if "description" in variable: + description = variable["description"] + if not multi or not default: + description += "\n\n" + ret.yaml_add_eol_comment(description, name) + if multi and default: + self.add_space(ret) + else: + self.add_space(ret) + else: + ret[name] = variable + self.add_space(variable) + + def add_space(self, obj): + def _get_last_obj(o, parent, param, typ): + if isinstance(o, CommentedMap): + param = list(o)[-1] + return _get_last_obj(o[param], o, param, 'map') + if isinstance(o, CommentedSeq): + param = len(o) - 1 + return _get_last_obj(o[param], o, param, 'seq') + return typ, parent, param + param = list(obj)[-1] + typ, parent, param = _get_last_obj(obj[param], obj, param, 'map') + if typ == 'seq': + func = parent.yaml_key_comment_extend + else: + func = parent.yaml_value_comment_extend + func(param, [CommentToken('\n\n', CommentMark(0)), None]) + + def object_to_yaml(self, key, type_, value, multi, object_path): + if isinstance(value, list): + if key == 'params': + new_values = CommentedMap() + else: + new_values = CommentedSeq() + for v in value: + new_value = self.object_to_yaml(key, type_, v, multi, object_path) + if key == 'params': + new_values.update(new_value) + else: + new_values.append(new_value) + return new_values + if isinstance(value, JinjaCalculation): + jinja = CommentedMap() + # replace \n to space a add index of \n (now a space) to fold_pos + jinja_values = value.jinja.strip() + if key == 'default' and not multi: + jinja["jinja"] = FoldedScalarString(jinja_values.replace('\n', ' ')) + jinja["jinja"].fold_pos = [i for i, ltr in enumerate(jinja_values) if ltr == '\n'] + else: + jinja["jinja"] = LiteralScalarString(jinja_values) + if value.return_type: + jinja["return_type"] = value.return_type + if value.description: + jinja["description"] = value.description + if value.params: + jinja["params"] = self.object_to_yaml("params", type_, value.params, multi, object_path) + return jinja + elif isinstance(value, Calculation): + variable_attributes = self.get_object_informations(value, ['path', 'inside_list', 'version', 'xmlfiles', 'attribute_name', 'namespace']) + variable = CommentedMap() + if isinstance(value, (IdentifierCalculation, IdentifierPropertyCalculation)): + variable["type"] = "identifier" + if isinstance(value, IndexCalculation): + variable["type"] = "index" + for key, default in variable_attributes.items(): + val = getattr(value, key) + if val != default and val is not undefined: + variable[key] = val + if "variable" in variable: + variable["variable"] = self.calc_variable_path(object_path, variable["variable"]) + if variable.get('type') == 'identifier' and 'identifier' in variable: + del variable["type"] + return variable + elif isinstance(value, Param): + param_attributes = self.get_object_informations(value, ["type", "key"]) + if list(param_attributes) == ['value']: + variable = value.value + else: + variable = CommentedMap() + if isinstance(value, IdentifierParam): + variable["type"] = "identifier" + if isinstance(value, IndexParam): + variable["type"] = "index" + for key, default in param_attributes.items(): + val = getattr(value, key) + if val != default and val is not undefined: + variable[key] = val + if variable.get('type') == 'identifier' and 'identifier' in variable: + del variable["type"] + if "variable" in variable: + variable["variable"] = self.calc_variable_path(object_path, variable["variable"]) + return {value.key: variable} + elif type_ == 'port' and isinstance(value, str) and value.isnumeric(): + return int(value) + return value + + def calc_variable_path(self, object_path, variable_path): + if not variable_path.startswith("_"): + common_path = get_common_path(object_path, variable_path) + if not self.rougail.namespace or common_path: + if not common_path: + len_common_path = 0 + else: + len_common_path = len(common_path) + 1 + relative_object_path = object_path[len_common_path:] + final_path = "_" * (relative_object_path.count(".") + 1) + '.' + return "_" * (relative_object_path.count(".") + 1) + '.' + variable_path[len_common_path:] + return variable_path + + def get_object_informations(self, value, excludes=[]): + return {attr: obj.get("default") for attr, obj in value.__class__.model_json_schema()["properties"].items() if attr not in excludes} + + def get_parent_name(self, path): + if "." in path: + return path.rsplit(".", 1) + return None, path + + def parse_yaml(self, path: str) -> dict: + def _yaml(y): + if not subpath: + return y + name = subpath.pop(0) + if name not in y and name.endswith('{{ identifier }}'): + name = name[:-16] + return _yaml(y[name]) + if self.main_namespace: + subpath = path.split('.')[1:] + else: + subpath = path.split('.') + return _yaml(self.original_yaml) + + +RougailOutput = RougailOutputFormatter + + +__all__ = ("RougailOutputFormatter",) diff --git a/src/rougail/output_formatter/config.py b/src/rougail/output_formatter/config.py new file mode 100644 index 0000000..0178880 --- /dev/null +++ b/src/rougail/output_formatter/config.py @@ -0,0 +1,51 @@ +""" +Silique (https://www.silique.fr) +Copyright (C) 2024 + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by the +Free Software Foundation, either version 3 of the License, or (at your +option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +details. + +You should have received a copy of the GNU Lesser General Public License +along with this program. If not, see . +""" + +from pathlib import Path + + +def get_rougail_config( + *, + backward_compatibility=True, +) -> dict: + options = """ +load_unexist_redefine: + redefine: true + type: boolean + default: + jinja: >- + {% if step.output == 'formatter' %} + true + {% else %} + false + {% endif %} + hidden: + jinja: >- + {% if step.output == 'formatter' %} + load_unexist_redefine is always true with 'formatter' output + {% endif %} +""" + return { + "name": "formatter", + "process": "output", + "options": options, + "level": 90, + } + + +__all__ = ("get_rougail_config",) diff --git a/src/rougail/output_formatter/upgrade.py b/src/rougail/output_formatter/upgrade.py new file mode 100644 index 0000000..530ee6e --- /dev/null +++ b/src/rougail/output_formatter/upgrade.py @@ -0,0 +1,111 @@ +"""Update Rougail structure file to new version + +Cadoles (http://www.cadoles.com) +Copyright (C) 2021 + +Silique (https://www.silique.fr) +Copyright (C) 2022-2024 + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by the +Free Software Foundation, either version 3 of the License, or (at your +option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +details. + +You should have received a copy of the GNU Lesser General Public License +along with this program. If not, see . +""" + +from ruamel.yaml import YAML, CommentedMap + +from rougail import RougailConfig + + +VERSIONS = ["1.0", "1.1"] + + +def get_function_name(version): + version = version.replace(".", "_") + return f"update_{version}" + + +FUNCTION_VERSIONS = [(version, get_function_name(version)) for version in VERSIONS] + + +class RougailUpgrade: + def __init__( + self, + rougailconfig: RougailConfig = None, + ) -> None: + self.rougailconfig = rougailconfig + + def run( + self, + file, + ): + with file.open() as file_fh: + root = YAML().load(file_fh) + search_function_name = get_function_name(str(root["version"])) + function_found = False + for version, function_version in FUNCTION_VERSIONS: + if function_found and hasattr(self, function_version): + root = getattr(self, function_version)(root) + if function_version == search_function_name: + function_found = True + if '_version' in root: + root["_version"] = float(version) + elif 'version' in root: + root["version"] = float(version) + return root + + def update_1_1( + self, + root, + ): + new_root = CommentedMap() + for key, value in root.items(): + if not isinstance(value, dict): + if key == 'variable' and "{{ suffix }}" in value: + value = value.replace("{{ suffix }}", "{{ identifier }}") + new_root[key] = value + continue + # migrate dynamic family + if ( + ("variable" in value and isinstance(value["variable"], str)) + or ("_variable" in value and isinstance(value["_variable"], str)) + ) and ( + ("_type" in value and value["_type"] == "dynamic") + or ("type" in value and value["type"] == "dynamic") + ): + value["dynamic"] = { + "type": "variable", + "variable": value.pop("variable"), + "propertyerror": False, + } + if "{{ suffix }}" in key: + key = key.replace("{{ suffix }}", "{{ identifier }}") + elif "{{ identifier }}" not in key: + key = key + "{{ identifier }}" + value = self.update_1_1(value) + new_root[key] = value + for typ, obj in { + "boolean": bool, + "number": int, + "string": str, + "float": float, + }.items(): + if value.get("type") == typ: + default = value.get("default") + if default is None or default == []: + continue + if isinstance(default, obj): + del value["type"] + elif isinstance(default, list) and isinstance(default[0], obj): + del value["type"] + if value.get("multi") and isinstance(value.get("default"), list): + del value["multi"] + return new_root diff --git a/tests/results/00_0version_underscore/rougail/00-base.yml b/tests/results/00_0version_underscore/rougail/00-base.yml new file mode 100644 index 0000000..f7d5594 --- /dev/null +++ b/tests/results/00_0version_underscore/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +_version: 1.1 + +version: # a variable diff --git a/tests/results/00_1empty_variable/rougail/00-base.yml b/tests/results/00_1empty_variable/rougail/00-base.yml new file mode 100644 index 0000000..7c4a5cf --- /dev/null +++ b/tests/results/00_1empty_variable/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +empty: diff --git a/tests/results/00_2default_calculated/rougail/00-base.yml b/tests/results/00_2default_calculated/rougail/00-base.yml new file mode 100644 index 0000000..629cc39 --- /dev/null +++ b/tests/results/00_2default_calculated/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +var1: no # a first variable + +var2: + description: a second variable + multi: true + default: + jinja: |- + {{ _.var1 }} + description: the value of var1 diff --git a/tests/results/00_2default_calculated_multi/rougail/00-base.yml b/tests/results/00_2default_calculated_multi/rougail/00-base.yml new file mode 100644 index 0000000..c490f04 --- /dev/null +++ b/tests/results/00_2default_calculated_multi/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +var1: # a first variable + - no + - yes + - maybe + +var2: + description: a second variable + multi: true + default: + jinja: |- + {% for val in _.var1 %} + {{ val }} + {% endfor %} + description: the value of _.var1 diff --git a/tests/results/00_2default_calculated_variable_transitive/rougail/00-base.yml b/tests/results/00_2default_calculated_variable_transitive/rougail/00-base.yml new file mode 100644 index 0000000..65234a1 --- /dev/null +++ b/tests/results/00_2default_calculated_variable_transitive/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: + description: a first variable + type: domainname + params: + allow_ip: true + multi: true + +var2: + description: a second variable + default: + variable: _.var1 diff --git a/tests/results/00_4load_subfolder/rougail/99-base.yml b/tests/results/00_4load_subfolder/rougail/99-base.yml new file mode 100644 index 0000000..c74b712 --- /dev/null +++ b/tests/results/00_4load_subfolder/rougail/99-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +var1: # a variable diff --git a/tests/results/00_4load_subfolder/rougail2/00-base.yml b/tests/results/00_4load_subfolder/rougail2/00-base.yml new file mode 100644 index 0000000..4a603f3 --- /dev/null +++ b/tests/results/00_4load_subfolder/rougail2/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +var2: # a variable diff --git a/tests/results/00_5load_notype/rougail/00-base.yml b/tests/results/00_5load_notype/rougail/00-base.yml new file mode 100644 index 0000000..59f0f43 --- /dev/null +++ b/tests/results/00_5load_notype/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +without_type: non # a variable diff --git a/tests/results/00_6boolean/rougail/00-base.yml b/tests/results/00_6boolean/rougail/00-base.yml new file mode 100644 index 0000000..8ebc395 --- /dev/null +++ b/tests/results/00_6boolean/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: true # the first variable + +var2: true # the second variable + +var3: true # the third variable + +var4: false # the forth variable + +var5: false # the fifth variable + +var6: false # the sixth variable diff --git a/tests/results/00_6boolean_no_mandatory/rougail/00-base.yml b/tests/results/00_6boolean_no_mandatory/rougail/00-base.yml new file mode 100644 index 0000000..7c798f0 --- /dev/null +++ b/tests/results/00_6boolean_no_mandatory/rougail/00-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +variable: + description: a variable + mandatory: false + default: true diff --git a/tests/results/00_6choice/rougail/00-base.yml b/tests/results/00_6choice/rougail/00-base.yml new file mode 100644 index 0000000..ae8e18b --- /dev/null +++ b/tests/results/00_6choice/rougail/00-base.yml @@ -0,0 +1,48 @@ +--- +version: 1.1 + +var1: + description: the first variable + choices: + - a + - b + - c + +var2: + description: the second variable + choices: + - a + - b + - c + +var3: + description: the third variable + choices: + - a + - b + - c + mandatory: false + +var4: + description: the forth variable + choices: + - + - b + - c + mandatory: false + +var5: + description: the fifth variable + choices: + - a + - b + - c + default: a + +var6: + description: the sixth variable + choices: + - 1 + - 2 + - 3 + default: 1 diff --git a/tests/results/00_6choice_calculation/rougail/00-base.yml b/tests/results/00_6choice_calculation/rougail/00-base.yml new file mode 100644 index 0000000..758070f --- /dev/null +++ b/tests/results/00_6choice_calculation/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: + description: a variable + choices: + jinja: |- + {% for n in trange(0, 10) %} + {{ n }} + {% endfor %} + return_type: number + description: choices is 0 to 9 + default: 9 diff --git a/tests/results/00_6choice_variable/rougail/00-base.yml b/tests/results/00_6choice_variable/rougail/00-base.yml new file mode 100644 index 0000000..ae7ac15 --- /dev/null +++ b/tests/results/00_6choice_variable/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var1: # a second variable + - a + - b + - c + +var2: + description: a first variable + choices: + variable: _.var1 + default: a diff --git a/tests/results/00_6custom/rougail/00-base.yml b/tests/results/00_6custom/rougail/00-base.yml new file mode 100644 index 0000000..768a414 --- /dev/null +++ b/tests/results/00_6custom/rougail/00-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +custom1: + description: the first variable + type: custom + +custom2: + description: the seconf variable + type: custom + default: value diff --git a/tests/results/00_6domainname/rougail/00-base.yml b/tests/results/00_6domainname/rougail/00-base.yml new file mode 100644 index 0000000..5b7c674 --- /dev/null +++ b/tests/results/00_6domainname/rougail/00-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +variable: + description: a domain name variable + type: domainname + default: my.domain.name diff --git a/tests/results/00_6domainname_params/rougail/00-base.yml b/tests/results/00_6domainname_params/rougail/00-base.yml new file mode 100644 index 0000000..265ebf6 --- /dev/null +++ b/tests/results/00_6domainname_params/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +variable: + description: a domain name variable + type: domainname + params: + allow_ip: true + default: my.domain.name diff --git a/tests/results/00_6float/rougail/00-base.yml b/tests/results/00_6float/rougail/00-base.yml new file mode 100644 index 0000000..cf8562e --- /dev/null +++ b/tests/results/00_6float/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: 0.0 # the first variable + +var2: 0.0 # the second variable + +var3: 0.0 # the third variable + +var4: 10.1 # the forth variable + +var5: 10.1 # the fifth variable + +var6: 10.1 # the sixth variable diff --git a/tests/results/00_6number/rougail/00-base.yml b/tests/results/00_6number/rougail/00-base.yml new file mode 100644 index 0000000..f6d3bfa --- /dev/null +++ b/tests/results/00_6number/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: 0 # the first variable + +var2: 0 # the second variable + +var3: 0 # the third variable + +var4: 10 # this forth variable + +var5: 10 # the fifth variable + +var6: 10 # the sixth variable diff --git a/tests/results/00_6port/rougail/00-base.yml b/tests/results/00_6port/rougail/00-base.yml new file mode 100644 index 0000000..a0d7ad7 --- /dev/null +++ b/tests/results/00_6port/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +variable1: + description: a port variable + type: port + +variable2: + description: a port variable with default value + type: port + default: 8080 + +variable3: + description: a port variable with integer default value + type: port + default: 8080 diff --git a/tests/results/00_6regexp/rougail/00-base.yml b/tests/results/00_6regexp/rougail/00-base.yml new file mode 100644 index 0000000..97175a0 --- /dev/null +++ b/tests/results/00_6regexp/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +var: + description: a first variable + test: + - '#b1b1b1' + - '#b2b2b2' + regexp: ^#(?:[0-9a-f]{3}){1,2}$ + default: '#a1a1a1' diff --git a/tests/results/00_6string/rougail/00-base.yml b/tests/results/00_6string/rougail/00-base.yml new file mode 100644 index 0000000..e26e447 --- /dev/null +++ b/tests/results/00_6string/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: # the first variable + +var2: # the second variable + +var3: # the third variable + +var4: value # the forth variable + +var5: value # the fifth variable + +var6: value # the sixth variable diff --git a/tests/results/00_7choice_quote/rougail/00-base.yml b/tests/results/00_7choice_quote/rougail/00-base.yml new file mode 100644 index 0000000..651d61c --- /dev/null +++ b/tests/results/00_7choice_quote/rougail/00-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +var: + description: A choice + type: choice + choices: + - quote' + - quote" + - quote"' + default: quote' diff --git a/tests/results/00_7help_quote/rougail/00-base.yml b/tests/results/00_7help_quote/rougail/00-base.yml new file mode 100644 index 0000000..f985145 --- /dev/null +++ b/tests/results/00_7help_quote/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +var1: + description: the first variable + help: message with ' + +var2: + description: the second variable + help: message with " diff --git a/tests/results/00_7value_doublequote/rougail/00-base.yml b/tests/results/00_7value_doublequote/rougail/00-base.yml new file mode 100644 index 0000000..97c9740 --- /dev/null +++ b/tests/results/00_7value_doublequote/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: quote" # a variable diff --git a/tests/results/00_7value_doublequote2/rougail/00-base.yml b/tests/results/00_7value_doublequote2/rougail/00-base.yml new file mode 100644 index 0000000..4a3edc4 --- /dev/null +++ b/tests/results/00_7value_doublequote2/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: quote'" # a variable diff --git a/tests/results/00_7value_doublequote3/rougail/00-base.yml b/tests/results/00_7value_doublequote3/rougail/00-base.yml new file mode 100644 index 0000000..1e5cbb9 --- /dev/null +++ b/tests/results/00_7value_doublequote3/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: quote\"\' # a variable diff --git a/tests/results/00_7value_quote/rougail/00-base.yml b/tests/results/00_7value_quote/rougail/00-base.yml new file mode 100644 index 0000000..94acfe0 --- /dev/null +++ b/tests/results/00_7value_quote/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: quote' # a variable diff --git a/tests/results/00_8calculation_information/rougail/00-base.yml b/tests/results/00_8calculation_information/rougail/00-base.yml new file mode 100644 index 0000000..225d67f --- /dev/null +++ b/tests/results/00_8calculation_information/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + jinja: >- + {{test_information }} + description: get information test_information + params: + test_information: + information: test_information diff --git a/tests/results/00_8test/rougail/00-base.yml b/tests/results/00_8test/rougail/00-base.yml new file mode 100644 index 0000000..8fae93d --- /dev/null +++ b/tests/results/00_8test/rougail/00-base.yml @@ -0,0 +1,40 @@ +--- +version: 1.1 + +var1: + description: the first variable + test: + - test + +var2: + description: the second variable + test: + - test + default: value + +var3: + description: the third variable + test: + - test1 + - test2 + +var4: + description: the forth variable + test: + - + - test1 + - test2 + mandatory: false + +var5: + description: the fifth variable + test: + - false + default: true + +var6: + description: the sixth variable + test: + - test1 + - test2 + multi: true diff --git a/tests/results/00_9choice_variable_multi/rougail/00-base.yml b/tests/results/00_9choice_variable_multi/rougail/00-base.yml new file mode 100644 index 0000000..d2cc9dd --- /dev/null +++ b/tests/results/00_9choice_variable_multi/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +variable1: + description: a first variable + choices: + - val1 + - val2 + multi: true + +variable2: + description: a second variable + choices: + - val1 + - val2 + multi: true + mandatory: false diff --git a/tests/results/00_9choice_variables/rougail/00-base.yml b/tests/results/00_9choice_variables/rougail/00-base.yml new file mode 100644 index 0000000..ac905ac --- /dev/null +++ b/tests/results/00_9choice_variables/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +source_variable_1: val1 # the first source variable + +source_variable_2: val2 # the second source variable + +my_variable: + description: a variable + type: choice + choices: + - variable: _.source_variable_1 + - variable: _.source_variable_2 + default: val1 diff --git a/tests/results/00_9default_calculation/rougail/00-base.yml b/tests/results/00_9default_calculation/rougail/00-base.yml new file mode 100644 index 0000000..9766fc0 --- /dev/null +++ b/tests/results/00_9default_calculation/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + jinja: >- + {{ param1 }}_{{ param2 }}_{{ param3 }}_{{ param4 }} + description: concat all parameters + params: + param1: string + param2: 1 + param3: true + param4: diff --git a/tests/results/00_9default_calculation_information/rougail/00-base.yml b/tests/results/00_9default_calculation_information/rougail/00-base.yml new file mode 100644 index 0000000..2adfcaa --- /dev/null +++ b/tests/results/00_9default_calculation_information/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: + description: a variable + default: + jinja: >- + {{ information }} + description: returns the information + params: + information: + information: test_information + variable: _.var diff --git a/tests/results/00_9default_calculation_information_other_variable/rougail/00-base.yml b/tests/results/00_9default_calculation_information_other_variable/rougail/00-base.yml new file mode 100644 index 0000000..e4d3bbc --- /dev/null +++ b/tests/results/00_9default_calculation_information_other_variable/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: # a first variable + +var2: + description: a second variable + default: + jinja: >- + {{ information }} + params: + information: + information: test_information + variable: _.var1 diff --git a/tests/results/00_9default_calculation_multi_optional/rougail/00-base.yml b/tests/results/00_9default_calculation_multi_optional/rougail/00-base.yml new file mode 100644 index 0000000..b02f898 --- /dev/null +++ b/tests/results/00_9default_calculation_multi_optional/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +my_variable: val1 + +my_calculated_variable: + - variable: _.my_variable + optional: true + - variable: _.my_variable_unexists + optional: true diff --git a/tests/results/00_9default_calculation_multi_optional2/rougail/00-base.yml b/tests/results/00_9default_calculation_multi_optional2/rougail/00-base.yml new file mode 100644 index 0000000..872b5da --- /dev/null +++ b/tests/results/00_9default_calculation_multi_optional2/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +my_variable: val1 + +my_calculated_variable: + - variable: _.my_variable_unexists + optional: true + - variable: _.my_variable + optional: true diff --git a/tests/results/00_9default_calculation_optional/rougail/00-base.yml b/tests/results/00_9default_calculation_optional/rougail/00-base.yml new file mode 100644 index 0000000..1089f32 --- /dev/null +++ b/tests/results/00_9default_calculation_optional/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +my_calculated_variable: + multi: true + default: + variable: _.my_variable + optional: true diff --git a/tests/results/00_9default_calculation_optional_exists/rougail/00-base.yml b/tests/results/00_9default_calculation_optional_exists/rougail/00-base.yml new file mode 100644 index 0000000..d89fb51 --- /dev/null +++ b/tests/results/00_9default_calculation_optional_exists/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +my_variable: + - val1 + - val2 + +my_calculated_variable: + multi: true + default: + variable: _.my_variable + optional: true diff --git a/tests/results/00_9default_calculation_param_optional/rougail/00-base.yml b/tests/results/00_9default_calculation_param_optional/rougail/00-base.yml new file mode 100644 index 0000000..a875c6c --- /dev/null +++ b/tests/results/00_9default_calculation_param_optional/rougail/00-base.yml @@ -0,0 +1,23 @@ +--- +version: 1.1 + +var1: + description: a first variable + default: + jinja: >- + {% if var2 is defined %} {{ var2 }} {% elif var3 is defined %} {{ var3 }} {% + elif var4 is defined %} {{ var4 }} {% else %} {{ _.var2 }} {% endif %} + description: returns a value + params: + var2: + variable: _.var2 + optional: true + var3: + variable: _.var3 + optional: true + var4: + variable: _.unknown_family.var + optional: true + mandatory: false + +var2: no # a second variable diff --git a/tests/results/00_9default_information_other_variable/rougail/00-base.yml b/tests/results/00_9default_information_other_variable/rougail/00-base.yml new file mode 100644 index 0000000..1b62a57 --- /dev/null +++ b/tests/results/00_9default_information_other_variable/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +var1: # a first variable + +var2: + description: a second variable + default: + information: test_information + variable: _.var1 diff --git a/tests/results/00_9default_information_other_variable2/rougail/00-base.yml b/tests/results/00_9default_information_other_variable2/rougail/00-base.yml new file mode 100644 index 0000000..1b62a57 --- /dev/null +++ b/tests/results/00_9default_information_other_variable2/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +var1: # a first variable + +var2: + description: a second variable + default: + information: test_information + variable: _.var1 diff --git a/tests/results/00_9default_integer/rougail/00-base.yml b/tests/results/00_9default_integer/rougail/00-base.yml new file mode 100644 index 0000000..f602044 --- /dev/null +++ b/tests/results/00_9default_integer/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: + description: a variable + choices: + jinja: |- + {% for item in trange(0, 10) %} + {{ item }} + {%- endfor %} + return_type: number + description: choice for 0 to 9 + default: 9 diff --git a/tests/results/00_9extra/extra/00-base.yml b/tests/results/00_9extra/extra/00-base.yml new file mode 100644 index 0000000..310df13 --- /dev/null +++ b/tests/results/00_9extra/extra/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + jinja: >- + no + description: return no diff --git a/tests/results/00_9extra/rougail/00-base.yml b/tests/results/00_9extra/rougail/00-base.yml new file mode 100644 index 0000000..ad22b62 --- /dev/null +++ b/tests/results/00_9extra/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: rougail # a variable diff --git a/tests/results/00_9extra_calculation/extra/00-base.yml b/tests/results/00_9extra_calculation/extra/00-base.yml new file mode 100644 index 0000000..9e42b35 --- /dev/null +++ b/tests/results/00_9extra_calculation/extra/00-base.yml @@ -0,0 +1,24 @@ +--- +version: 1.1 + +variable1: + description: a first variable + default: + variable: rougail.variable + +variable2: + description: a second variable + default: + jinja: >- + {{ rougail.variable }} + description: copy the value of rougail.variable + +variable3: + description: a third variable + default: + jinja: >- + {{ variable }} + description: copy the value of rougail.variable + params: + variable: + variable: rougail.variable diff --git a/tests/results/00_9extra_calculation/rougail/00-base.yml b/tests/results/00_9extra_calculation/rougail/00-base.yml new file mode 100644 index 0000000..8a65454 --- /dev/null +++ b/tests/results/00_9extra_calculation/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: value # a variable diff --git a/tests/results/00_9extra_ouside/extra/00-base.yml b/tests/results/00_9extra_ouside/extra/00-base.yml new file mode 100644 index 0000000..c427895 --- /dev/null +++ b/tests/results/00_9extra_ouside/extra/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: value in extra # a variable diff --git a/tests/results/00_9extra_ouside/rougail/00-base.yml b/tests/results/00_9extra_ouside/rougail/00-base.yml new file mode 100644 index 0000000..01633f2 --- /dev/null +++ b/tests/results/00_9extra_ouside/rougail/00-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + variable: extra.variable diff --git a/tests/results/01_6boolean_multi/rougail/00-base.yml b/tests/results/01_6boolean_multi/rougail/00-base.yml new file mode 100644 index 0000000..029cab4 --- /dev/null +++ b/tests/results/01_6boolean_multi/rougail/00-base.yml @@ -0,0 +1,26 @@ +--- +version: 1.1 + +var1: # the first variable + - true + +var2: # the second variable + - true + +var3: # the third variable + - true + +var4: # the forth variable + - false + +var5: # the fifth variable + - false + +var6: # the sixth variable + - false + +var7: # the seventh variable + - true + +var8: # the eighth variable + - true diff --git a/tests/results/01_6custom_multi/rougail/00-base.yml b/tests/results/01_6custom_multi/rougail/00-base.yml new file mode 100644 index 0000000..2aaf882 --- /dev/null +++ b/tests/results/01_6custom_multi/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +custom1: + description: a first custom variable + type: custom + multi: true + +custom2: + description: a second custom variable + type: custom + default: + - value diff --git a/tests/results/01_6float_multi/rougail/00-base.yml b/tests/results/01_6float_multi/rougail/00-base.yml new file mode 100644 index 0000000..021c239 --- /dev/null +++ b/tests/results/01_6float_multi/rougail/00-base.yml @@ -0,0 +1,26 @@ +--- +version: 1.1 + +var1: # the first variable + - 0.0 + +var2: # the second variable + - 0.0 + +var3: # the third variable + - 0.0 + +var4: # the forth variable + - 10.1 + +var5: # the fifth variable + - 10.1 + +var6: # the sixth variable + - 10.1 + +var7: # the seventh variable + - 0.0 + +var8: # the eighth variable + - 0.0 diff --git a/tests/results/01_6number_multi/rougail/00-base.yml b/tests/results/01_6number_multi/rougail/00-base.yml new file mode 100644 index 0000000..7afe3f0 --- /dev/null +++ b/tests/results/01_6number_multi/rougail/00-base.yml @@ -0,0 +1,26 @@ +--- +version: 1.1 + +var1: # the first variable + - 0 + +var2: # the second variable + - 0 + +var3: # the third variable + - 0 + +var4: # the forth variable + - 10 + +var5: # the fifth variable + - 10 + +var6: # the sixth variable + - 10 + +var7: # the seventh variable + - 0 + +var8: # the eighth variable + - 0 diff --git a/tests/results/01_6string_empty/rougail/00-base.yml b/tests/results/01_6string_empty/rougail/00-base.yml new file mode 100644 index 0000000..4ef9b52 --- /dev/null +++ b/tests/results/01_6string_empty/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +var1: + description: the second variable + default: + - value + - + empty: false diff --git a/tests/results/01_6string_multi/rougail/00-base.yml b/tests/results/01_6string_multi/rougail/00-base.yml new file mode 100644 index 0000000..fcd5865 --- /dev/null +++ b/tests/results/01_6string_multi/rougail/00-base.yml @@ -0,0 +1,23 @@ +--- +version: 1.1 + +var1: [] # the first variable + +var2: [] # the second variable + +var3: [] # the third variable + +var4: # the forth variable + - value + +var5: # the fifth variable + - value + +var6: # the sixth variable + - value + +var7: # the seventh variable + - value + +var8: # the eighth variable + - value diff --git a/tests/results/01_7value_multi_doublequote/rougail/00-base.yml b/tests/results/01_7value_multi_doublequote/rougail/00-base.yml new file mode 100644 index 0000000..9139fc9 --- /dev/null +++ b/tests/results/01_7value_multi_doublequote/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +variable: # a variable + - quote" diff --git a/tests/results/01_7value_multi_doublequote2/rougail/00-base.yml b/tests/results/01_7value_multi_doublequote2/rougail/00-base.yml new file mode 100644 index 0000000..eb91b94 --- /dev/null +++ b/tests/results/01_7value_multi_doublequote2/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +variable: # a variable + - quote'" diff --git a/tests/results/01_7value_multi_quote/rougail/00-base.yml b/tests/results/01_7value_multi_quote/rougail/00-base.yml new file mode 100644 index 0000000..eef8035 --- /dev/null +++ b/tests/results/01_7value_multi_quote/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +variable: # a variable + - quote' diff --git a/tests/results/01_8calculation_information_multi/rougail/00-base.yml b/tests/results/01_8calculation_information_multi/rougail/00-base.yml new file mode 100644 index 0000000..7087547 --- /dev/null +++ b/tests/results/01_8calculation_information_multi/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +variable: + description: a variable + multi: true + default: + jinja: |- + {% for info in test_information %} + {{ info }} + {% endfor %} + description: get information test_information + params: + test_information: + information: test_information_list diff --git a/tests/results/01_9choice_variable_multi/rougail/00-base.yml b/tests/results/01_9choice_variable_multi/rougail/00-base.yml new file mode 100644 index 0000000..442e709 --- /dev/null +++ b/tests/results/01_9choice_variable_multi/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +variable1: # a first variable + - a + - b + - c + +variable2: + description: a second variable + choices: + variable: _.variable1 diff --git a/tests/results/04_0type_param/rougail/00-base.yml b/tests/results/04_0type_param/rougail/00-base.yml new file mode 100644 index 0000000..3bbd4ff --- /dev/null +++ b/tests/results/04_0type_param/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +int: + description: A limited number + params: + min_number: 0 + max_number: 100 + default: 10 diff --git a/tests/results/04_1auto_save/rougail/00-base.yml b/tests/results/04_1auto_save/rougail/00-base.yml new file mode 100644 index 0000000..206db87 --- /dev/null +++ b/tests/results/04_1auto_save/rougail/00-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +variable: + description: an auto save variable + default: no + auto_save: true diff --git a/tests/results/04_1auto_save_and_calculated/rougail/00-base.yml b/tests/results/04_1auto_save_and_calculated/rougail/00-base.yml new file mode 100644 index 0000000..80472de --- /dev/null +++ b/tests/results/04_1auto_save_and_calculated/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +var1: no # a first variable + +var2: + description: a second variable + default: + variable: _.var1 + auto_save: true diff --git a/tests/results/04_1auto_save_and_calculated_hidden/rougail/00-base.yml b/tests/results/04_1auto_save_and_calculated_hidden/rougail/00-base.yml new file mode 100644 index 0000000..74d1709 --- /dev/null +++ b/tests/results/04_1auto_save_and_calculated_hidden/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +var1: no # a first variable + +var2: + description: a second variable + default: + jinja: >- + yes + description: the value is always yes + auto_save: true + hidden: + jinja: |- + {% if _.var1 == "yes" %} + _.var1 is yes + {% endif %} + description: only if the variable var1 has value "yes" diff --git a/tests/results/04_1auto_save_and_hidden/rougail/00-base.yml b/tests/results/04_1auto_save_and_hidden/rougail/00-base.yml new file mode 100644 index 0000000..d3f709b --- /dev/null +++ b/tests/results/04_1auto_save_and_hidden/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +var: + description: autosave variable + default: yes + auto_save: true + mandatory: false + hidden: true diff --git a/tests/results/04_1default_calculation_hidden/rougail/00-base.yml b/tests/results/04_1default_calculation_hidden/rougail/00-base.yml new file mode 100644 index 0000000..483988c --- /dev/null +++ b/tests/results/04_1default_calculation_hidden/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +var1: value # a first variable + +var2: + description: a second variable + disabled: + variable: _.var1 + when: value + +var3: + description: a third variable + default: + jinja: >- + {% if _.var1 == 'value' or _.var2 == 'blah' %} + value + {% endif %} diff --git a/tests/results/04_1default_calculation_hidden_2/rougail/00-base.yml b/tests/results/04_1default_calculation_hidden_2/rougail/00-base.yml new file mode 100644 index 0000000..3dfc658 --- /dev/null +++ b/tests/results/04_1default_calculation_hidden_2/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +var1: value # a first variable + +var2: + description: a second variable + disabled: + variable: _.var1 + when: value + +var3: + description: a third variable + default: + jinja: >- + {% if _.var2 is propertyerror %} + value + {% endif %} diff --git a/tests/results/04_5disabled_calculation/rougail/00-base.yml b/tests/results/04_5disabled_calculation/rougail/00-base.yml new file mode 100644 index 0000000..c7ae8b5 --- /dev/null +++ b/tests/results/04_5disabled_calculation/rougail/00-base.yml @@ -0,0 +1,22 @@ +--- +version: 1.1 + +condition: no # a conditional variable + +variable1: + description: a first variable + disabled: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is egal to "yes" + +variable2: + description: a second variable + disabled: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is egal to "yes" diff --git a/tests/results/04_5disabled_calculation_default/rougail/00-base.yml b/tests/results/04_5disabled_calculation_default/rougail/00-base.yml new file mode 100644 index 0000000..3d4f451 --- /dev/null +++ b/tests/results/04_5disabled_calculation_default/rougail/00-base.yml @@ -0,0 +1,30 @@ +--- +version: 1.1 + +condition: no # a condition + +var1: + description: a first variable + default: + jinja: >- + {{ _.condition }} + description: the value of condition + disabled: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes + +var2: + description: a second variable + default: + jinja: >- + {{ rougail.condition }} + description: the value of condition + disabled: + jinja: |- + {% if rougail.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes diff --git a/tests/results/04_5disabled_calculation_optional/rougail/00-base.yml b/tests/results/04_5disabled_calculation_optional/rougail/00-base.yml new file mode 100644 index 0000000..ea606d3 --- /dev/null +++ b/tests/results/04_5disabled_calculation_optional/rougail/00-base.yml @@ -0,0 +1,36 @@ +--- +version: 1.1 + +condition: no # a condition + +var1: + description: a first variable + mandatory: false + hidden: + jinja: |- + {% if unknown is not defined %} + unknown is undefined + {% elif unknown == "no" %} + unknown is no + {% endif %} + description: calculation from an unknown variable + params: + unknown: + variable: _.unknown + optional: true + +var2: + description: a second variable + mandatory: false + hidden: + jinja: |- + {% if condition is not defined %} + condition is undefined + {% elif condition == "no" %} + condition is no + {% endif %} + description: calculation from an condition variable + params: + condition: + variable: _.condition + optional: true diff --git a/tests/results/04_5disabled_calculation_variable/rougail/00-base.yml b/tests/results/04_5disabled_calculation_variable/rougail/00-base.yml new file mode 100644 index 0000000..7db17e1 --- /dev/null +++ b/tests/results/04_5disabled_calculation_variable/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +condition: false # a condition + +variable: + description: a variable + disabled: + variable: _.condition diff --git a/tests/results/04_5disabled_calculation_variable2/rougail/00-base.yml b/tests/results/04_5disabled_calculation_variable2/rougail/00-base.yml new file mode 100644 index 0000000..9f7e7f4 --- /dev/null +++ b/tests/results/04_5disabled_calculation_variable2/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +condition: true # a condition + +variable: + description: a variable + disabled: + variable: _.condition diff --git a/tests/results/04_5disabled_calculation_variable3/rougail/00-base.yml b/tests/results/04_5disabled_calculation_variable3/rougail/00-base.yml new file mode 100644 index 0000000..364ad5d --- /dev/null +++ b/tests/results/04_5disabled_calculation_variable3/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +condition: yes # a condition + +variable: + description: a variable + disabled: + variable: _.condition + when: yes diff --git a/tests/results/04_5disabled_calculation_variable4/rougail/00-base.yml b/tests/results/04_5disabled_calculation_variable4/rougail/00-base.yml new file mode 100644 index 0000000..b44b54e --- /dev/null +++ b/tests/results/04_5disabled_calculation_variable4/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +condition: yes # a condition + +variable: + description: a variable + disabled: + variable: _.condition + when_not: yes diff --git a/tests/results/04_5hidden_calculation/rougail/00-base.yml b/tests/results/04_5hidden_calculation/rougail/00-base.yml new file mode 100644 index 0000000..c0918d3 --- /dev/null +++ b/tests/results/04_5hidden_calculation/rougail/00-base.yml @@ -0,0 +1,24 @@ +--- +version: 1.1 + +condition: no # the condition + +var1: + description: a first variable + default: no + hidden: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes + +var2: + description: a second variable + default: no + hidden: + jinja: |- + {% if rougail.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes diff --git a/tests/results/04_5hidden_calculation2/rougail/00-base.yml b/tests/results/04_5hidden_calculation2/rougail/00-base.yml new file mode 100644 index 0000000..33ba95b --- /dev/null +++ b/tests/results/04_5hidden_calculation2/rougail/00-base.yml @@ -0,0 +1,30 @@ +--- +version: 1.1 + +condition: no # a condition + +var1: + description: a first variable + default: + jinja: >- + {{ _.condition }} + description: the value of condition + hidden: + jinja: |- + {% if _.condition != "yes" %} + condition is yes + {% endif %} + description: if condition is yes + +var2: + description: a second variable + default: + jinja: >- + {{ rougail.condition }} + description: the value of condition + hidden: + jinja: |- + {% if rougail.condition != "yes" %} + condition is yes + {% endif %} + description: if condition is yes diff --git a/tests/results/04_5hidden_calculation_default_calculation/rougail/00-base.yml b/tests/results/04_5hidden_calculation_default_calculation/rougail/00-base.yml new file mode 100644 index 0000000..4eefd58 --- /dev/null +++ b/tests/results/04_5hidden_calculation_default_calculation/rougail/00-base.yml @@ -0,0 +1,30 @@ +--- +version: 1.1 + +condition: no # a condition + +var1: + description: a first variable + default: + jinja: >- + {{ _.condition }} + description: returns the condition value + hidden: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes + +var2: + description: a second variable + default: + jinja: >- + {{ rougail.condition }} + description: returns the condition value + hidden: + jinja: |- + {% if rougail.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes diff --git a/tests/results/04_5validators/rougail/00-base.yml b/tests/results/04_5validators/rougail/00-base.yml new file mode 100644 index 0000000..dd9b34b --- /dev/null +++ b/tests/results/04_5validators/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +int: + description: A number + type: number + validators: + - jinja: |- + {% if _.int > 100 %} + value is too high + {% endif %} + description: the max value is 100 diff --git a/tests/results/04_5validators_differ/rougail/00-base.yml b/tests/results/04_5validators_differ/rougail/00-base.yml new file mode 100644 index 0000000..0b03ee3 --- /dev/null +++ b/tests/results/04_5validators_differ/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +var1: + description: a first variable + test: + - another_value + validators: + - jinja: |- + {% if _.var1 == _.var2 %} + var1 must be different than var2 + {% endif %} + description: var1 must be different than var2 + default: oui + +var2: no # A second variable diff --git a/tests/results/04_5validators_multi/rougail/00-base.yml b/tests/results/04_5validators_multi/rougail/00-base.yml new file mode 100644 index 0000000..6ef2339 --- /dev/null +++ b/tests/results/04_5validators_multi/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: + description: a second variable + validators: + - jinja: |- + {% if _.var1 | length > 9 %} + length must be less than 10 + {% endif %} + description: check length is less than 10 + default: + - no + - yes diff --git a/tests/results/04_5validators_multi2/rougail/00-base.yml b/tests/results/04_5validators_multi2/rougail/00-base.yml new file mode 100644 index 0000000..8225a78 --- /dev/null +++ b/tests/results/04_5validators_multi2/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +var1: + description: a second variable + test: + - val1 + - val2 + validators: + - jinja: |- + {% if values | length > 2 %} + length must be less than 3 + {% endif %} + description: check length is less than 3 + params: + values: + variable: _.var1 + whole: true + default: + - no + - yes diff --git a/tests/results/05_0multi_not_uniq/rougail/00-base.yml b/tests/results/05_0multi_not_uniq/rougail/00-base.yml new file mode 100644 index 0000000..a2f9761 --- /dev/null +++ b/tests/results/05_0multi_not_uniq/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +var1: + description: a variable + default: + - non + unique: false diff --git a/tests/results/05_0multi_uniq/rougail/00-base.yml b/tests/results/05_0multi_uniq/rougail/00-base.yml new file mode 100644 index 0000000..5254e3d --- /dev/null +++ b/tests/results/05_0multi_uniq/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + - non + unique: true diff --git a/tests/results/12_1auto_save_expert/rougail/00-base.yml b/tests/results/12_1auto_save_expert/rougail/00-base.yml new file mode 100644 index 0000000..7e72c46 --- /dev/null +++ b/tests/results/12_1auto_save_expert/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +var: + description: a variable + mode: advanced + default: no + auto_save: true diff --git a/tests/results/16_0redefine_description/rougail/00-base.yml b/tests/results/16_0redefine_description/rougail/00-base.yml new file mode 100644 index 0000000..77c437c --- /dev/null +++ b/tests/results/16_0redefine_description/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +var: # Redefine description diff --git a/tests/results/16_0redefine_description/rougail/01-redefine.yml b/tests/results/16_0redefine_description/rougail/01-redefine.yml new file mode 100644 index 0000000..6c05529 --- /dev/null +++ b/tests/results/16_0redefine_description/rougail/01-redefine.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +var: + redefine: true + description: Redefined diff --git a/tests/results/16_2family_redefine_calculation/rougail/00-base.yml b/tests/results/16_2family_redefine_calculation/rougail/00-base.yml new file mode 100644 index 0000000..6c75df6 --- /dev/null +++ b/tests/results/16_2family_redefine_calculation/rougail/00-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: + + var1: diff --git a/tests/results/16_2family_redefine_calculation/rougail/01-base.yml b/tests/results/16_2family_redefine_calculation/rougail/01-base.yml new file mode 100644 index 0000000..bf8ab55 --- /dev/null +++ b/tests/results/16_2family_redefine_calculation/rougail/01-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +family: + redefine: true + disabled: + jinja: |- + true diff --git a/tests/results/16_2family_redefine_disabled/rougail/00-base.yml b/tests/results/16_2family_redefine_disabled/rougail/00-base.yml new file mode 100644 index 0000000..6c75df6 --- /dev/null +++ b/tests/results/16_2family_redefine_disabled/rougail/00-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: + + var1: diff --git a/tests/results/16_2family_redefine_disabled/rougail/01-base.yml b/tests/results/16_2family_redefine_disabled/rougail/01-base.yml new file mode 100644 index 0000000..996f45a --- /dev/null +++ b/tests/results/16_2family_redefine_disabled/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: + redefine: true + disabled: true diff --git a/tests/results/16_5exists_nonexists/rougail/00-base.yml b/tests/results/16_5exists_nonexists/rougail/00-base.yml new file mode 100644 index 0000000..96109d3 --- /dev/null +++ b/tests/results/16_5exists_nonexists/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +var1: no # a variable diff --git a/tests/results/16_5exists_nonexists/rougail/01-base.yml b/tests/results/16_5exists_nonexists/rougail/01-base.yml new file mode 100644 index 0000000..fb8890e --- /dev/null +++ b/tests/results/16_5exists_nonexists/rougail/01-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +var2: + exists: false + description: a new variable + default: yes diff --git a/tests/results/16_5exists_redefine/rougail/00-base.yml b/tests/results/16_5exists_redefine/rougail/00-base.yml new file mode 100644 index 0000000..75bdbc6 --- /dev/null +++ b/tests/results/16_5exists_redefine/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +var1: + description: a first variable + default: no + mandatory: false + hidden: true diff --git a/tests/results/16_5exists_redefine/rougail/01-base.yml b/tests/results/16_5exists_redefine/rougail/01-base.yml new file mode 100644 index 0000000..30e1480 --- /dev/null +++ b/tests/results/16_5exists_redefine/rougail/01-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var1: + redefine: true + exists: true + default: yes + +var2: + redefine: true + exists: true + description: a second variable + default: yes diff --git a/tests/results/16_5redefine_calculation/rougail/00-base.yml b/tests/results/16_5redefine_calculation/rougail/00-base.yml new file mode 100644 index 0000000..47b0111 --- /dev/null +++ b/tests/results/16_5redefine_calculation/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + jinja: >- + no + description: returns no diff --git a/tests/results/16_5redefine_calculation/rougail/01-base.yml b/tests/results/16_5redefine_calculation/rougail/01-base.yml new file mode 100644 index 0000000..5479cc6 --- /dev/null +++ b/tests/results/16_5redefine_calculation/rougail/01-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +variable: + redefine: true + default: + jinja: >- + yes + description: returns yes diff --git a/tests/results/16_5redefine_choice/rougail/00-base.yml b/tests/results/16_5redefine_choice/rougail/00-base.yml new file mode 100644 index 0000000..0596299 --- /dev/null +++ b/tests/results/16_5redefine_choice/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +variable: + description: a variable + choices: + - a + - b + - c diff --git a/tests/results/16_5redefine_choice/rougail/01-redefine.yml b/tests/results/16_5redefine_choice/rougail/01-redefine.yml new file mode 100644 index 0000000..aab8b1b --- /dev/null +++ b/tests/results/16_5redefine_choice/rougail/01-redefine.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +variable: + redefine: true + choices: + - a + - b diff --git a/tests/results/16_5redefine_default/rougail/00-base.yml b/tests/results/16_5redefine_default/rougail/00-base.yml new file mode 100644 index 0000000..07d5d85 --- /dev/null +++ b/tests/results/16_5redefine_default/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: no # a variable diff --git a/tests/results/16_5redefine_default/rougail/01-redefine.yml b/tests/results/16_5redefine_default/rougail/01-redefine.yml new file mode 100644 index 0000000..3ede28d --- /dev/null +++ b/tests/results/16_5redefine_default/rougail/01-redefine.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +variable: + redefine: true + default: yes diff --git a/tests/results/16_5redefine_default_calculation/rougail/00-base.yml b/tests/results/16_5redefine_default_calculation/rougail/00-base.yml new file mode 100644 index 0000000..9719521 --- /dev/null +++ b/tests/results/16_5redefine_default_calculation/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +variable: + description: a variable + default: + jinja: >- + yes diff --git a/tests/results/16_5redefine_default_calculation/rougail/01-base.yml b/tests/results/16_5redefine_default_calculation/rougail/01-base.yml new file mode 100644 index 0000000..22ae069 --- /dev/null +++ b/tests/results/16_5redefine_default_calculation/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +variable: + redefine: true + default: diff --git a/tests/results/16_5redefine_family/rougail/00-base.yml b/tests/results/16_5redefine_family/rougail/00-base.yml new file mode 100644 index 0000000..170c7f9 --- /dev/null +++ b/tests/results/16_5redefine_family/rougail/00-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: # a family + + variable: # a variable diff --git a/tests/results/16_5redefine_family/rougail/01-base.yml b/tests/results/16_5redefine_family/rougail/01-base.yml new file mode 100644 index 0000000..4fbfee0 --- /dev/null +++ b/tests/results/16_5redefine_family/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: + redefine: true + description: new description diff --git a/tests/results/16_5redefine_help/rougail/00-base.yml b/tests/results/16_5redefine_help/rougail/00-base.yml new file mode 100644 index 0000000..1c09d1b --- /dev/null +++ b/tests/results/16_5redefine_help/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +family: + description: a family + help: redefine help family + + variable: + description: redefine help + help: redefine help diff --git a/tests/results/16_5redefine_help/rougail/01-base.yml b/tests/results/16_5redefine_help/rougail/01-base.yml new file mode 100644 index 0000000..01819af --- /dev/null +++ b/tests/results/16_5redefine_help/rougail/01-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +family: + redefine: true + help: redefine help family ok + + variable: + redefine: true + help: redefine help ok diff --git a/tests/results/16_5redefine_hidden/rougail/00-base.yml b/tests/results/16_5redefine_hidden/rougail/00-base.yml new file mode 100644 index 0000000..07d5d85 --- /dev/null +++ b/tests/results/16_5redefine_hidden/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: no # a variable diff --git a/tests/results/16_5redefine_hidden/rougail/01-redefine.yml b/tests/results/16_5redefine_hidden/rougail/01-redefine.yml new file mode 100644 index 0000000..b174cd3 --- /dev/null +++ b/tests/results/16_5redefine_hidden/rougail/01-redefine.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +variable: + redefine: true + mandatory: false + hidden: true diff --git a/tests/results/16_5redefine_multi/rougail/00-base.yml b/tests/results/16_5redefine_multi/rougail/00-base.yml new file mode 100644 index 0000000..4d86184 --- /dev/null +++ b/tests/results/16_5redefine_multi/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +variable: non # a variable diff --git a/tests/results/16_5redefine_multi/rougail/01-redefine.yml b/tests/results/16_5redefine_multi/rougail/01-redefine.yml new file mode 100644 index 0000000..1d3ed5e --- /dev/null +++ b/tests/results/16_5redefine_multi/rougail/01-redefine.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +variable: + redefine: true + default: + - non diff --git a/tests/results/16_5redefine_remove_disable_calculation/rougail/00-base.yml b/tests/results/16_5redefine_remove_disable_calculation/rougail/00-base.yml new file mode 100644 index 0000000..15b08bd --- /dev/null +++ b/tests/results/16_5redefine_remove_disable_calculation/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +condition: no # a condition + +variable: + description: a variable + disabled: + jinja: |- + {% if _.condition == "yes" %} + true + {% else %} + false + {% endif %} diff --git a/tests/results/16_5redefine_remove_disable_calculation/rougail/01-base.yml b/tests/results/16_5redefine_remove_disable_calculation/rougail/01-base.yml new file mode 100644 index 0000000..3f9167c --- /dev/null +++ b/tests/results/16_5redefine_remove_disable_calculation/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +variable: + redefine: true + disabled: false diff --git a/tests/results/16_5test_redefine/rougail/00-base.yml b/tests/results/16_5test_redefine/rougail/00-base.yml new file mode 100644 index 0000000..8406166 --- /dev/null +++ b/tests/results/16_5test_redefine/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +var1: no # a first variable + +var2: + description: a second variable + test: + - test + default: non + +var3: + description: a third variable + test: + - test diff --git a/tests/results/16_5test_redefine/rougail/10-base.yml b/tests/results/16_5test_redefine/rougail/10-base.yml new file mode 100644 index 0000000..7bfe6f9 --- /dev/null +++ b/tests/results/16_5test_redefine/rougail/10-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +var1: + redefine: true + test: + - test1 + +var2: + redefine: true + test: + - test1 + +var3: + redefine: true + test: diff --git a/tests/results/16_6choice_redefine/rougail/00-base.yml b/tests/results/16_6choice_redefine/rougail/00-base.yml new file mode 100644 index 0000000..60750f3 --- /dev/null +++ b/tests/results/16_6choice_redefine/rougail/00-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +var: + description: A choice + type: choice + choices: + - a + - b + - c + default: c diff --git a/tests/results/16_6choice_redefine/rougail/01-base.yml b/tests/results/16_6choice_redefine/rougail/01-base.yml new file mode 100644 index 0000000..b01cc1f --- /dev/null +++ b/tests/results/16_6choice_redefine/rougail/01-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +var: + redefine: true + choices: + - a + - c diff --git a/tests/results/16_6exists_redefine_family/rougail/00-base.yml b/tests/results/16_6exists_redefine_family/rougail/00-base.yml new file mode 100644 index 0000000..473ed7d --- /dev/null +++ b/tests/results/16_6exists_redefine_family/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +family1: # a family + + variable1: # a variable + +family2: # a second family + + variable2: # a second variable diff --git a/tests/results/16_6exists_redefine_family/rougail/01-base.yml b/tests/results/16_6exists_redefine_family/rougail/01-base.yml new file mode 100644 index 0000000..c415f21 --- /dev/null +++ b/tests/results/16_6exists_redefine_family/rougail/01-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +family1: + redefine: true + exists: true + description: new description + +family2: + exists: false + description: new description + +family3: + redefine: true + exists: true + description: new description diff --git a/tests/results/16exists_exists/rougail/00-base.yml b/tests/results/16exists_exists/rougail/00-base.yml new file mode 100644 index 0000000..8b31cd7 --- /dev/null +++ b/tests/results/16exists_exists/rougail/00-base.yml @@ -0,0 +1,4 @@ +--- +version: 1.1 + +var: # Description diff --git a/tests/results/16exists_exists/rougail/01-base.yml b/tests/results/16exists_exists/rougail/01-base.yml new file mode 100644 index 0000000..73630d5 --- /dev/null +++ b/tests/results/16exists_exists/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +var: + exists: false + description: New description diff --git a/tests/results/17_5redefine_leadership/rougail/00-base.yml b/tests/results/17_5redefine_leadership/rougail/00-base.yml new file mode 100644 index 0000000..56e83aa --- /dev/null +++ b/tests/results/17_5redefine_leadership/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + mandatory: false + + follower: + description: a follower + mandatory: false diff --git a/tests/results/17_5redefine_leadership/rougail/01-base.yml b/tests/results/17_5redefine_leadership/rougail/01-base.yml new file mode 100644 index 0000000..88a6a11 --- /dev/null +++ b/tests/results/17_5redefine_leadership/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +leader: + redefine: true + hidden: true diff --git a/tests/results/20_0empty_family/rougail/00-base.yml b/tests/results/20_0empty_family/rougail/00-base.yml new file mode 100644 index 0000000..58bfa92 --- /dev/null +++ b/tests/results/20_0empty_family/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +my_family: + type: family diff --git a/tests/results/20_0family_append/rougail/00-base.yml b/tests/results/20_0family_append/rougail/00-base.yml new file mode 100644 index 0000000..dd90eb6 --- /dev/null +++ b/tests/results/20_0family_append/rougail/00-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: # A family + + var1: # The first variable diff --git a/tests/results/20_0family_append/rougail/01-base.yml b/tests/results/20_0family_append/rougail/01-base.yml new file mode 100644 index 0000000..5d4ac74 --- /dev/null +++ b/tests/results/20_0family_append/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: + + var2: # The second variable diff --git a/tests/results/20_0family_underscore/rougail/00-base.yml b/tests/results/20_0family_underscore/rougail/00-base.yml new file mode 100644 index 0000000..46f0751 --- /dev/null +++ b/tests/results/20_0family_underscore/rougail/00-base.yml @@ -0,0 +1,47 @@ +--- +version: 1.1 + +my_family: + _description: This is a great family + _help: This is a great family + _mode: standard + _hidden: true + _disabled: true + + type: # a type family + + my_variable: + mandatory: false + + description: # This is a other great family + + my_variable: + mandatory: false + + help: + description: a help family + help: This is a other great family + + my_variable: + mandatory: false + + mode: + description: a mode family + mode: advanced + + my_variable: + mandatory: false + + hidden: + description: an hidden family + hidden: true + + my_variable: + mandatory: false + + disabled: + description: an disabled family + disabled: true + + my_variable: + mandatory: false diff --git a/tests/results/20_0multi_family/rougail/00-base.yml b/tests/results/20_0multi_family/rougail/00-base.yml new file mode 100644 index 0000000..a826b6b --- /dev/null +++ b/tests/results/20_0multi_family/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +family: # a family + + subfamily: # a sub family + + variable: + description: a variable + mandatory: false diff --git a/tests/results/20_0multi_family_basic/rougail/00-base.yml b/tests/results/20_0multi_family_basic/rougail/00-base.yml new file mode 100644 index 0000000..d75bd86 --- /dev/null +++ b/tests/results/20_0multi_family_basic/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +family: # a family + + subfamily: # a sub family + + variable: # a variable diff --git a/tests/results/20_0multi_family_expert/rougail/00-base.yml b/tests/results/20_0multi_family_expert/rougail/00-base.yml new file mode 100644 index 0000000..1320c08 --- /dev/null +++ b/tests/results/20_0multi_family_expert/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +family: + description: a family + mode: advanced + + subfamily: # a sub family + + variable: + description: a variable + mandatory: false diff --git a/tests/results/20_0multi_family_order/rougail/00-base.yml b/tests/results/20_0multi_family_order/rougail/00-base.yml new file mode 100644 index 0000000..a1f3c92 --- /dev/null +++ b/tests/results/20_0multi_family_order/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +variable: # a variable + +family: # a family + + variable1: # a first variable + + subfamily: # a sub family + + variable: # a variable + + variable2: # a second variable diff --git a/tests/results/20_0validators_differ_redefine/rougail/00-base.yml b/tests/results/20_0validators_differ_redefine/rougail/00-base.yml new file mode 100644 index 0000000..eef705b --- /dev/null +++ b/tests/results/20_0validators_differ_redefine/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +var1: no # a first variable + +var2: no # a second variable + +var3: + description: a third variable + test: + - yes + validators: + - jinja: |- + {% if _.var3 == _.var1 %} + var3 must be different than var1 + {% endif %} + description: var3 must be different than var1 + default: yes diff --git a/tests/results/20_0validators_differ_redefine/rougail/01-base.yml b/tests/results/20_0validators_differ_redefine/rougail/01-base.yml new file mode 100644 index 0000000..45cd818 --- /dev/null +++ b/tests/results/20_0validators_differ_redefine/rougail/01-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +var3: + redefine: true + validators: + - jinja: |- + {% if _.var3 == _.var2 %} + var3 must be different than var2 + {% endif %} + description: var3 must be different than var2 diff --git a/tests/results/20_1empty_subfamily/rougail/00-base.yml b/tests/results/20_1empty_subfamily/rougail/00-base.yml new file mode 100644 index 0000000..21c7dcf --- /dev/null +++ b/tests/results/20_1empty_subfamily/rougail/00-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +my_family: + + my_sub_family: + type: family diff --git a/tests/results/20_9default_information_parent/rougail/00-base.yml b/tests/results/20_9default_information_parent/rougail/00-base.yml new file mode 100644 index 0000000..652fd5c --- /dev/null +++ b/tests/results/20_9default_information_parent/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +family: + + var1: # a first variable + + var2: + description: a second variable + default: + information: test_information + variable: __.family diff --git a/tests/results/20_9family_absolute/rougail/00-base.yml b/tests/results/20_9family_absolute/rougail/00-base.yml new file mode 100644 index 0000000..6c93659 --- /dev/null +++ b/tests/results/20_9family_absolute/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var1: # a variable + +family: # a family + + var2: # a second variable + + subfamily: # a sub family + + variable: # a variable + - variable: ___.var1 + - variable: __.var2 + +family2: # a family + + var2: + default: + variable: __.family.var2 + + subfamily: # a sub family + + variable: # a variable + - variable: ___.var1 + - variable: ___.family.var2 + - variable: __.var2 diff --git a/tests/results/24_0family_hidden_condition/rougail/00-base.yml b/tests/results/24_0family_hidden_condition/rougail/00-base.yml new file mode 100644 index 0000000..0a9653b --- /dev/null +++ b/tests/results/24_0family_hidden_condition/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +condition: no # the variable use has condition + +family: + description: possibly hidden family + hidden: + jinja: |- + {% if rougail.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes + + var1: # a variable diff --git a/tests/results/24_0family_hidden_condition_boolean/rougail/00-base.yml b/tests/results/24_0family_hidden_condition_boolean/rougail/00-base.yml new file mode 100644 index 0000000..94be0f8 --- /dev/null +++ b/tests/results/24_0family_hidden_condition_boolean/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +condition: false # a conditional variable + +family: + description: a family + hidden: + jinja: |- + {% if not rougail.condition %} + condition is false + {% endif %} + description: if not condition + + variable: + description: a variable + mandatory: false diff --git a/tests/results/24_0family_hidden_condition_sub_family/rougail/00-base.yml b/tests/results/24_0family_hidden_condition_sub_family/rougail/00-base.yml new file mode 100644 index 0000000..6276a83 --- /dev/null +++ b/tests/results/24_0family_hidden_condition_sub_family/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +condition: no # the variable use has condition + +family: + description: possibly hidden family + hidden: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes + + subfamily: + + var1: # a variable diff --git a/tests/results/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml b/tests/results/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml new file mode 100644 index 0000000..4523bfb --- /dev/null +++ b/tests/results/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +condition: true # the variable use has condition + +family: + description: possibly hidden family + hidden: + variable: _.condition + + subfamily: # a subfamily + + var1: + description: a variable + mandatory: false diff --git a/tests/results/24_0family_hidden_condition_with_variable/rougail/00-base.yml b/tests/results/24_0family_hidden_condition_with_variable/rougail/00-base.yml new file mode 100644 index 0000000..7ae07e9 --- /dev/null +++ b/tests/results/24_0family_hidden_condition_with_variable/rougail/00-base.yml @@ -0,0 +1,25 @@ +--- +version: 1.1 + +condition1: false # a first conditional variable + +condition2: false # a second conditional variable + +family: + description: a family + hidden: + jinja: |- + {% if not rougail.condition1 %} + condition1 is false + {% endif %} + description: if condition1 is false + + variable: + description: a variable + mandatory: false + hidden: + jinja: |- + {% if rougail.condition2 %} + condition2 is true + {% endif %} + description: if condition2 is false diff --git a/tests/results/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml b/tests/results/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml new file mode 100644 index 0000000..d1489e2 --- /dev/null +++ b/tests/results/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +condition: no # the variable use has condition + +family: + description: possibly hidden family + hidden: + jinja: |- + {% if condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes + params: + condition: + variable: _.condition + + sub_family: # a subfamily + + var1: # a variable diff --git a/tests/results/24_0family_mandatory_condition/rougail/00-base.yml b/tests/results/24_0family_mandatory_condition/rougail/00-base.yml new file mode 100644 index 0000000..3420711 --- /dev/null +++ b/tests/results/24_0family_mandatory_condition/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +condition: no # a condition + +var: + description: a variable + mandatory: + jinja: |- + {% if _.condition == "yes" %} + condition is yes + {% endif %} + description: only if rougail.condition has the value "yes" diff --git a/tests/results/24_0family_mandatory_condition_variable/rougail/00-base.yml b/tests/results/24_0family_mandatory_condition_variable/rougail/00-base.yml new file mode 100644 index 0000000..0d57ae9 --- /dev/null +++ b/tests/results/24_0family_mandatory_condition_variable/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +condition: true # a condition + +var: + description: a variable + mandatory: + variable: _.condition diff --git a/tests/results/24_7validators_variable_optional/rougail/00-base.yml b/tests/results/24_7validators_variable_optional/rougail/00-base.yml new file mode 100644 index 0000000..bdba789 --- /dev/null +++ b/tests/results/24_7validators_variable_optional/rougail/00-base.yml @@ -0,0 +1,31 @@ +--- +version: 1.1 + +general: # a family + + int: + description: a first number + test: + - 5 + type: number + validators: + - jinja: |- + {% if _.int == int2 %} + int and int2 must be different + {% endif %} + description: int and int2 must be different + params: + int2: + variable: _.int2 + optional: true + - jinja: |- + {% if int3 is defined and _.int == int3 %} + int and int3 must be different + {% endif %} + description: int and int3 must be different + params: + int3: + variable: _.int3 + optional: true + + int2: 1 # a second number diff --git a/tests/results/24_family_disabled_var_hidden/rougail/00-base.yml b/tests/results/24_family_disabled_var_hidden/rougail/00-base.yml new file mode 100644 index 0000000..d919687 --- /dev/null +++ b/tests/results/24_family_disabled_var_hidden/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +family: + disabled: true + + var1: true # A description + + var2: + description: A description + hidden: + variable: _.var1 diff --git a/tests/results/40_0leadership/rougail/00-base.yml b/tests/results/40_0leadership/rougail/00-base.yml new file mode 100644 index 0000000..0eac439 --- /dev/null +++ b/tests/results/40_0leadership/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: # a leader + + follower1: # a follower + + follower2: # an other follower diff --git a/tests/results/40_0leadership_diff_name/rougail/00-base.yml b/tests/results/40_0leadership_diff_name/rougail/00-base.yml new file mode 100644 index 0000000..5ad6bb2 --- /dev/null +++ b/tests/results/40_0leadership_diff_name/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +leadership: + description: a leadership + type: leadership + + leader: [] # a leader + + follower1: # a follower + + follower2: # an other follower diff --git a/tests/results/40_0leadership_empty/rougail/00-base.yml b/tests/results/40_0leadership_empty/rougail/00-base.yml new file mode 100644 index 0000000..f58be2d --- /dev/null +++ b/tests/results/40_0leadership_empty/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +empty_leader: + type: leadership diff --git a/tests/results/40_0leadership_follower_default_calculation/rougail/00-base.yml b/tests/results/40_0leadership_follower_default_calculation/rougail/00-base.yml new file mode 100644 index 0000000..415a701 --- /dev/null +++ b/tests/results/40_0leadership_follower_default_calculation/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: # a leader + + follower1: value # a follower + + follower2: + description: a second follower + default: + jinja: >- + {{ _.follower1 }} + description: returns follower1 value diff --git a/tests/results/40_0leadership_follower_default_submulti/rougail/00-base.yml b/tests/results/40_0leadership_follower_default_submulti/rougail/00-base.yml new file mode 100644 index 0000000..917e2a1 --- /dev/null +++ b/tests/results/40_0leadership_follower_default_submulti/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: # a leader + - leader + + follower1: # a follower1 + - value + + follower2: # a follower2 + - value1 + - value2 diff --git a/tests/results/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml b/tests/results/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml new file mode 100644 index 0000000..7473096 --- /dev/null +++ b/tests/results/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: # the leader + - leader + + follower1: # the follower1 + - value + + follower2: + description: the follower2 + multi: true + default: + variable: _.follower1 diff --git a/tests/results/40_0leadership_follower_default_value/rougail/00-base.yml b/tests/results/40_0leadership_follower_default_value/rougail/00-base.yml new file mode 100644 index 0000000..d14f001 --- /dev/null +++ b/tests/results/40_0leadership_follower_default_value/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + mandatory: false + + follower1: value # a follower with default value diff --git a/tests/results/40_0leadership_leader_not_multi/rougail/00-base.yml b/tests/results/40_0leadership_leader_not_multi/rougail/00-base.yml new file mode 100644 index 0000000..b4fd0d5 --- /dev/null +++ b/tests/results/40_0leadership_leader_not_multi/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +general: + + mode_conteneur_actif: non # No change + +general1: + + leader: + description: leader + type: leadership + + leader: # leader + + follower1: # follower1 + + follower2: # follower2 diff --git a/tests/results/40_1leadership_append_follower/rougail/00-base.yml b/tests/results/40_1leadership_append_follower/rougail/00-base.yml new file mode 100644 index 0000000..da49536 --- /dev/null +++ b/tests/results/40_1leadership_append_follower/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: the leader + multi: true + + follower1: # the follower1 + + follower2: # the follower2 diff --git a/tests/results/40_1leadership_append_follower/rougail/01-base.yml b/tests/results/40_1leadership_append_follower/rougail/01-base.yml new file mode 100644 index 0000000..2d653ac --- /dev/null +++ b/tests/results/40_1leadership_append_follower/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +leader: + + follower3: # the follower3 diff --git a/tests/results/40_2leadership_calculation_index/rougail/00-base.yml b/tests/results/40_2leadership_calculation_index/rougail/00-base.yml new file mode 100644 index 0000000..d9d8488 --- /dev/null +++ b/tests/results/40_2leadership_calculation_index/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: # a leader + - a + - b + - c + + follower1: + description: a follower + type: number + default: + type: index diff --git a/tests/results/40_2leadership_calculation_param_index/rougail/00-base.yml b/tests/results/40_2leadership_calculation_param_index/rougail/00-base.yml new file mode 100644 index 0000000..c825de4 --- /dev/null +++ b/tests/results/40_2leadership_calculation_param_index/rougail/00-base.yml @@ -0,0 +1,22 @@ +--- +version: 1.1 + +leader: + description: leadership + type: leadership + + leader: # a leader + - a + - b + - c + + follower1: + description: a follower + type: number + default: + jinja: >- + {{ index }} + description: returns index + params: + index: + type: index diff --git a/tests/results/40_2leadership_leader_calculation/rougail/00-base.yml b/tests/results/40_2leadership_leader_calculation/rougail/00-base.yml new file mode 100644 index 0000000..7302561 --- /dev/null +++ b/tests/results/40_2leadership_leader_calculation/rougail/00-base.yml @@ -0,0 +1,19 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + default: + jinja: |- + val1 + val2 + description: returns val1 and val2 + + follower1: # a first follower + + follower2: # a second follower diff --git a/tests/results/40_6leadership_follower_multi/rougail/00-base.yml b/tests/results/40_6leadership_follower_multi/rougail/00-base.yml new file mode 100644 index 0000000..6a9b63d --- /dev/null +++ b/tests/results/40_6leadership_follower_multi/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +leadership: + description: A leadership + type: leadership + + leader: + description: The leader + multi: true + + follower1: + description: The first follower + multi: true + + follower2: # The second follower + - value diff --git a/tests/results/40_8calculation_boolean/rougail/00-base.yml b/tests/results/40_8calculation_boolean/rougail/00-base.yml new file mode 100644 index 0000000..f639683 --- /dev/null +++ b/tests/results/40_8calculation_boolean/rougail/00-base.yml @@ -0,0 +1,32 @@ +--- +version: 1.1 + +bool: false # a boolean variable + +multi1: + description: a first multi variable + type: boolean + multi: true + default: + jinja: |- + {% if _.bool %} + True + False + {% else %} + False + {% endif %} + description: a calculation + +multi2: + description: a second multi variable + type: boolean + multi: true + default: + jinja: |- + {% if not _.bool %} + True + False + {% else %} + False + {% endif %} + description: a calculation diff --git a/tests/results/40_8calculation_boolean_return_none/rougail/00-base.yml b/tests/results/40_8calculation_boolean_return_none/rougail/00-base.yml new file mode 100644 index 0000000..160a2ee --- /dev/null +++ b/tests/results/40_8calculation_boolean_return_none/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var1: yes # a first variable + +var2: + description: a second variable + type: boolean + default: + jinja: >- + {% if rougail.var1 == 'no' %} + false + {% endif %} + description: return false if the value of var1 is "no" diff --git a/tests/results/40_8calculation_integer/rougail/00-base.yml b/tests/results/40_8calculation_integer/rougail/00-base.yml new file mode 100644 index 0000000..2ef78fd --- /dev/null +++ b/tests/results/40_8calculation_integer/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +bool: false # a boolean variable + +int1: + description: first integer variable + type: number + default: + jinja: >- + {% if rougail.bool %}1{% else %}2{% endif %} + description: if bool returns 1 otherwise return 2 + +int2: + description: second integer variable + type: number + default: + jinja: >- + {% if not rougail.bool %}3{% else %}4{% endif %} + description: if bool returns 3 otherwise return 4 diff --git a/tests/results/40_8calculation_multi_variable/rougail/00-base.yml b/tests/results/40_8calculation_multi_variable/rougail/00-base.yml new file mode 100644 index 0000000..b9cbe06 --- /dev/null +++ b/tests/results/40_8calculation_multi_variable/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +var: # a first variable + - variable: _.var2 + - variable: _.var3 + +var2: no # a second variable + +var3: yes # a third variable diff --git a/tests/results/40_8calculation_multi_variable_parent/rougail/00-base.yml b/tests/results/40_8calculation_multi_variable_parent/rougail/00-base.yml new file mode 100644 index 0000000..7f7365a --- /dev/null +++ b/tests/results/40_8calculation_multi_variable_parent/rougail/00-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +var: no # a variable + +fam1: # a family + + var: + description: a calculated variable + default: + variable: __.var diff --git a/tests/results/40_8calculation_multi_variable_parent2/rougail/00-base.yml b/tests/results/40_8calculation_multi_variable_parent2/rougail/00-base.yml new file mode 100644 index 0000000..7bec40d --- /dev/null +++ b/tests/results/40_8calculation_multi_variable_parent2/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +fam1: # first family + + var: no # a variable + +fam2: # second family + + var: + description: a varaible + default: + variable: __.fam1.var diff --git a/tests/results/41_0choice_leader/rougail/00-base.yml b/tests/results/41_0choice_leader/rougail/00-base.yml new file mode 100644 index 0000000..60316ad --- /dev/null +++ b/tests/results/41_0choice_leader/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +leader: + description: The leadership + type: leadership + + leader: + description: The leader + multi: true + mandatory: false + + follower1: + description: A follower + choices: + - a + - b + - c diff --git a/tests/results/44_0leadership_hidden/rougail/00-base.yml b/tests/results/44_0leadership_hidden/rougail/00-base.yml new file mode 100644 index 0000000..8f16923 --- /dev/null +++ b/tests/results/44_0leadership_hidden/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + hidden: true + + leader: + description: a leader + mandatory: false + + follower: + description: a follower + mandatory: false diff --git a/tests/results/44_0leadership_leader_hidden/rougail/00-base.yml b/tests/results/44_0leadership_leader_hidden/rougail/00-base.yml new file mode 100644 index 0000000..48d59f6 --- /dev/null +++ b/tests/results/44_0leadership_leader_hidden/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + mandatory: false + hidden: true + + follower: + description: a follower + mandatory: false diff --git a/tests/results/44_1leadership_append_hidden_follower/rougail/00-base.yml b/tests/results/44_1leadership_append_hidden_follower/rougail/00-base.yml new file mode 100644 index 0000000..31ae385 --- /dev/null +++ b/tests/results/44_1leadership_append_hidden_follower/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + mandatory: false + hidden: true + + follower1: + description: the follower1 + mandatory: false + + follower2: + description: the follower2 + mandatory: false diff --git a/tests/results/44_1leadership_append_hidden_follower/rougail/01-base.yml b/tests/results/44_1leadership_append_hidden_follower/rougail/01-base.yml new file mode 100644 index 0000000..bb92a74 --- /dev/null +++ b/tests/results/44_1leadership_append_hidden_follower/rougail/01-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +leader: + + follower3: + description: follower3 + mandatory: false diff --git a/tests/results/44_4disabled_calcultion_follower/rougail/00-base.yml b/tests/results/44_4disabled_calcultion_follower/rougail/00-base.yml new file mode 100644 index 0000000..089e569 --- /dev/null +++ b/tests/results/44_4disabled_calcultion_follower/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +condition: true # a condition + +leader: + description: a leadership + type: leadership + + leader: # aleader + - a + + follower: + description: a follower + disabled: + jinja: |- + {% if rougail.condition == "yes" %} + condition is yes + {% endif %} + description: if condition is yes diff --git a/tests/results/44_4leadership_mandatory/rougail/00-base.yml b/tests/results/44_4leadership_mandatory/rougail/00-base.yml new file mode 100644 index 0000000..eeb965e --- /dev/null +++ b/tests/results/44_4leadership_mandatory/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + + follower1: + description: a follower + mandatory: false diff --git a/tests/results/44_4leadership_mandatory_follower/rougail/00-base.yml b/tests/results/44_4leadership_mandatory_follower/rougail/00-base.yml new file mode 100644 index 0000000..424e996 --- /dev/null +++ b/tests/results/44_4leadership_mandatory_follower/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + mandatory: false + + follower: # a follower diff --git a/tests/results/44_5leadership_leader_hidden_calculation/rougail/00-base.yml b/tests/results/44_5leadership_leader_hidden_calculation/rougail/00-base.yml new file mode 100644 index 0000000..cb21554 --- /dev/null +++ b/tests/results/44_5leadership_leader_hidden_calculation/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +condition: no # a condition + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + mandatory: false + hidden: + jinja: |- + {% if __.condition == "no" %} + condition is no + {% endif %} + description: if condition is no + + follower: # a follower diff --git a/tests/results/44_6leadership_follower_disabled_calculation/rougail/00-base.yml b/tests/results/44_6leadership_follower_disabled_calculation/rougail/00-base.yml new file mode 100644 index 0000000..2e22dda --- /dev/null +++ b/tests/results/44_6leadership_follower_disabled_calculation/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +condition: yes # a condition + +leader: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + + follower: + description: a follower + disabled: + jinja: |- + {% if __.condition == "yes" %} + disabled + {% endif %} + description: if condition is yes diff --git a/tests/results/44_9calculated_default_leadership_leader/rougail/00-base.yml b/tests/results/44_9calculated_default_leadership_leader/rougail/00-base.yml new file mode 100644 index 0000000..6fbf6ca --- /dev/null +++ b/tests/results/44_9calculated_default_leadership_leader/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +leader: + description: leader + type: leadership + + leader: # a leader + - a + - b + + follower: + description: a follower + default: + variable: _.leader + disabled: + jinja: |- + {% if _.leader == "a" %} + the value of "leader" is "a" + {% endif %} + description: if the value of "leader" is "a" diff --git a/tests/results/60_0family_dynamic/rougail/00-base.yml b/tests/results/60_0family_dynamic/rougail/00-base.yml new file mode 100644 index 0000000..201d4b4 --- /dev/null +++ b/tests/results/60_0family_dynamic/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: # A dynamic variable diff --git a/tests/results/60_0family_dynamic_1_0/rougail/00-base.yml b/tests/results/60_0family_dynamic_1_0/rougail/00-base.yml new file mode 100644 index 0000000..cc499d5 --- /dev/null +++ b/tests/results/60_0family_dynamic_1_0/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + dynamic: + variable: _.var + propertyerror: false + + vardyn: + description: Dynamic variable + mandatory: false diff --git a/tests/results/60_0family_dynamic_1_0_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_1_0_empty/rougail/00-base.yml new file mode 100644 index 0000000..3119287 --- /dev/null +++ b/tests/results/60_0family_dynamic_1_0_empty/rougail/00-base.yml @@ -0,0 +1,19 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + dynamic: + variable: _.var + propertyerror: false + + vardyn: + description: Dynamic variable + mandatory: false diff --git a/tests/results/60_0family_dynamic_1_0_type/rougail/00-base.yml b/tests/results/60_0family_dynamic_1_0_type/rougail/00-base.yml new file mode 100644 index 0000000..591c8f8 --- /dev/null +++ b/tests/results/60_0family_dynamic_1_0_type/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + dynamic: + variable: _.var + propertyerror: false + + vardyn: # A dyn variable diff --git a/tests/results/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml new file mode 100644 index 0000000..dd94538 --- /dev/null +++ b/tests/results/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + dynamic: + variable: _.var + propertyerror: false + + vardyn: # A dyn variable diff --git a/tests/results/60_0family_dynamic_1_1/rougail/00-base.yml b/tests/results/60_0family_dynamic_1_1/rougail/00-base.yml new file mode 100644 index 0000000..704162b --- /dev/null +++ b/tests/results/60_0family_dynamic_1_1/rougail/00-base.yml @@ -0,0 +1,15 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + propertyerror: false + allow_none: true + + vardyn: # A dynamic variable diff --git a/tests/results/60_0family_dynamic_1_1_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_1_1_empty/rougail/00-base.yml new file mode 100644 index 0000000..654f272 --- /dev/null +++ b/tests/results/60_0family_dynamic_1_1_empty/rougail/00-base.yml @@ -0,0 +1,19 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + propertyerror: false + allow_none: true + + vardyn: # A dynamic variable diff --git a/tests/results/60_0family_dynamic_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_empty/rougail/00-base.yml new file mode 100644 index 0000000..4495ea6 --- /dev/null +++ b/tests/results/60_0family_dynamic_empty/rougail/00-base.yml @@ -0,0 +1,14 @@ +--- +version: 1.1 + +var: + description: A suffix variable + multi: true + mandatory: false + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: # A dynamic variable diff --git a/tests/results/60_0family_dynamic_jinja_number/rougail/00-base.yml b/tests/results/60_0family_dynamic_jinja_number/rougail/00-base.yml new file mode 100644 index 0000000..6ba0b98 --- /dev/null +++ b/tests/results/60_0family_dynamic_jinja_number/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +var: # a suffix variable + - 1 + - 2 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: val # a variable inside dynamic family + +var2: + description: a variable + default: + jinja: >- + {{ rougail.dyn1.var }} + description: get the value of rougail.dyn1.var diff --git a/tests/results/60_0family_dynamic_jinja_number_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_jinja_number_empty/rougail/00-base.yml new file mode 100644 index 0000000..5d7246f --- /dev/null +++ b/tests/results/60_0family_dynamic_jinja_number_empty/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - 1 + - 2 + type: number + multi: true + mandatory: false + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: val # a variable inside dynamic family + +var2: + description: a variable + default: + jinja: >- + {% if rougail.dyn1 is defined %} + {{ rougail.dyn1.var }} + {% endif %} + description: get the value of rougail.dyn1.var diff --git a/tests/results/60_0family_dynamic_no_description/rougail/00-base.yml b/tests/results/60_0family_dynamic_no_description/rougail/00-base.yml new file mode 100644 index 0000000..bfdd478 --- /dev/null +++ b/tests/results/60_0family_dynamic_no_description/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: diff --git a/tests/results/60_0family_dynamic_no_description_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_no_description_empty/rougail/00-base.yml new file mode 100644 index 0000000..a65ae27 --- /dev/null +++ b/tests/results/60_0family_dynamic_no_description_empty/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: diff --git a/tests/results/60_0family_dynamic_static/rougail/00-base.yml b/tests/results/60_0family_dynamic_static/rougail/00-base.yml new file mode 100644 index 0000000..8ff60b5 --- /dev/null +++ b/tests/results/60_0family_dynamic_static/rougail/00-base.yml @@ -0,0 +1,10 @@ +--- +version: 1.1 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + - val1 + - val2 + + var: # a variable inside a dynamic family diff --git a/tests/results/60_0family_dynamic_test/rougail/00-base.yml b/tests/results/60_0family_dynamic_test/rougail/00-base.yml new file mode 100644 index 0000000..f95265d --- /dev/null +++ b/tests/results/60_0family_dynamic_test/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: # A dynamic variable diff --git a/tests/results/60_0family_dynamic_variable_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_variable_empty/rougail/00-base.yml new file mode 100644 index 0000000..7b4f280 --- /dev/null +++ b/tests/results/60_0family_dynamic_variable_empty/rougail/00-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +var: [] # a suffix variable + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: val # a variable inside dynamic family diff --git a/tests/results/60_0family_dynamic_variable_suffix/rougail/00-base.yml b/tests/results/60_0family_dynamic_variable_suffix/rougail/00-base.yml new file mode 100644 index 0000000..83e9af8 --- /dev/null +++ b/tests/results/60_0family_dynamic_variable_suffix/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: a value # A dynamic variable with suffix {{ identifier }} diff --git a/tests/results/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml b/tests/results/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml new file mode 100644 index 0000000..8c79309 --- /dev/null +++ b/tests/results/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: a value # A dynamic variable with suffix {{ identifier }} diff --git a/tests/results/60_0family_empty/rougail/00-base.yml b/tests/results/60_0family_empty/rougail/00-base.yml new file mode 100644 index 0000000..0992428 --- /dev/null +++ b/tests/results/60_0family_empty/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +general2: + type: family diff --git a/tests/results/60_0family_hidden/rougail/00-base.yml b/tests/results/60_0family_hidden/rougail/00-base.yml new file mode 100644 index 0000000..4831a45 --- /dev/null +++ b/tests/results/60_0family_hidden/rougail/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +family: # a family + + var: + description: a variable + mandatory: false diff --git a/tests/results/60_0family_hidden/rougail/01-base.yml b/tests/results/60_0family_hidden/rougail/01-base.yml new file mode 100644 index 0000000..d70b25b --- /dev/null +++ b/tests/results/60_0family_hidden/rougail/01-base.yml @@ -0,0 +1,6 @@ +--- +version: 1.1 + +family: + redefine: true + hidden: true diff --git a/tests/results/60_0family_mode/rougail/00-base.yml b/tests/results/60_0family_mode/rougail/00-base.yml new file mode 100644 index 0000000..09cde1f --- /dev/null +++ b/tests/results/60_0family_mode/rougail/00-base.yml @@ -0,0 +1,9 @@ +--- +version: 1.1 + +family: # a family + + var: + description: A variable + mode: basic + default: non diff --git a/tests/results/60_1family_dynamic_jinja/rougail/00-base.yml b/tests/results/60_1family_dynamic_jinja/rougail/00-base.yml new file mode 100644 index 0000000..2a8f646 --- /dev/null +++ b/tests/results/60_1family_dynamic_jinja/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + jinja: |- + {% for val in _.var %} + {{ loop.index }} + {% endfor %} + description: index of suffix value + + var: val # a dynamic variable diff --git a/tests/results/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml b/tests/results/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml new file mode 100644 index 0000000..e47f608 --- /dev/null +++ b/tests/results/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml @@ -0,0 +1,22 @@ +--- +version: 1.1 + +var1: # a suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var1 + + family: # a family + + var: # with a variable + +var2: + description: a second variable + default: + jinja: >- + {{ _.dynval1.family.var }} + description: the value of var diff --git a/tests/results/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml b/tests/results/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml new file mode 100644 index 0000000..6d6c1a9 --- /dev/null +++ b/tests/results/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml @@ -0,0 +1,25 @@ +--- +version: 1.1 + +var: # a identifier variable + - val1 + - val2 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + family: # a family inside dynamic family + + var: + description: a dynamic variable + default: + type: identifier + +var2: + description: a varible outside dynamic family + default: + jinja: >- + {{ _.dynval1.family.var }} + description: the value of var diff --git a/tests/results/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml b/tests/results/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml new file mode 100644 index 0000000..ab60e0c --- /dev/null +++ b/tests/results/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml @@ -0,0 +1,32 @@ +--- +version: 1.1 + +var: + description: a identifier variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + family: # a family inside dynamic family + + var: + description: a dynamic variable + default: + type: identifier + +var2: + description: a varible outside dynamic family + default: + jinja: >- + {% if _.dynval1 is defined %} + {{ _.dynval1.family.var }} + {% endif %} + description: the value of var + mandatory: false diff --git a/tests/results/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml b/tests/results/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml new file mode 100644 index 0000000..3933007 --- /dev/null +++ b/tests/results/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml @@ -0,0 +1,29 @@ +--- +version: 1.1 + +var1: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var1 + + family: # a family + + var: # with a variable + +var2: + description: a second variable + default: + jinja: >- + {% if _.dynval1 is defined %} + {{ _.dynval1.family.var }} + {% endif %} + description: the value of var + mandatory: false diff --git a/tests/results/60_2family_dynamic_outside_calc/rougail/00-base.yml b/tests/results/60_2family_dynamic_outside_calc/rougail/00-base.yml new file mode 100644 index 0000000..037f0ab --- /dev/null +++ b/tests/results/60_2family_dynamic_outside_calc/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +var1: # a suffx variable + - val1 + - val2 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var1 + + var: val # a dynamic variable + +newvar: + description: a second variable + default: + jinja: >- + {{ _.dynval1.var }} + description: the value of var diff --git a/tests/results/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml b/tests/results/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml new file mode 100644 index 0000000..7fd69cb --- /dev/null +++ b/tests/results/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var1: + description: a suffx variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var1 + + var: val # a dynamic variable + +newvar: + description: a second variable + default: + jinja: >- + {% if _.dynval1 is defined %} + {{ _.dynval1.var }} + {% endif %} + description: the value of var + mandatory: false diff --git a/tests/results/60_5family_dynamic_calc2/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc2/rougail/00-base.yml new file mode 100644 index 0000000..5494ad7 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc2/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +var: # A suffix variable + - val1 + - val2 + +var2: # a second variable + +dyn{{ identifier }}: + description: A dynamic family + hidden: + jinja: |- + {% if _.var2 == "no" %} + var2 is no + {% endif %} + description: if var2 is no + dynamic: + variable: _.var + + vardyn: val # a dynamic variable diff --git a/tests/results/60_5family_dynamic_calc2_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc2_empty/rougail/00-base.yml new file mode 100644 index 0000000..e5c4040 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc2_empty/rougail/00-base.yml @@ -0,0 +1,25 @@ +--- +version: 1.1 + +var: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +var2: # a second variable + +dyn{{ identifier }}: + description: A dynamic family + hidden: + jinja: |- + {% if _.var2 == "no" %} + var2 is no + {% endif %} + description: if var2 is no + dynamic: + variable: _.var + + vardyn: val # a dynamic variable diff --git a/tests/results/60_5family_dynamic_calc_suffix/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix/rougail/00-base.yml new file mode 100644 index 0000000..85d3cf5 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix/rougail/00-base.yml @@ -0,0 +1,17 @@ +--- +version: 1.1 + +var1: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + dynamic: + variable: _.var1 + + var: # A dynamic variable + +var2: + description: A variable calculated + default: + variable: _.dynval1.var diff --git a/tests/results/60_5family_dynamic_calc_suffix2/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix2/rougail/00-base.yml new file mode 100644 index 0000000..b87f8cd --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix2/rougail/00-base.yml @@ -0,0 +1,16 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: Suffix has value + default: + type: identifier diff --git a/tests/results/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml new file mode 100644 index 0000000..10b16de --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml @@ -0,0 +1,20 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: Suffix has value + default: + type: identifier diff --git a/tests/results/60_5family_dynamic_calc_suffix_disabled/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix_disabled/rougail/00-base.yml new file mode 100644 index 0000000..9aea116 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix_disabled/rougail/00-base.yml @@ -0,0 +1,13 @@ +--- +version: 1.1 + +dyn{{ identifier }}: + dynamic: + - val1 + - val2 + + var: + description: A dynamic variable + disabled: + type: identifier + when: val1 diff --git a/tests/results/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml new file mode 100644 index 0000000..d2679d2 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml @@ -0,0 +1,22 @@ +--- +version: 1.1 + +var1: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + dynamic: + variable: _.var1 + + var: # A dynamic variable + +var2: + description: A variable calculated + default: + variable: _.dynval1.var + optional: true diff --git a/tests/results/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml new file mode 100644 index 0000000..2347c6c --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +var: # A identifier variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: + description: A dynamic variable + default: + jinja: >- + {{ identifier }} + description: from suffix + params: + identifier: + type: identifier diff --git a/tests/results/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml new file mode 100644 index 0000000..28adc12 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml @@ -0,0 +1,25 @@ +--- +version: 1.1 + +var: + description: A identifier variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: + description: A dynamic variable + default: + jinja: >- + {{ identifier }} + description: from suffix + params: + identifier: + type: identifier diff --git a/tests/results/60_5family_dynamic_calc_variable/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_variable/rougail/00-base.yml new file mode 100644 index 0000000..94c74e9 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_variable/rougail/00-base.yml @@ -0,0 +1,18 @@ +--- +version: 1.1 + +var1: # A suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + dynamic: + variable: _.var1 + propertyerror: false + + var: # A dynamic variable + +var2: + description: A variable calculated + default: + variable: _.dynval1.var diff --git a/tests/results/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml new file mode 100644 index 0000000..8ed8065 --- /dev/null +++ b/tests/results/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml @@ -0,0 +1,23 @@ +--- +version: 1.1 + +var1: + description: A suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + dynamic: + variable: _.var1 + propertyerror: false + + var: # A dynamic variable + +var2: + description: A variable calculated + default: + variable: _.dynval1.var + optional: true diff --git a/tests/results/60_5family_dynamic_hidden_suffix/rougail/00-base.yml b/tests/results/60_5family_dynamic_hidden_suffix/rougail/00-base.yml new file mode 100644 index 0000000..ee22705 --- /dev/null +++ b/tests/results/60_5family_dynamic_hidden_suffix/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +dyn{{ identifier }}: + description: a dynamic family + hidden: + jinja: |- + {% if suffix == 'val2' %} + disabled + {% endif %} + description: if suffix == 'val2' + params: + suffix: + type: identifier + dynamic: + - val1 + - val2 + + var: + description: a variable + mandatory: false + + family: # a family + + var: + description: a new variable + mandatory: false diff --git a/tests/results/60_5family_dynamic_unknown_suffix/rougail/00-base.yml b/tests/results/60_5family_dynamic_unknown_suffix/rougail/00-base.yml new file mode 100644 index 0000000..b06d055 --- /dev/null +++ b/tests/results/60_5family_dynamic_unknown_suffix/rougail/00-base.yml @@ -0,0 +1,43 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + - val3 + - val4 + default: + - val1 + - val2 + +'{{ identifier }}_dyn': + description: a dynamic family + dynamic: + variable: _.var + + var1: + description: a variable 1 + default: + type: identifier + + var2: + description: a variable 2 + default: + variable: _.var1 + + var3: + description: a variable 3 + default: + variable: _.var1 + + var4: + description: a variable 4 + default: + variable: __.val4_dyn.var1 + disabled: + jinja: |- + {% if 'val4' not in __.var %} + val4 is not a valid value + {% endif %} diff --git a/tests/results/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml new file mode 100644 index 0000000..2e6f12d --- /dev/null +++ b/tests/results/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml @@ -0,0 +1,42 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + - val3 + - val4 + multi: true + mandatory: false + +'{{ identifier }}_dyn': + description: a dynamic family + dynamic: + variable: _.var + + var1: + description: a variable 1 + default: + type: identifier + + var2: + description: a variable 2 + default: + variable: _.var1 + + var3: + description: a variable 3 + default: + variable: _.var1 + + var4: + description: a variable 4 + default: + variable: __.val4_dyn.var1 + disabled: + jinja: |- + {% if 'val4' not in __.var %} + val4 is not a valid value + {% endif %} diff --git a/tests/results/60_5family_dynamic_variable_outside/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside/rougail/00-base.yml new file mode 100644 index 0000000..416b527 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside/rougail/00-base.yml @@ -0,0 +1,23 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside a dynamic family + default: + type: identifier + mandatory: false + +var2: + description: a variable + multi: true + default: + variable: _.my_dyn_family_{{ identifier }}.var diff --git a/tests/results/60_5family_dynamic_variable_outside2/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside2/rougail/00-base.yml new file mode 100644 index 0000000..d4651a1 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside2/rougail/00-base.yml @@ -0,0 +1,23 @@ +--- +version: 1.1 + +var2: + description: a variable + multi: true + default: + variable: _.my_dyn_family_{{ identifier }}.var + +var: # a suffix variable + - val1 + - val2 + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside a dynamic family + default: + type: identifier + mandatory: false diff --git a/tests/results/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml new file mode 100644 index 0000000..3cfbac2 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var2: + description: a variable + multi: true + default: + variable: _.my_dyn_family_{{ identifier }}.var + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside a dynamic family + default: + type: identifier + mandatory: false diff --git a/tests/results/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml new file mode 100644 index 0000000..60048f1 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside a dynamic family + default: + type: identifier + mandatory: false + +var2: + description: a variable + multi: true + default: + variable: _.my_dyn_family_{{ identifier }}.var diff --git a/tests/results/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml new file mode 100644 index 0000000..5e83385 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml @@ -0,0 +1,29 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside a dynamic family + default: + type: identifier + mandatory: false + +var2: + description: a variable + multi: true + default: + jinja: |- + {%- for v in var %} + {{ v }} + {%- endfor -%} + params: + var: + variable: _.my_dyn_family_{{ identifier }}.var diff --git a/tests/results/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml new file mode 100644 index 0000000..8d898d8 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml @@ -0,0 +1,33 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside a dynamic family + default: + type: identifier + mandatory: false + +var2: + description: a variable + multi: true + default: + jinja: |- + {%- for v in var %} + {{ v }} + {%- endfor -%} + params: + var: + variable: _.my_dyn_family_{{ identifier }}.var diff --git a/tests/results/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml new file mode 100644 index 0000000..bebd118 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml @@ -0,0 +1,29 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + propertyerror: false + + subdyn_{{ identifier }}: + description: a sub dynamic family + dynamic: + variable: __.var + + var: + description: a variable inside a sub dynamic family + default: + type: identifier + +var2: + description: a variable + multi: true + default: + variable: _.my_dyn_family_val1.subdyn_{{ identifier }}.var + mandatory: false diff --git a/tests/results/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml new file mode 100644 index 0000000..6a39204 --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml @@ -0,0 +1,34 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +my_dyn_family_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + propertyerror: false + + subdyn_{{ identifier }}: + description: a sub dynamic family + dynamic: + variable: __.var + + var: + description: a variable inside a sub dynamic family + default: + type: identifier + +var2: + description: a variable + multi: true + default: + variable: _.my_dyn_family_val1.subdyn_{{ identifier }}.var + optional: true + mandatory: false diff --git a/tests/results/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml new file mode 100644 index 0000000..a8138ce --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml @@ -0,0 +1,21 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +dyn_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside dynamic family + default: + type: identifier + +var2: + description: a variable + default: + variable: _.dyn_val1.var diff --git a/tests/results/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml b/tests/results/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml new file mode 100644 index 0000000..4f53efa --- /dev/null +++ b/tests/results/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var: + description: asuffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn_{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + var: + description: a variable inside dynamic family + default: + type: identifier + +var2: + description: a variable + default: + variable: _.dyn_val1.var + optional: true + mandatory: false diff --git a/tests/results/60_6family_dynamic_inside/rougail/00-base.yml b/tests/results/60_6family_dynamic_inside/rougail/00-base.yml new file mode 100644 index 0000000..2cffd93 --- /dev/null +++ b/tests/results/60_6family_dynamic_inside/rougail/00-base.yml @@ -0,0 +1,31 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +'{{ identifier }}_dyn': + description: a dynamic family + dynamic: + variable: _.var + + var1: + description: value is suffix + default: + type: identifier + + var2: + description: value is first variable + default: + variable: _.var1 + + var3: + description: value is relative first variable + default: + variable: _.var1 + + var4: + description: value is first variable of val1 + default: + variable: __.val1_dyn.var1 diff --git a/tests/results/60_6family_dynamic_inside_empty/rougail/00-base.yml b/tests/results/60_6family_dynamic_inside_empty/rougail/00-base.yml new file mode 100644 index 0000000..d4bf24f --- /dev/null +++ b/tests/results/60_6family_dynamic_inside_empty/rougail/00-base.yml @@ -0,0 +1,35 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +'{{ identifier }}_dyn': + description: a dynamic family + dynamic: + variable: _.var + + var1: + description: value is suffix + default: + type: identifier + + var2: + description: value is first variable + default: + variable: _.var1 + + var3: + description: value is relative first variable + default: + variable: _.var1 + + var4: + description: value is first variable of val1 + default: + variable: __.val1_dyn.var1 diff --git a/tests/results/60_6family_dynamic_leadership/rougail/00-base.yml b/tests/results/60_6family_dynamic_leadership/rougail/00-base.yml new file mode 100644 index 0000000..60232a0 --- /dev/null +++ b/tests/results/60_6family_dynamic_leadership/rougail/00-base.yml @@ -0,0 +1,27 @@ +--- +version: 1.1 + +var: # a suffix variable + - val1 + - val2 + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + leadership: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + + follower1: + description: a follower1 + mandatory: false + + follower2: + description: a follower2 + mandatory: false diff --git a/tests/results/60_6family_dynamic_leadership_empty/rougail/00-base.yml b/tests/results/60_6family_dynamic_leadership_empty/rougail/00-base.yml new file mode 100644 index 0000000..9587f3b --- /dev/null +++ b/tests/results/60_6family_dynamic_leadership_empty/rougail/00-base.yml @@ -0,0 +1,31 @@ +--- +version: 1.1 + +var: + description: a suffix variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + variable: _.var + + leadership: + description: a leadership + type: leadership + + leader: + description: a leader + multi: true + + follower1: + description: a follower1 + mandatory: false + + follower2: + description: a follower2 + mandatory: false diff --git a/tests/results/60_6family_dynamic_sub_dynamic/rougail/00-base.yml b/tests/results/60_6family_dynamic_sub_dynamic/rougail/00-base.yml new file mode 100644 index 0000000..fe6e0fa --- /dev/null +++ b/tests/results/60_6family_dynamic_sub_dynamic/rougail/00-base.yml @@ -0,0 +1,48 @@ +--- +version: 1.1 + +var: # A identifier variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: + description: A dynamic variable + multi: true + default: + jinja: |- + {% for val in __.var %} + t{{ val }} + {% endfor %} + description: add 't' to each var value + + dyn_{{ identifier }}: + description: a Second dynamic variable + dynamic: + variable: __.dyn{{ identifier }}.var + + var: + description: A variable dynamic + default: + type: identifier + + var_identifier: + description: identifier from first family + default: + identifier: 0 + + var_identifiers: + description: merge identifiers + default: + jinja: >- + {{ s1 }}-{{ s2 }} + description: join identifier 1 et identifier 2 + params: + s1: + identifier: 0 + s2: + identifier: 1 diff --git a/tests/results/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml b/tests/results/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml new file mode 100644 index 0000000..1b03386 --- /dev/null +++ b/tests/results/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml @@ -0,0 +1,50 @@ +--- +version: 1.1 + +var: # A identifier variable + - val1 + - val2 + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + propertyerror: false + + var: + description: A dynamic variable + multi: true + default: + jinja: |- + {% for val in rougail.var %} + t{{ val }} + {% endfor %} + description: add 't' to each var value + + dyn_{{ identifier }}: + description: a Second dynamic variable + dynamic: + variable: _.var + propertyerror: false + + var: + description: A variable dynamic + default: + type: identifier + + var_identifier: + description: identifier from first family + default: + identifier: 0 + + var_identifiers: + description: merge identifiers + default: + jinja: >- + {{ s1 }}-{{ s2 }} + description: join identifier 1 et identifier 2 + params: + s1: + identifier: 0 + s2: + identifier: 1 diff --git a/tests/results/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml b/tests/results/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml new file mode 100644 index 0000000..d019953 --- /dev/null +++ b/tests/results/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml @@ -0,0 +1,52 @@ +--- +version: 1.1 + +var: + description: A identifier variable + test: + - val1 + - val2 + multi: true + mandatory: false + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: + description: A dynamic variable + multi: true + default: + jinja: |- + {% for val in __.var %} + t{{ val }} + {% endfor %} + description: add 't' to each var value + + dyn_{{ identifier }}: + description: a Second dynamic variable + dynamic: + variable: _.var + + var: + description: A variable dynamic + default: + type: identifier + + var_identifier: + description: identifier from first family + default: + identifier: 0 + + var_identifiers: + description: merge identifiers + default: + jinja: >- + {{ s1 }}-{{ s2 }} + description: join identifier 1 et identifier 2 + params: + s1: + identifier: 0 + s2: + identifier: 1 diff --git a/tests/results/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml b/tests/results/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml new file mode 100644 index 0000000..2186117 --- /dev/null +++ b/tests/results/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml @@ -0,0 +1,46 @@ +--- +version: 1.1 + +var: + description: A identifier variable + default: + - val1 + - val2 + mandatory: false + +dyn{{ identifier }}: + description: A dynamic family + dynamic: + variable: _.var + + var: + description: A dynamic variable + multi: true + mandatory: false + + dyn_{{ identifier }}: + description: a Second dynamic variable + dynamic: + variable: _.var + + var: + description: A variable dynamic + default: + type: identifier + + var_identifier: + description: identifier from first family + default: + identifier: 0 + + var_identifiers: + description: merge identifiers + default: + jinja: >- + {{ s1 }}-{{ s2 }} + description: join identifier 1 et identifier 2 + params: + s1: + identifier: 0 + s2: + identifier: 1 diff --git a/tests/results/60_9extra_dynamic/extra/00-base.yml b/tests/results/60_9extra_dynamic/extra/00-base.yml new file mode 100644 index 0000000..468364f --- /dev/null +++ b/tests/results/60_9extra_dynamic/extra/00-base.yml @@ -0,0 +1,8 @@ +--- +version: 1.1 + +dyn_{{ identifier }}: + dynamic: + variable: rougail.var + + var: diff --git a/tests/results/60_9extra_dynamic/rougail/00-base.yml b/tests/results/60_9extra_dynamic/rougail/00-base.yml new file mode 100644 index 0000000..37b8779 --- /dev/null +++ b/tests/results/60_9extra_dynamic/rougail/00-base.yml @@ -0,0 +1,5 @@ +--- +version: 1.1 + +var: # a variable + - a diff --git a/tests/results/60_9extra_dynamic_extra/extra/00-base.yml b/tests/results/60_9extra_dynamic_extra/extra/00-base.yml new file mode 100644 index 0000000..fa1aa3a --- /dev/null +++ b/tests/results/60_9extra_dynamic_extra/extra/00-base.yml @@ -0,0 +1,11 @@ +--- +version: 1.1 + +var: # a varaible + - a + +dyn_{{ identifier }}: + dynamic: + variable: _.var + + var: diff --git a/tests/results/60_9extra_dynamic_extra/rougail/00-base.yml b/tests/results/60_9extra_dynamic_extra/rougail/00-base.yml new file mode 100644 index 0000000..846a618 --- /dev/null +++ b/tests/results/60_9extra_dynamic_extra/rougail/00-base.yml @@ -0,0 +1,7 @@ +--- +version: 1.1 + +general: # général + + varname: # No change + - a diff --git a/tests/results/60_9family_dynamic_calc_both/rougail/00-base.yml b/tests/results/60_9family_dynamic_calc_both/rougail/00-base.yml new file mode 100644 index 0000000..27a0713 --- /dev/null +++ b/tests/results/60_9family_dynamic_calc_both/rougail/00-base.yml @@ -0,0 +1,12 @@ +--- +version: 1.1 + +var: val2 # a suffix variable + +dyn{{ identifier }}: + description: a dynamic family + dynamic: + - val1 + - variable: _.var + + vardyn: # a dynamic variable diff --git a/tests/results/68_0family_leadership_mode/rougail/00-base.yml b/tests/results/68_0family_leadership_mode/rougail/00-base.yml new file mode 100644 index 0000000..a9851e0 --- /dev/null +++ b/tests/results/68_0family_leadership_mode/rougail/00-base.yml @@ -0,0 +1,19 @@ +--- +version: 1.1 + +leader: + description: A leadership + type: leadership + + leader: + description: A leader + multi: true + mandatory: false + + follower1: + description: a follower1 + mandatory: false + + follower2: + description: a follower2 + mode: basic diff --git a/tests/test_load.py b/tests/test_load.py new file mode 100644 index 0000000..fddfb70 --- /dev/null +++ b/tests/test_load.py @@ -0,0 +1,101 @@ +from pytest import fixture # , raises +from pathlib import Path +from rougail import Rougail +from rougail.output_formatter import RougailOutputFormatter as RougailOutput + +from rougail_tests.utils import get_structures_list, get_rougail_config, config_to_dict + + +excludes = [ +# "24_0family_hidden_condition_sub_family", + ] + +test_ok = get_structures_list(excludes) +# test_ok = [Path('../rougail-tests/structures/20_9family_absolute')] + + +def idfn(fixture_value): + return fixture_value.name + + +@fixture(scope="module", params=test_ok, ids=idfn) +def test_dir(request): + return request.param + + +def get_output_director(namespace): + return Path(__file__).parent / 'results' + + +def _test_structural_files(file_name, namespace, rougailconfig): + ################################## + rougailconfig['step.output'] = 'formatter' + ################################## + config = None + generated_output = RougailOutput(config, rougailconfig=rougailconfig).run() + output_file = get_output_director(namespace) / file_name.parent.parent.name / file_name.parent.name / file_name.name + if not output_file.is_file(): + if not output_file.parent.is_dir(): + output_file.parent.mkdir(parents=True) + output_file.write_text(file_name.read_text()) +# with output_file.open('w') as fh: +# print('===', generated_output) +# fh.write(generated_output) + with output_file.open() as outfh: + attented_output = outfh.read() + assert generated_output == attented_output, f'filename {output_file}' + + +def test_structural_files_formatter(test_dir): + namespace = False + rougailconfig = get_rougail_config(test_dir, namespace) + if not rougailconfig: + return + dirs = rougailconfig['main_dictionaries'] + for dir_name in dirs: + for file_name in Path(dir_name).iterdir(): + if file_name.suffix in [".yml", ".yaml"]: + rougailconfig["main_dictionaries"] = [str(file_name)] + _test_structural_files(file_name, namespace, rougailconfig) + + +def test_structural_files_formatter_namespace(test_dir): + namespace = True + rougailconfig = get_rougail_config(test_dir, namespace) + if not rougailconfig: + return + for dir_name in rougailconfig['main_dictionaries']: + for file_name in Path(dir_name).iterdir(): + if file_name.suffix in [".yml", ".yaml"]: + rougailconfig["main_dictionaries"] = [str(file_name)] + _test_structural_files(file_name, namespace, rougailconfig) + for namespace, dirs_name in rougailconfig['extra_dictionaries'].items(): + rougailconfig["main_namespace"] = namespace + for dir_name in dirs_name: + for file_name in Path(dir_name).iterdir(): + if file_name.suffix in [".yml", ".yaml"]: + rougailconfig["main_dictionaries"] = [str(file_name)] + _test_structural_files(file_name, namespace, rougailconfig) + + +def test_structural_files_formatter_load(test_dir): + namespace = True + rougailconfig = get_rougail_config(test_dir, namespace) + if not rougailconfig: + return + output_director = get_output_director(namespace) / test_dir.name + if not output_director.is_dir(): + return + rougail = Rougail(rougailconfig) + config = rougail.run() + before_config_dict = dict(config_to_dict(config.value.get())) + # + rougailconfig['main_dictionaries'] = [str(output_director / Path(dirpath).name) for dirpath in rougailconfig["main_dictionaries"]] + extra_dictionaries = {} + for ns, dirpaths in rougailconfig['extra_dictionaries'].items(): + extra_dictionaries[ns] = [str(output_director / Path(dirpath).name) for dirpath in dirpaths] + rougailconfig['extra_dictionaries'] = extra_dictionaries + rougail = Rougail(rougailconfig) + config = rougail.run() + after_config_dict = dict(config_to_dict(config.value.get())) + assert before_config_dict == after_config_dict, f'directory {test_dir}'