diff --git a/js/test_cases/idx_and_len/README.md b/js/test_cases/idx_and_len/README.md new file mode 100644 index 0000000..c4e8bdd --- /dev/null +++ b/js/test_cases/idx_and_len/README.md @@ -0,0 +1 @@ +$idx and $len seem to only be valid inside sections iterating over arrays, but nothing else. diff --git a/js/test_cases/idx_and_len/array.json b/js/test_cases/idx_and_len/array.json new file mode 100644 index 0000000..3f3e0ab --- /dev/null +++ b/js/test_cases/idx_and_len/array.json @@ -0,0 +1,7 @@ +{ + "things": [ + "Alice", + "Bob", + "Chris" + ] +} diff --git a/js/test_cases/idx_and_len/false.json b/js/test_cases/idx_and_len/false.json new file mode 100644 index 0000000..d51e741 --- /dev/null +++ b/js/test_cases/idx_and_len/false.json @@ -0,0 +1,3 @@ +{ + "things": false +} diff --git a/js/test_cases/idx_and_len/main.dust b/js/test_cases/idx_and_len/main.dust new file mode 100644 index 0000000..2e645b4 --- /dev/null +++ b/js/test_cases/idx_and_len/main.dust @@ -0,0 +1,40 @@ +Outside $idx: {$idx}{~n} +Outside $len: {$len}{~n} +Outside {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} +Outside {?$len}$len is true{:else}$len is false{/$len}{~n} + +{#things} + Inside Section $idx: {$idx}{~n} + Inside Section $len: {$len}{~n} + Inside Section {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} + Inside Section {?$len}$len is true{:else}$len is false{/$len}{~n} +{:else} + Else Section $idx: {$idx}{~n} + Else Section $len: {$len}{~n} + Else Section {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} + Else Section {?$len}$len is true{:else}$len is false{/$len}{~n} +{/things} + +{?things} + Inside Exists $idx: {$idx}{~n} + Inside Exists $len: {$len}{~n} + Inside Exists {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} + Inside Exists {?$len}$len is true{:else}$len is false{/$len}{~n} +{:else} + Else Exists $idx: {$idx}{~n} + Else Exists $len: {$len}{~n} + Else Exists {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} + Else Exists {?$len}$len is true{:else}$len is false{/$len}{~n} +{/things} + +{^things} + Inside Not Exists $idx: {$idx}{~n} + Inside Not Exists $len: {$len}{~n} + Inside Not Exists {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} + Inside Not Exists {?$len}$len is true{:else}$len is false{/$len}{~n} +{:else} + Else Not Exists $idx: {$idx}{~n} + Else Not Exists $len: {$len}{~n} + Else Not Exists {?$idx}$idx is true{:else}$idx is false{/$idx}{~n} + Else Not Exists {?$len}$len is true{:else}$len is false{/$len}{~n} +{/things} diff --git a/js/test_cases/idx_and_len/number.json b/js/test_cases/idx_and_len/number.json new file mode 100644 index 0000000..585368a --- /dev/null +++ b/js/test_cases/idx_and_len/number.json @@ -0,0 +1,3 @@ +{ + "things": 7 +} diff --git a/js/test_cases/idx_and_len/string.json b/js/test_cases/idx_and_len/string.json new file mode 100644 index 0000000..90316e2 --- /dev/null +++ b/js/test_cases/idx_and_len/string.json @@ -0,0 +1,3 @@ +{ + "things": "foobar" +}