tests: - name: Basic Behavior desc: The greater-than operator should expand to the named partial. data: { } template: '"{{>text}}"' partials: { text: 'from partial' } expected: '"from partial"' - name: Context desc: The greater-than operator should operate within the current context. data: { text: 'content' } template: '"{{>partial}}"' partials: { partial: '*{{text}}*' } expected: '"*content*"' - name: Recursion desc: The greater-than operator should properly recurse. data: { content: "X", nodes: [ { content: "Y", nodes: [] } ] } template: '{{>node}}' partials: { node: '{{content}}<{{#nodes}}{{>node}}{{/nodes}}>' } expected: 'X>' # Whitespace Sensitivity - name: Surrounding Whitespace desc: The greater-than operator should not alter surrounding whitespace. data: { } template: '| {{>partial}} |' partials: { partial: "\t|\t" } expected: "| \t|\t |" - name: Inline Indentation desc: Whitespace should be left untouched. data: { data: '|' } template: " {{data}} {{> partial}}\n" partials: { partial: ">\n>" } expected: " | >\n>\n" - name: Standalone Indentation desc: Each line of the partial should be indented before rendering. data: { content: "<\n->" } template: | \ {{>partial}} / partials: partial: | | {{{content}}} | expected: | \ | < -> | / # Whitespace Insensitivity - name: Padding Whitespace desc: Superfluous in-tag whitespace should be ignored. data: { boolean: true } template: "|{{> partial }}|" partials: { partial: "[]" } expected: '|[]|'