From 4932a4bb6fac2556db629781fb1d95e007fa0672 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 30 May 2020 15:20:54 -0400 Subject: [PATCH] Add tests for reference parameters. --- js/test_cases/reference_parameters/README.md | 1 + .../reference_parameters/input1.json | 15 ++++++ js/test_cases/reference_parameters/main.dust | 52 +++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 js/test_cases/reference_parameters/README.md create mode 100644 js/test_cases/reference_parameters/input1.json create mode 100644 js/test_cases/reference_parameters/main.dust diff --git a/js/test_cases/reference_parameters/README.md b/js/test_cases/reference_parameters/README.md new file mode 100644 index 0000000..7fe6fd4 --- /dev/null +++ b/js/test_cases/reference_parameters/README.md @@ -0,0 +1 @@ +Reference parameters are evaluated at the time of render, as opposed to direct parameters which are evaluated at the time of assignment. diff --git a/js/test_cases/reference_parameters/input1.json b/js/test_cases/reference_parameters/input1.json new file mode 100644 index 0000000..0110e76 --- /dev/null +++ b/js/test_cases/reference_parameters/input1.json @@ -0,0 +1,15 @@ +{ + "name": "Bob", + "people": [ + { + "name": "Alice", + "petname": "rover" + } + ], + "truthy": "some truthy value", + "other_petname": [ + { + "petname": "spot" + } + ] +} diff --git a/js/test_cases/reference_parameters/main.dust b/js/test_cases/reference_parameters/main.dust new file mode 100644 index 0000000..7683af4 --- /dev/null +++ b/js/test_cases/reference_parameters/main.dust @@ -0,0 +1,52 @@ +Hello {name}, nice {pet}{~n} +{#people} + Hello {name}, nice {pet}{~n} +{/people} +{#people name="chris" pet="cat"} + Hello {name}, nice {pet}{~n} +{/people} + +Reference Parameters{~n} +===================={~n} +{#people name="chris" pet="{petname}" petname="whiskers"} + Hello {name}, nice {pet}{~n} +{/people} +{#people} + {#truthy name="chris" pet="{petname}" petname="whiskers"} + Hello {name}, nice {pet}{~n} + {/truthy} +{/people} +{#people name="chris" pet="{petname}" petname="whiskers"} + {#other_petname} + Hello {name}, nice {pet}{~n} + {/other_petname} +{/people} +{! Can you have additional text in reference parameters, or just the reference !} +{#people name="chris" pet="{petname}!" petname="whiskers"} + {#other_petname} + Hello {name}, nice {pet}{~n} + {/other_petname} +{/people} +{! Can you have filters !} +{#people name="chris" pet="{petname|js}" petname="whiskers"} + {#other_petname} + Hello {name}, nice {pet}{~n} + {/other_petname} +{/people} + + +Direct Parameters{~n} +================={~n} +{#people name="chris" pet=petname petname="whiskers"} + Hello {name}, nice {pet}{~n} +{/people} +{#people} + {#truthy name="chris" pet=petname petname="whiskers"} + Hello {name}, nice {pet}{~n} + {/truthy} +{/people} +{#people name="chris" pet=petname petname="whiskers"} + {#other_petname} + Hello {name}, nice {pet}{~n} + {/other_petname} +{/people}