From 5df81440e5e276d4b111c9bb12482ef36a21ba00 Mon Sep 17 00:00:00 2001 From: Patrick Steele-Idem Date: Thu, 5 May 2016 07:56:24 -0700 Subject: [PATCH] Reorganized tests --- test/adjustIndent-test.js | 10 +- test/api-tests.js | 451 +----------------- test/async-render-test.js | 18 +- test/autotest.js | 155 ++---- test/{fixtures => autotests}/.gitignore | 0 .../adjustIndent}/bad-indent/expected.txt | 0 .../adjustIndent}/bad-indent/input.txt | 0 .../adjustIndent}/bad-indent/test.js | 0 .../adjustIndent}/empty/expected.txt | 0 .../adjustIndent}/empty/input.txt | 0 .../adjustIndent}/empty/test.js | 0 .../increase-indent/expected.txt | 0 .../adjustIndent}/increase-indent/input.txt | 0 .../adjustIndent}/increase-indent/test.js | 0 .../initial-empty-lines/expected.txt | 0 .../initial-empty-lines/input.txt | 0 .../adjustIndent}/initial-empty-lines/test.js | 0 .../adjustIndent}/no-indent/expected.txt | 0 .../adjustIndent}/no-indent/input.txt | 0 .../adjustIndent}/no-indent/test.js | 0 .../adjustIndent}/remove-indent/expected.txt | 0 .../adjustIndent}/remove-indent/input.txt | 0 .../adjustIndent}/remove-indent/test.js | 0 .../surrounding-empty-lines/expected.txt | 0 .../surrounding-empty-lines/input.txt | 0 .../surrounding-empty-lines/test.js | 0 .../adjustIndent}/tab-indent/expected.txt | 0 .../adjustIndent}/tab-indent/input.txt | 0 .../adjustIndent}/tab-indent/test.js | 0 .../trailing-empty-lines/expected.txt | 0 .../trailing-empty-lines/input.txt | 0 .../trailing-empty-lines/test.js | 0 test/autotests/api-compiler/configure/test.js | 17 + test/autotests/api/compiler-configure/test.js | 16 + .../template.marko} | 2 +- .../api/error-renderSync-beginAsync/test.js | 23 + .../api/error-renderSync/template.marko} | 0 test/autotests/api/error-renderSync/test.js | 17 + .../api/load-render-callback/template.marko | 1 + .../api/load-render-callback/test.js | 16 + test/autotests/api/load-source/template.marko | 1 + test/autotests/api/load-source/test.js | 35 ++ .../template.marko | 1 + .../api/load-writer-wrapping-stream/test.js | 27 ++ .../template.marko} | 0 .../test.js | 21 + .../api/no-write-to-disk-load/template.marko | 1 + .../api/no-write-to-disk-load/test.js | 18 + .../no-write-to-disk-require/template.marko | 1 + .../api/no-write-to-disk-require/test.js | 18 + .../template.marko} | 0 .../api/render-callback-global-data/test.js | 15 + .../template.marko} | 0 .../test.js | 27 ++ .../api/renderSync-global-data/template.marko | 1 + .../api/renderSync-global-data/test.js | 14 + .../api/renderSync-no-data/template.marko | 1 + test/autotests/api/renderSync-no-data/test.js | 8 + .../api/renderSync/template.marko} | 0 test/autotests/api/renderSync/test.js | 8 + .../require-compiled-template/template.marko} | 0 .../api/require-compiled-template/test.js | 21 + .../require-render-callback/template.marko} | 0 .../api/require-render-callback/test.js | 18 + .../require-render-to-stream/template.marko | 1 + .../api/require-render-to-stream/test.js | 25 + .../api/write-to-disk-load/template.marko | 1 + test/autotests/api/write-to-disk-load/test.js | 14 + .../api/write-to-disk-require/template.marko | 1 + .../api/write-to-disk-require/test.js | 19 + .../async-fragment-args/expected.html | 0 .../async-fragment-args/template.marko | 0 .../async-render}/async-fragment-args/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../async-fragment-client-reorder/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../async-fragment-data-providers/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../async-fragment-error-message-attr/test.js | 0 .../async-fragment-error/expected.html | 0 .../async-fragment-error/template.marko | 0 .../async-fragment-error/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../async-fragment-macros/expected.html | 0 .../async-fragment-macros/template.marko | 0 .../async-fragment-macros/test.js | 0 .../async-fragment-ordering/expected.html | 0 .../async-fragment-ordering/template.marko | 0 .../async-fragment-ordering/test.js | 0 .../async-fragment-ordering2/expected.html | 0 .../async-fragment-ordering2/template.marko | 0 .../async-fragment-ordering2/test.js | 0 .../async-fragment-placeholder/template.marko | 0 .../async-fragment-placeholder/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../async-fragment-promise-error-q/test.js | 0 .../async-fragment-promise/expected.html | 0 .../async-fragment-promise/template.marko | 0 .../async-fragment-promise/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../async-fragment-timeout-message/test.js | 0 .../async-fragment-timeout/expected.html | 0 .../async-fragment-timeout/template.marko | 0 .../async-fragment-timeout/test.js | 0 .../async-render}/beginAsync/expected.html | 0 .../async-render}/beginAsync/template.marko | 0 .../async-render}/beginAsync/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../cached-fragment/expected.html | 0 .../cached-fragment/template.marko | 0 .../async-render}/cached-fragment/test.js | 0 .../arrayExpression-empty/expected.js | 0 .../codegen}/arrayExpression-empty/index.js | 0 .../codegen}/arrayExpression/expected.js | 0 .../codegen}/arrayExpression/index.js | 0 .../codegen}/attr-no-escape/expected.js | 0 .../codegen}/attr-no-escape/index.js | 0 .../expected.js | 0 .../binaryExpression-literal-divide/index.js | 0 .../expected.js | 0 .../index.js | 0 .../expected.js | 0 .../index.js | 0 .../codegen}/binaryExpression/expected.js | 0 .../codegen}/binaryExpression/index.js | 0 .../codegen}/body-only-if/expected.js | 0 .../codegen}/body-only-if/index.js | 0 .../codegen}/code-before-after-if/expected.js | 0 .../codegen}/code-before-after-if/index.js | 0 .../code-before-after-surrounded/expected.js | 0 .../code-before-after-surrounded/index.js | 0 .../code-before-after-var/expected.js | 0 .../codegen}/code-before-after-var/index.js | 0 .../codegen}/code-before-after/expected.js | 0 .../codegen}/code-before-after/index.js | 0 .../codegen}/code-expression/expected.js | 0 .../codegen}/code-expression/index.js | 0 .../code-statement-nested/expected.js | 0 .../codegen}/code-statement-nested/index.js | 0 .../codegen}/code-statement/expected.js | 0 .../codegen}/code-statement/index.js | 0 .../codegen}/codegen-addStaticVar/expected.js | 0 .../codegen}/codegen-addStaticVar/index.js | 0 .../codegen}/codegen-addVar/expected.js | 0 .../codegen}/codegen-addVar/index.js | 0 .../codegen}/combine-writes/expected.js | 0 .../codegen}/combine-writes/index.js | 0 .../codegen}/concat-four/expected.js | 0 .../codegen}/concat-four/index.js | 0 .../codegen}/concat-strings/expected.js | 0 .../codegen}/concat-strings/index.js | 0 .../codegen}/concat-three/expected.js | 0 .../codegen}/concat-three/index.js | 0 .../codegen}/concat/expected.js | 0 .../codegen}/concat/index.js | 0 .../conditionalExpression/expected.js | 0 .../codegen}/conditionalExpression/index.js | 0 .../codegen}/context-addStaticVar/expected.js | 0 .../codegen}/context-addStaticVar/index.js | 0 .../codegen}/context-addVar/expected.js | 0 .../codegen}/context-addVar/index.js | 0 .../codegen}/forEach/expected.js | 0 .../codegen}/forEach/index.js | 0 .../codegen}/forEachProps/expected.js | 0 .../codegen}/forEachProps/index.js | 0 .../codegen}/forRange/expected.js | 0 .../codegen}/forRange/index.js | 0 .../codegen}/forStatement/expected.js | 0 .../codegen}/forStatement/index.js | 0 .../codegen}/functionCall/expected.js | 0 .../codegen}/functionCall/index.js | 0 .../functionDeclaration-anonymous/expected.js | 0 .../functionDeclaration-anonymous/index.js | 0 .../codegen}/functionDeclaration/expected.js | 0 .../codegen}/functionDeclaration/index.js | 0 .../codegen}/html/expected.js | 0 .../codegen}/html/index.js | 0 .../codegen}/htmlComment/expected.js | 0 .../codegen}/htmlComment/index.js | 0 .../htmlElement-addAttribute/expected.js | 0 .../htmlElement-addAttribute/index.js | 0 .../htmlElement-attr-escape/expected.js | 0 .../codegen}/htmlElement-attr-escape/index.js | 0 .../codegen}/htmlElement-dynamic/expected.js | 0 .../codegen}/htmlElement-dynamic/index.js | 0 .../codegen}/htmlElement/expected.js | 0 .../codegen}/htmlElement/index.js | 0 .../codegen}/identifier/expected.js | 0 .../codegen}/identifier/index.js | 0 .../codegen}/if-else-if-else/expected.js | 0 .../codegen}/if-else-if-else/index.js | 0 .../codegen}/if-else-if/expected.js | 0 .../codegen}/if-else-if/index.js | 0 .../codegen}/if-else/expected.js | 0 .../codegen}/if-else/index.js | 0 .../codegen}/if-write-if/expected.js | 0 .../codegen}/if-write-if/index.js | 0 .../codegen}/if/expected.js | 0 .../codegen}/if/index.js | 0 .../codegen}/insertSiblingAfter/expected.js | 0 .../codegen}/insertSiblingAfter/index.js | 0 .../codegen}/insertSiblingBefore/expected.js | 0 .../codegen}/insertSiblingBefore/index.js | 0 .../codegen}/invokeMacro-body/expected.js | 0 .../codegen}/invokeMacro-body/index.js | 0 .../codegen}/invokeMacro/expected.js | 0 .../codegen}/invokeMacro/index.js | 0 .../expected.js | 0 .../index.js | 0 .../codegen}/invokeMacroFromEl/expected.js | 0 .../codegen}/invokeMacroFromEl/index.js | 0 .../codegen}/literal/expected.js | 0 .../codegen}/literal/index.js | 0 .../codegen}/macro/expected.js | 0 .../codegen}/macro/index.js | 0 .../codegen}/marko-template/expected.js | 0 .../codegen}/marko-template/index.js | 0 .../codegen}/moveChildrenTo/expected.js | 0 .../codegen}/moveChildrenTo/index.js | 0 .../codegen}/negate/expected.js | 0 .../codegen}/negate/index.js | 0 .../codegen}/new/expected.js | 0 .../codegen}/new/index.js | 0 .../codegen}/node/expected.js | 0 .../codegen}/node/index.js | 0 .../codegen}/program/expected.js | 0 .../codegen}/program/index.js | 0 .../codegen}/removeAllAttributes/expected.js | 0 .../codegen}/removeAllAttributes/index.js | 0 .../codegen}/renderBodyFunction/expected.js | 0 .../codegen}/renderBodyFunction/index.js | 0 .../returnStatement-empty/expected.js | 0 .../codegen}/returnStatement-empty/index.js | 0 .../codegen}/returnStatement/expected.js | 0 .../codegen}/returnStatement/index.js | 0 .../selfInvokingFunction-no-args/expected.js | 0 .../selfInvokingFunction-no-args/index.js | 0 .../expected.js | 0 .../selfInvokingFunction-null-args/index.js | 0 .../codegen}/selfInvokingFunction/expected.js | 0 .../codegen}/selfInvokingFunction/index.js | 0 .../codegen}/simple/expected.js | 0 .../codegen}/simple/index.js | 0 .../codegen}/slot-with-statements/expected.js | 0 .../codegen}/slot-with-statements/index.js | 0 .../slot-with-writes-nested/expected.js | 0 .../codegen}/slot-with-writes-nested/index.js | 0 .../codegen}/slot-with-writes/expected.js | 0 .../codegen}/slot-with-writes/index.js | 0 .../codegen}/slot/expected.js | 0 .../codegen}/slot/index.js | 0 .../codegen}/strictEquality/expected.js | 0 .../codegen}/strictEquality/index.js | 0 .../templateRoot-prependChild/expected.js | 0 .../templateRoot-prependChild/index.js | 0 .../codegen}/unaryExpression/expected.js | 0 .../codegen}/unaryExpression/index.js | 0 .../codegen}/var-scoped/expected.js | 0 .../codegen}/var-scoped/index.js | 0 .../codegen}/var/expected.js | 0 .../codegen}/var/index.js | 0 .../codegen}/vars-array/expected.js | 0 .../codegen}/vars-array/index.js | 0 .../codegen}/vars-object/expected.js | 0 .../codegen}/vars-object/index.js | 0 .../compiler}/addNestedVariable/expected.js | 2 +- .../compiler/addNestedVariable/marko.json | 3 + .../test-addNestedVariable/marko-tag.json | 0 .../tags}/test-addNestedVariable/renderer.js | 0 .../test-addNestedVariable/transformer.js | 0 .../addNestedVariable/template.marko | 0 .../compiler}/attr-escape/expected.js | 0 .../compiler}/attr-escape/template.marko | 0 .../attr-placeholder-escapeXml/expected.js | 0 .../foo-transformer.js | 0 .../attr-placeholder-escapeXml/marko.json | 0 .../attr-placeholder-escapeXml/template.marko | 0 .../compiler}/createNodeFromEl/expected.js | 2 +- .../compiler/createNodeFromEl/marko.json | 3 + .../test-createNodeFromEl/code-generator.js | 0 .../tags}/test-hello/marko-tag.json | 0 .../tags}/test-hello/renderer.js | 0 .../compiler}/createNodeFromEl/template.marko | 0 .../custom-tag-body-function/expected.js | 2 +- .../custom-tag-body-function/marko.json | 3 + .../tags}/test-body-function/marko-tag.json | 0 .../tags}/test-body-function/renderer.js | 0 .../custom-tag-body-function/template.marko | 0 .../custom-tag-data/custom-tag-data-tag.js | 0 .../compiler}/custom-tag-data/expected.js | 0 .../compiler}/custom-tag-data/marko.json | 0 .../compiler}/custom-tag-data/template.marko | 0 .../custom-tag-import-var/expected.js | 2 +- .../compiler/custom-tag-import-var/marko.json | 3 + .../tags}/test-import-var/marko-tag.json | 0 .../tags}/test-import-var/renderer.js | 0 .../custom-tag-import-var/template.marko | 0 .../compiler}/custom-tag-template/expected.js | 0 .../compiler/custom-tag-template/hello.marko | 1 + .../compiler}/custom-tag-template/marko.json | 0 .../custom-tag-template/template.marko | 0 .../compiler}/custom-tag/expected.js | 2 +- test/autotests/compiler/custom-tag/marko.json | 3 + .../custom-tag/tags/test-hello/marko-tag.json | 5 + .../custom-tag/tags/test-hello/renderer.js | 14 + .../compiler}/custom-tag/template.marko | 0 .../compiler}/entities/expected.js | 0 .../compiler}/entities/template.marko | 0 .../compiler}/hello-dynamic/expected.js | 0 .../compiler}/hello-dynamic/template.marko | 0 .../compiler}/importModule/expected.js | 0 .../compiler/importModule/marko.json | 3 + .../test-import-module/code-generator.js | 0 .../compiler}/importModule/template.marko | 0 .../compiler}/include/expected.js | 0 .../compiler}/include/target.marko | 0 .../compiler}/include/template.marko | 0 .../compiler}/invoke-if/expected.js | 0 .../compiler}/invoke-if/template.marko | 0 .../compiler}/invoke/expected.js | 0 .../compiler}/invoke/template.marko | 0 .../compiler}/macros/expected.js | 0 .../compiler}/macros/template.marko | 0 .../compiler}/marko-init/expected.js | 0 .../compiler}/marko-init/template.marko | 0 .../nested-tags-missing-parent/expected.html | 0 .../nested-tags-missing-parent/marko.json | 3 + .../test-nested-tags-overlay/marko-tag.json | 0 .../test-nested-tags-overlay/renderer.js | 0 .../test-nested-tags-overlay/template.marko | 0 .../nested-tags-missing-parent/template.marko | 0 .../nested-tags-missing-parent/test.js | 0 .../compiler}/nested-tags/expected.js | 2 +- .../autotests/compiler/nested-tags/marko.json | 3 + .../test-nested-tags-overlay/marko-tag.json | 23 + .../tags/test-nested-tags-overlay/renderer.js | 14 + .../test-nested-tags-overlay/template.marko | 13 + .../compiler}/nested-tags/template.marko | 0 .../compiler}/replaceWith/expected.js | 0 .../autotests/compiler/replaceWith/marko.json | 3 + .../tags}/test-replaceWith/marko-tag.json | 0 .../tags}/test-replaceWith/transformer.js | 0 .../compiler}/replaceWith/template.marko | 0 .../compiler}/simple/expected.js | 0 .../compiler}/simple/template.marko | 0 .../compiler}/static/expected.js | 0 .../compiler}/static/template.marko | 0 .../ArrayExpression/expected.js | 0 .../ArrayExpression/input.js | 0 .../Assignment/expected.js | 0 .../expression-toString}/Assignment/input.js | 0 .../BinaryExpression/expected.js | 0 .../BinaryExpression/input.js | 0 .../ConditionalExpression/expected.js | 0 .../ConditionalExpression/input.js | 0 .../FunctionCall/expected.js | 0 .../FunctionCall/input.js | 0 .../Literal-boolean/expected.js | 0 .../Literal-boolean/input.js | 0 .../Literal-null/expected.js | 0 .../Literal-null/input.js | 0 .../Literal-number/expected.js | 0 .../Literal-number/input.js | 0 .../Literal-string/expected.js | 0 .../Literal-string/input.js | 0 .../Literal-undefined/expected.js | 0 .../Literal-undefined/input.js | 0 .../NewExpression/expected.js | 0 .../NewExpression/input.js | 0 .../ObjectExpression/expected.js | 0 .../ObjectExpression/input.js | 0 .../ThisExpression/expected.js | 0 .../ThisExpression/input.js | 0 .../UnaryExpression.js/expected.js | 0 .../UnaryExpression.js/input.js | 0 .../UpdateExpression/expected.js | 0 .../UpdateExpression/input.js | 0 test/autotests/hot-reload/load/.gitignore | 1 + test/autotests/hot-reload/load/template.marko | 1 + test/autotests/hot-reload/load/test.js | 22 + test/autotests/hot-reload/require/.gitignore | 1 + .../hot-reload/require/template.marko | 1 + test/autotests/hot-reload/require/test.js | 22 + .../parseExpression}/array/expected.json | 0 .../parseExpression}/array/input.txt | 0 .../binaryExpression/expected.json | 0 .../binaryExpression/input.txt | 0 .../parseExpression}/complex/expected.json | 0 .../parseExpression}/complex/input.txt | 0 .../parseExpression}/id/expected.json | 0 .../parseExpression}/id/input.txt | 0 .../increment-prefix/expected.json | 0 .../increment-prefix/input.txt | 0 .../increment-suffix/expected.json | 0 .../increment-suffix/input.txt | 0 .../literal-number/expected.json | 0 .../parseExpression}/literal-number/input.txt | 0 .../literal-string/expected.json | 0 .../parseExpression}/literal-string/input.txt | 0 .../parseExpression}/negate/expected.json | 0 .../parseExpression}/negate/input.txt | 0 .../parseExpression}/new-args/expected.json | 0 .../parseExpression}/new-args/input.txt | 0 .../new-compound/expected.json | 0 .../parseExpression}/new-compound/input.txt | 0 .../parseExpression}/new/expected.json | 0 .../parseExpression}/new/input.txt | 0 .../parseExpression}/object/expected.json | 0 .../parseExpression}/object/input.txt | 0 .../parseExpression}/this/expected.json | 0 .../parseExpression}/this/input.txt | 0 .../parseFor}/forEach-comment/expected.json | 0 .../parseFor}/forEach-comment/input.txt | 0 .../parseFor}/forEach-crazy/expected.json | 0 .../parseFor}/forEach-crazy/input.txt | 0 .../forEach-invalid-option/expected.json | 0 .../forEach-invalid-option/input.txt | 0 .../forEach-invalid-option2/expected.json | 0 .../forEach-invalid-option2/input.txt | 0 .../parseFor}/forEach-iterator/expected.json | 0 .../parseFor}/forEach-iterator/input.txt | 0 .../parseFor}/forEach-nesting/expected.json | 0 .../parseFor}/forEach-nesting/input.txt | 0 .../parseFor}/forEach-simple/expected.json | 0 .../parseFor}/forEach-simple/input.txt | 0 .../expected.json | 0 .../input.txt | 0 .../expected.json | 0 .../forEach-status-var-separator/input.txt | 0 .../forEach-status-var/expected.json | 0 .../parseFor}/forEach-status-var/input.txt | 0 .../parseFor}/forEach-strings/expected.json | 0 .../parseFor}/forEach-strings/input.txt | 0 .../parseFor}/forEachProp/expected.json | 0 .../parseFor}/forEachProp/input.txt | 0 .../parseFor}/forRange-to-expr/expected.json | 0 .../parseFor}/forRange-to-expr/input.txt | 0 .../nativeFor-empty-init/expected.json | 0 .../parseFor}/nativeFor-empty-init/input.txt | 0 .../parseFor}/nativeFor-invalid/expected.json | 0 .../parseFor}/nativeFor-invalid/input.txt | 0 .../parseFor}/nativeFor/expected.json | 0 .../parseFor}/nativeFor/input.txt | 0 .../parseJavaScriptArgs}/mixed/expected.json | 0 .../parseJavaScriptArgs}/mixed/input.txt | 0 .../parser}/empty-attr/expected.json | 0 .../parser}/empty-attr/template.marko | 0 .../parser}/scriptlet/expected.json | 0 .../parser}/scriptlet/template.marko | 0 .../parser}/var-body/expected.json | 0 .../parser}/var-body/template.marko | 0 .../pretty-print}/assignment/expected.js | 0 .../pretty-print}/assignment/expected.json | 0 .../pretty-print}/assignment/index.js | 0 .../marko-template/expected.json | 0 .../pretty-print}/marko-template/index.js | 0 .../render}/assign-tag/expected.html | 0 .../render}/assign-tag/template.marko | 0 .../render}/assign-tag/test.js | 0 .../attr-boolean-dynamic/expected.html | 0 .../attr-boolean-dynamic/template.marko | 0 .../render}/attr-boolean-dynamic/test.js | 0 .../attr-boolean-placeholder/expected.html | 0 .../attr-boolean-placeholder/template.marko | 0 .../render}/attr-boolean-placeholder/test.js | 0 .../render}/attr-boolean-static/expected.html | 0 .../attr-boolean-static/template.marko | 0 .../render}/attr-boolean-static/test.js | 0 .../render}/attr-empty-dynamic/expected.html | 0 .../render}/attr-empty-dynamic/template.marko | 0 .../render}/attr-empty-dynamic/test.js | 0 .../render}/attr-empty/expected.html | 0 .../render}/attr-empty/template.marko | 0 .../render}/attr-empty/test.js | 0 .../render}/attr-escape-xml/expected.html | 0 .../render}/attr-escape-xml/template.marko | 0 .../render}/attr-escape-xml/test.js | 0 .../attr-newline-concise/expected.html | 0 .../attr-newline-concise/template.marko | 0 .../render}/attr-newline-concise/test.js | 0 .../attr-newline-escaped/expected.html | 0 .../attr-newline-escaped/template.marko | 0 .../render}/attr-newline-escaped/test.js | 0 .../render}/attr-newline/expected.html | 0 .../render}/attr-newline/template.marko | 0 .../render}/attr-newline/test.js | 0 .../render}/attr-path/expected.html | 0 .../render}/attr-path/foo-tag.js | 0 .../render}/attr-path/foo.txt | 0 .../render}/attr-path/marko.json | 0 .../render}/attr-path/template.marko | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../render}/attr-set-flag/expected.html | 0 .../render}/attr-set-flag/marko.json | 0 .../render}/attr-set-flag/template.marko | 0 .../render}/attr-set-flag/transformer.js | 0 .../render}/attr-template/expected.html | 0 .../render}/attr-template/foo-tag.js | 0 .../render}/attr-template/foo-template.marko | 0 .../render}/attr-template/marko.json | 0 .../render}/attr-template/template.marko | 0 .../render}/attrs/expected.html | 0 .../render}/attrs/template.marko | 0 .../render}/attrs/test.js | 0 .../render}/body-only-if/expected.html | 0 .../render}/body-only-if/template.marko | 0 .../render}/body-only-if/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../body-placeholder-literal-escaped/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../body-placeholder-literal/expected.html | 0 .../body-placeholder-literal/template.marko | 0 .../render}/body-placeholder-literal/test.js | 0 .../body-placeholder-literal2/expected.html | 0 .../body-placeholder-literal2/template.marko | 0 .../render}/body-placeholder-literal2/test.js | 0 .../render}/cdata/expected.html | 0 .../render}/cdata/template.marko | 0 .../render}/cdata/test.js | 0 .../render}/circular-renderer/expected.html | 0 .../render/circular-renderer/marko.json | 3 + .../test-circular-renderer-a/renderer.js | 0 .../test-circular-renderer-a/template.marko | 0 .../test-circular-renderer-b/renderer.js | 0 .../test-circular-renderer-b}/template.marko | 0 .../render/circular-renderer}/template.marko | 0 .../render}/circular-renderer/test.js | 0 .../expected.html | 0 .../circular-tags-no-write-to-disk/marko.json | 0 .../tags/navigation-item/template.marko | 0 .../template.marko | 0 .../circular-tags-no-write-to-disk/test.js | 0 .../render}/circular-template/expected.html | 0 .../render/circular-template/marko.json | 3 + .../test-circular-template-a/template.marko | 0 .../test-circular-template-b/template.marko | 0 .../render}/circular-template/template.marko | 0 .../render}/circular-template/test.js | 0 .../render}/class-attr-array/expected.html | 0 .../render}/class-attr-array/template.marko | 0 .../render}/class-attr-array/test.js | 0 .../render}/class-attr-object/expected.html | 0 .../render}/class-attr-object/template.marko | 0 .../render}/class-attr-object/test.js | 0 .../render}/class-attr-string/expected.html | 0 .../render}/class-attr-string/template.marko | 0 .../render}/class-attr-string/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../comments-preserve-ie-conditional/test.js | 0 .../render}/comments-remove/expected.html | 0 .../render}/comments-remove/template.marko | 0 .../render}/comments-remove/test.js | 0 .../render}/concise-verbose/expected.html | 0 .../render}/concise-verbose/template.marko | 0 .../render}/concise-verbose/test.js | 0 .../render}/concise/expected.html | 0 .../render}/concise/template.marko | 0 .../render}/concise/test.js | 0 .../conditional-attributes/expected.html | 0 .../conditional-attributes/template.marko | 0 .../render}/conditional-attributes/test.js | 0 .../custom-tag-as-template/expected.html | 0 .../render/custom-tag-as-template/marko.json | 3 + .../tags}/test-template-as-tag/marko-tag.json | 0 .../tags/test-template-as-tag}/template.marko | 0 .../custom-tag-as-template/template.marko | 0 .../render}/custom-tag-as-template/test.js | 0 .../render}/custom-tag-body/expected.html | 0 .../render/custom-tag-body/marko.json | 3 + .../tags/test-hello/marko-tag.json | 5 + .../tags/test-hello/renderer.js | 14 + .../render}/custom-tag-body/template.marko | 0 .../render}/custom-tag-body/test.js | 0 .../expected.html | 0 .../custom-tag-data-arg-with-attrs/marko.json | 3 + .../tags/test-hello/marko-tag.json | 5 + .../tags/test-hello/renderer.js | 14 + .../template.marko | 0 .../custom-tag-data-arg-with-attrs/test.js | 0 .../render}/custom-tag-data-arg/expected.html | 0 .../render/custom-tag-data-arg/marko.json | 3 + .../tags/test-hello/marko-tag.json | 5 + .../tags/test-hello/renderer.js | 14 + .../custom-tag-data-arg/template.marko | 0 .../render}/custom-tag-data-arg/test.js | 0 .../custom-tag-data-arg2/expected.html | 0 .../render/custom-tag-data-arg2/marko.json | 3 + .../tags/test-hello/marko-tag.json | 5 + .../tags/test-hello/renderer.js | 14 + .../custom-tag-data-arg2/template.marko | 0 .../render}/custom-tag-data-arg2/test.js | 0 .../expected.html | 0 .../custom-tag-data-placeholders/marko.json | 3 + .../tags/test-hello/marko-tag.json | 5 + .../tags/test-hello/renderer.js | 14 + .../template.marko | 0 .../custom-tag-data-placeholders/test.js | 0 .../expected.html | 0 .../custom-tag-declared-attributes/marko.json | 3 + .../test-declared-attributes/marko-tag.json | 4 + .../test-declared-attributes/renderer.js | 0 .../template.marko | 0 .../custom-tag-declared-attributes/test.js | 0 .../custom-tag-hyphen-attrs/custom-tag.js | 0 .../custom-tag-hyphen-attrs/expected.html | 0 .../custom-tag-hyphen-attrs/marko.json | 0 .../custom-tag-hyphen-attrs/template.marko | 0 .../render}/custom-tag-hyphen-attrs/test.js | 0 .../custom-tag-open-tag-only/expected.html | 0 .../custom-tag-open-tag-only/marko.json | 0 .../open-tag-only-tag.js | 0 .../custom-tag-open-tag-only/template.marko | 0 .../render}/custom-tag-open-tag-only/test.js | 0 .../custom-tag-target-property/expected.html | 0 .../custom-tag-target-property/marko.json | 3 + .../tags/test-target-property/marko-tag.json | 6 + .../tags}/test-target-property/renderer.js | 0 .../custom-tag-target-property/template.marko | 0 .../custom-tag-target-property/test.js | 0 .../custom-tag-with-directives/expected.html | 0 .../custom-tag-with-directives/marko.json | 3 + .../tags/test-hello/marko-tag.json | 5 + .../tags/test-hello/renderer.js | 14 + .../custom-tag-with-directives/template.marko | 0 .../custom-tag-with-directives/test.js | 0 .../render}/custom-tag/expected.html | 0 test/autotests/render/custom-tag/marko.json | 3 + .../custom-tag/tags/test-hello/marko-tag.json | 5 + .../custom-tag/tags/test-hello/renderer.js | 14 + .../render}/custom-tag/template.marko | 0 .../render}/custom-tag/test.js | 0 .../render}/default-attributes/expected.html | 0 .../render/default-attributes/marko.json | 3 + .../test-default-attributes/marko-tag.json | 0 .../tags}/test-default-attributes/renderer.js | 0 .../render}/default-attributes/template.marko | 0 .../render}/default-attributes/test.js | 0 .../render}/div-self-closed/expected.html | 0 .../render}/div-self-closed/template.marko | 0 .../render}/div-self-closed/test.js | 0 .../render}/doctype/expected.html | 0 .../render}/doctype/template.marko | 0 .../render}/doctype/test.js | 0 .../render}/dtd/expected.html | 0 .../render}/dtd/template.marko | 0 .../autotest => autotests/render}/dtd/test.js | 0 .../dynamic-attributes-string/expected.html | 0 .../dynamic-attributes-string/template.marko | 0 .../render}/dynamic-attributes-string/test.js | 0 .../render}/dynamic-attributes/expected.html | 0 .../render/dynamic-attributes/marko.json | 3 + .../test-dynamic-attributes/marko-tag.json | 0 .../tags}/test-dynamic-attributes/renderer.js | 0 .../render}/dynamic-attributes/template.marko | 0 .../render}/dynamic-attributes/test.js | 0 .../render}/dynamic-attributes2/expected.html | 0 .../render/dynamic-attributes2/marko.json | 3 + .../test-dynamic-attributes2/marko-tag.json | 0 .../test-dynamic-attributes2/renderer.js | 0 .../dynamic-attributes2/template.marko | 0 .../render}/dynamic-attributes2/test.js | 0 .../render}/dynamic-attributes3/expected.html | 0 .../render/dynamic-attributes3/marko.json | 3 + .../test-dynamic-attributes3/marko-tag.json | 0 .../test-dynamic-attributes3/renderer.js | 0 .../dynamic-attributes3/template.marko | 0 .../render}/dynamic-attributes3/test.js | 0 .../render}/dynamic-tag-name/expected.html | 0 .../render}/dynamic-tag-name/template.marko | 0 .../render}/dynamic-tag-name/test.js | 0 .../render}/empty-close-tag/expected.html | 0 .../render}/empty-close-tag/template.marko | 0 .../render}/empty-close-tag/test.js | 0 .../render}/entities/expected.html | 0 .../render}/entities/template.marko | 0 .../render}/entities/test.js | 0 .../render}/error-bad-expression/marko.json | 0 .../error-bad-expression/template.marko | 0 .../render}/error-bad-expression/test.js | 0 .../render/error-invalid-attr/marko.json | 5 + .../render}/error-invalid-attr/template.marko | 0 .../render}/error-invalid-attr/test.js | 0 .../error-invalid-else-if-tag/template.marko | 0 .../render}/error-invalid-else-if-tag/test.js | 0 .../template.marko | 0 .../error-invalid-for-attr-separator/test.js | 0 .../error-invalid-for-attr/template.marko | 0 .../render}/error-invalid-for-attr/test.js | 0 .../error-invalid-for-props/template.marko | 0 .../render}/error-invalid-for-props/test.js | 0 .../template.marko | 0 .../error-invalid-for-range-step/test.js | 0 .../template.marko | 0 .../error-invalid-for-range-to-expr/test.js | 0 .../error-invalid-for-range/template.marko | 0 .../render}/error-invalid-for-range/test.js | 0 .../error-invalid-if-attr/template.marko | 0 .../render}/error-invalid-if-attr/test.js | 0 .../error-invalid-if-else-attr/template.marko | 0 .../error-invalid-if-else-attr/test.js | 0 .../template.marko | 0 .../error-invalid-if-else-if-attr/test.js | 0 .../template.marko | 0 .../test.js | 0 .../template.marko | 0 .../error-invalid-if-else-if-else-tag/test.js | 0 .../template.marko | 0 .../error-invalid-if-else-if-tag/test.js | 0 .../error-invalid-if-else-tag/template.marko | 0 .../render}/error-invalid-if-else-tag/test.js | 0 .../error-invalid-if-tag/template.marko | 0 .../render}/error-invalid-if-tag/test.js | 0 .../error-invalid-unless-tag/template.marko | 0 .../render}/error-invalid-unless-tag/test.js | 0 .../error-mismatched-tags/expected.html | 0 .../error-mismatched-tags/template.marko | 0 .../render}/error-mismatched-tags/test.js | 0 .../error-missing-required-attr/marko.json | 7 + .../template.marko | 0 .../error-missing-required-attr/test.js | 0 .../error-open-tag-only-concise/marko.json | 0 .../template.marko | 0 .../error-open-tag-only-concise/test.js | 0 .../error-open-tag-only-html/marko.json | 0 .../error-open-tag-only-html/template.marko | 0 .../render}/error-open-tag-only-html/test.js | 0 .../render}/escaped-dollar/expected.html | 0 .../render}/escaped-dollar/template.marko | 0 .../render}/escaped-dollar/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../for-attr-separator-status-var/test.js | 0 .../render}/for-attr-separator/expected.html | 0 .../render}/for-attr-separator/template.marko | 0 .../render}/for-attr-separator/test.js | 0 .../for-attr-status-var-string/expected.html | 0 .../for-attr-status-var-string/template.marko | 0 .../for-attr-status-var-string/test.js | 0 .../render}/for-attr/expected.html | 0 .../render}/for-attr/template.marko | 0 .../render}/for-attr/test.js | 0 .../render}/for-if-attr/expected.html | 0 .../render}/for-if-attr/template.marko | 0 .../render}/for-if-attr/test.js | 0 .../for-iterator-as-target/expected.html | 0 .../for-iterator-as-target/template.marko | 0 .../render}/for-iterator-as-target/test.js | 0 .../render}/for-iterator-attr/expected.html | 0 .../render}/for-iterator-attr/template.marko | 0 .../render}/for-iterator-attr/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../for-iterator-status-var-attr/test.js | 0 .../for-iterator-status-var/expected.html | 0 .../for-iterator-status-var/template.marko | 0 .../render}/for-iterator-status-var/test.js | 0 .../render}/for-iterator/expected.html | 0 .../render}/for-iterator/template.marko | 0 .../render}/for-iterator/test.js | 0 .../render}/for-native/expected.html | 0 .../render}/for-native/template.marko | 0 .../render}/for-native/test.js | 0 .../render}/for-props-attr/expected.html | 0 .../render}/for-props-attr/template.marko | 0 .../render}/for-props-attr/test.js | 0 .../render}/for-props/expected.html | 0 .../render}/for-props/template.marko | 0 .../render}/for-props/test.js | 0 .../for-range-descending-step/expected.html | 0 .../for-range-descending-step/template.marko | 0 .../render}/for-range-descending-step/test.js | 0 .../for-range-descending/expected.html | 0 .../for-range-descending/template.marko | 0 .../render}/for-range-descending/test.js | 0 .../for-range-from-to-expr/expected.html | 0 .../for-range-from-to-expr/template.marko | 0 .../render}/for-range-from-to-expr/test.js | 0 .../render}/for-range-step-2/expected.html | 0 .../render}/for-range-step-2/template.marko | 0 .../render}/for-range-step-2/test.js | 0 .../render}/for-range-step-neg2/expected.html | 0 .../for-range-step-neg2/template.marko | 0 .../render}/for-range-step-neg2/test.js | 0 .../render}/for-range-to-expr/expected.html | 0 .../render}/for-range-to-expr/template.marko | 0 .../render}/for-range-to-expr/test.js | 0 .../render}/for-range/expected.html | 0 .../render}/for-range/template.marko | 0 .../render}/for-range/test.js | 0 .../for-tag-invalid-option/expected.html | 0 .../for-tag-invalid-option/template.marko | 0 .../render}/for-tag-invalid-option/test.js | 0 .../render}/for-tag-native/expected.html | 0 .../render}/for-tag-native/template.marko | 0 .../render}/for-tag-native/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../for-tag-separator-status-var/test.js | 0 .../render}/for-tag-separator/expected.html | 0 .../render}/for-tag-separator/template.marko | 0 .../render}/for-tag-separator/test.js | 0 .../render}/for-tag/expected.html | 0 .../render}/for-tag/template.marko | 0 .../render}/for-tag/test.js | 0 .../render}/global-data/expected.html | 0 .../render}/global-data/template.marko | 0 .../render}/global-data/test.js | 0 .../render}/hello-dynamic/expected.html | 0 .../hello-dynamic.marko.expected.js | 0 .../render}/hello-dynamic/template.marko | 0 .../render}/hello-dynamic/test.js | 0 .../render}/hello-static/expected.html | 0 .../render}/hello-static/template.marko | 0 .../render}/hello-static/test.js | 0 .../render}/html-comment-tag/expected.html | 0 .../render}/html-comment-tag/template.marko | 0 .../render}/html-comment-tag/test.js | 0 .../render}/html-entities-body/expected.html | 0 .../render}/html-entities-body/template.marko | 0 .../render}/html-entities-body/test.js | 0 .../render}/html/expected.html | 0 .../render}/html/template.marko | 0 .../render}/html/test.js | 0 .../render}/if-attr/expected.html | 0 .../render}/if-attr/template.marko | 0 .../render}/if-attr/test.js | 0 .../render}/if-concise/expected.html | 0 .../render}/if-concise/template.marko | 0 .../render}/if-concise/test.js | 0 .../render}/if-else-attr/expected.html | 0 .../render}/if-else-attr/template.marko | 0 .../render}/if-else-attr/test.js | 0 .../render}/if-else-concise/expected.html | 0 .../render}/if-else-concise/template.marko | 0 .../render}/if-else-concise/test.js | 0 .../render}/if-else-if-attr/expected.html | 0 .../render}/if-else-if-attr/template.marko | 0 .../render}/if-else-if-attr/test.js | 0 .../render}/if-else-if-concise/expected.html | 0 .../render}/if-else-if-concise/template.marko | 0 .../render}/if-else-if-concise/test.js | 0 .../if-else-if-else-attr/expected.html | 0 .../if-else-if-else-attr/template.marko | 0 .../render}/if-else-if-else-attr/test.js | 0 .../if-else-if-else-concise/expected.html | 0 .../if-else-if-else-concise/template.marko | 0 .../render}/if-else-if-else-concise/test.js | 0 .../render}/if-else-if-else/expected.html | 0 .../render}/if-else-if-else/template.marko | 0 .../render}/if-else-if-else/test.js | 0 .../render}/if-else-if/expected.html | 0 .../render}/if-else-if/template.marko | 0 .../render}/if-else-if/test.js | 0 .../render}/if-else/expected.html | 0 .../render}/if-else/template.marko | 0 .../render}/if-else/test.js | 0 .../render}/if/expected.html | 0 .../render}/if/template.marko | 0 .../autotest => autotests/render}/if/test.js | 0 .../render}/img/expected.html | 0 .../render}/img/template.marko | 0 .../autotest => autotests/render}/img/test.js | 0 .../render}/include-body-empty/expected.html | 0 .../include-body-empty/include-target.marko | 0 .../render}/include-body-empty/template.marko | 0 .../render}/include-body-empty/test.js | 0 .../render}/include-body/expected.html | 0 .../render}/include-body/include-target.marko | 0 .../render}/include-body/template.marko | 0 .../render}/include-body/test.js | 0 .../render}/include-data-body/expected.html | 0 .../include-data-body/include-target.marko | 0 .../render}/include-data-body/template.marko | 0 .../render}/include-data-body/test.js | 0 .../render}/include-data/expected.html | 0 .../render}/include-data/include-target.marko | 0 .../render}/include-data/template.marko | 0 .../render}/include-data/test.js | 0 .../render}/include-dynamic/expected.html | 0 .../include-dynamic/include-target.marko | 0 .../render}/include-dynamic/template.marko | 0 .../render}/include-dynamic/test.js | 0 .../render}/include-text/expected.html | 0 .../include-text/include-resource-target.txt | 0 .../render}/include-text/template.marko | 0 .../render}/include-text/test.js | 0 .../render}/include/expected.html | 0 .../render}/include/include-target.marko | 0 .../render}/include/template.marko | 0 .../render}/include/test.js | 0 .../render}/inline-script/expected.html | 0 .../render}/inline-script/template.marko | 0 .../render}/inline-script/test.js | 0 .../render}/invoke/expected.html | 0 .../render}/invoke/template.marko | 0 .../render}/invoke/test.js | 0 .../render}/label-for/expected.html | 0 .../render}/label-for/template.marko | 0 .../render}/label-for/test.js | 0 .../layout-use-data-attrs/expected.html | 0 .../layout-default.marko | 0 .../layout-use-data-attrs/template.marko | 0 .../render}/layout-use-data-attrs/test.js | 0 .../render}/layout-use-data/expected.html | 0 .../layout-use-data/layout-default.marko | 0 .../render}/layout-use-data/template.marko | 0 .../render}/layout-use-data/test.js | 0 .../render}/layout-use-html-ext/.gitignore | 0 .../render}/layout-use-html-ext/expected.html | 0 .../layout-use-html-ext/layout-default.html | 0 .../layout-use-html-ext/template.marko | 0 .../render}/layout-use-html-ext/test.js | 0 .../render}/layout-use/expected.html | 0 .../render}/layout-use/layout-default.marko | 0 .../render}/layout-use/template.marko | 0 .../render}/layout-use/test.js | 0 .../render}/macro-body/expected.html | 0 .../render}/macro-body/template.marko | 0 .../render}/macro-body/test.js | 0 .../render}/macro-boolean/expected.html | 0 .../render}/macro-boolean/template.marko | 0 .../render}/macro-boolean/test.js | 0 .../render}/macro-no-args/expected.html | 0 .../render}/macro-no-args/template.marko | 0 .../render}/macro-no-args/test.js | 0 .../macro-positional-args/expected.html | 0 .../macro-positional-args/template.marko | 0 .../render}/macro-positional-args/test.js | 0 .../render}/macro/expected.html | 0 .../render}/macro/template.marko | 0 .../render}/macro/test.js | 0 .../marko-body-attr-parsed-text/expected.html | 0 .../template.marko | 0 .../marko-body-attr-parsed-text/test.js | 0 .../marko-body-attr-static-text/expected.html | 0 .../template.marko | 0 .../marko-body-attr-static-text/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../expected.html | 0 .../template.marko | 0 .../marko-preserve-whitespace-attr/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../marko-preserve-whitespace-tag/test.js | 0 .../render}/nested-tags-concise/expected.html | 0 .../render/nested-tags-concise/marko.json | 3 + .../test-nested-tags-tabs}/marko-tag.json | 0 .../tags/test-nested-tags-tabs}/renderer.js | 0 .../test-nested-tags-tabs}/template.marko | 0 .../nested-tags-concise/template.marko | 0 .../render}/nested-tags-concise/test.js | 0 .../render}/nested-tags-deep/expected.html | 0 .../render/nested-tags-deep/marko.json | 3 + .../test-nested-tags-deep/marko-tag.json | 0 .../tags}/test-nested-tags-deep/renderer.js | 0 .../test-nested-tags-deep/template.marko | 0 .../render}/nested-tags-deep/template.marko | 0 .../render}/nested-tags-deep/test.js | 0 .../nested-tags-empty-body/expected.html | 0 .../render/nested-tags-empty-body/marko.json | 3 + .../test-nested-tags-tabs}/marko-tag.json | 0 .../tags/test-nested-tags-tabs}/renderer.js | 0 .../test-nested-tags-tabs}/template.marko | 0 .../nested-tags-empty-body/template.marko | 0 .../render}/nested-tags-empty-body/test.js | 0 .../nested-tags-repeated-parent/expected.html | 0 .../nested-tags-repeated-parent/marko.json | 3 + .../test-nested-tags-overlay/marko-tag.json | 23 + .../tags/test-nested-tags-overlay/renderer.js | 14 + .../test-nested-tags-overlay/template.marko | 13 + .../template.marko | 0 .../nested-tags-repeated-parent/test.js | 0 .../nested-tags-repeated/expected.html | 0 .../render/nested-tags-repeated/marko.json | 3 + .../test-nested-tags-tabs}/marko-tag.json | 0 .../tags/test-nested-tags-tabs}/renderer.js | 0 .../test-nested-tags-tabs}/template.marko | 0 .../nested-tags-repeated/template.marko | 0 .../render}/nested-tags-repeated/test.js | 0 .../nested-tags-self-closing/expected.html | 0 .../nested-tags-self-closing/marko.json | 3 + .../test-nested-tags-tabs/marko-tag.json | 0 .../tags}/test-nested-tags-tabs/renderer.js | 0 .../test-nested-tags-tabs/template.marko | 0 .../nested-tags-self-closing/template.marko | 0 .../render}/nested-tags-self-closing/test.js | 0 .../render}/nested-tags/expected.html | 0 test/autotests/render/nested-tags/marko.json | 3 + .../test-nested-tags-overlay/marko-tag.json | 23 + .../tags/test-nested-tags-overlay/renderer.js | 14 + .../test-nested-tags-overlay/template.marko | 13 + .../render}/nested-tags/template.marko | 0 .../render}/nested-tags/test.js | 0 .../open-tag-only-renderer/expected.html | 0 .../render}/open-tag-only-renderer/marko.json | 0 .../open-tag-only-renderer/renderer.js | 0 .../open-tag-only-renderer/template.marko | 0 .../render}/open-tag-only-renderer/test.js | 0 .../render}/open-tag-only/expected.html | 0 .../render}/open-tag-only/marko.json | 0 .../render}/open-tag-only/template.marko | 0 .../render}/open-tag-only/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../placeholders-body-expressions/test.js | 0 .../preserveWhitespace-global/expected.html | 0 .../preserveWhitespace-global/template.marko | 0 .../render}/preserveWhitespace-global/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../preserveWhitespace-load-option/test.js | 0 .../renderer-dir-main.js/expected.html | 0 .../render}/renderer-dir-main.js/index.js | 0 .../render}/renderer-dir-main.js/marko.json | 0 .../renderer-dir-main.js/template.marko | 0 .../render}/renderer-dir-main.js/test.js | 0 .../render}/renderer-index.js/expected.html | 0 .../render}/renderer-index.js/marko.json | 0 .../renderer-index.js/renderer/index.js | 0 .../render}/renderer-index.js/template.marko | 0 .../render}/renderer-index.js/test.js | 0 .../render}/require/expected.html | 0 .../render}/require/template.marko | 0 .../render}/require/test-helpers.js | 0 .../render}/require/test.js | 0 .../render}/reserved-words-var/expected.html | 0 .../render}/reserved-words-var/marko.json | 0 .../reserved-words-var/my-custom-tag.js | 0 .../render}/reserved-words-var/template.marko | 0 .../render}/reserved-words-var/test.js | 0 .../render}/reserved-words/expected.html | 0 .../render}/reserved-words/marko.json | 0 .../render}/reserved-words/my-custom-tag.js | 0 .../render}/reserved-words/template.marko | 0 .../render}/reserved-words/test.js | 0 .../render}/scanned-tags/expected.html | 0 test/autotests/render/scanned-tags/marko.json | 3 + .../scanned-tags/tags}/scanned-a/renderer.js | 0 .../tags}/scanned-b/template.marko | 0 .../tags}/scanned-c/marko-tag.json | 0 .../scanned-tags/tags}/scanned-c/renderer.js | 0 .../tags}/scanned-d/template.marko | 0 .../scanned-tags/tags}/scanned-e/renderer.js | 0 .../scanned-tags/tags}/scanned-f/renderer.js | 0 .../scanned-tags/tags}/scanned-g/index.js | 0 .../scanned-tags/tags}/scanned-h/index.js | 0 .../render}/scanned-tags/template.marko | 0 .../render}/scanned-tags/test.js | 0 .../render}/script-nonce/expected.html | 0 .../render}/script-nonce/marko.json | 0 .../script-nonce/script-nonce-transformer.js | 0 .../render}/script-nonce/template.marko | 0 .../render}/script-nonce/test.js | 0 .../render}/script-tag-entities/expected.html | 0 .../script-tag-entities/template.marko | 0 .../render}/script-tag-entities/test.js | 0 .../render}/script/expected.html | 0 .../render}/script/template.marko | 0 .../render}/script/test.js | 0 .../render}/scriptlet/expected.html | 0 .../render}/scriptlet/template.marko | 0 .../render}/scriptlet/test.js | 0 .../shorthand-class-merge/expected.html | 0 .../shorthand-class-merge/template.marko | 0 .../render}/shorthand-class-merge/test.js | 0 .../shorthand-class-merge2/expected.html | 0 .../shorthand-class-merge2/template.marko | 0 .../render}/shorthand-class-merge2/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../shorthand-class-plus-class-obj/test.js | 0 .../shorthand-div-id-dynamic/expected.html | 0 .../shorthand-div-id-dynamic/template.marko | 0 .../render}/shorthand-div-id-dynamic/test.js | 0 .../render}/shorthand-div-id/expected.html | 0 .../render}/shorthand-div-id/template.marko | 0 .../render}/shorthand-div-id/test.js | 0 .../render}/shorthand-div.foo/expected.html | 0 .../render}/shorthand-div.foo/template.marko | 0 .../render}/shorthand-div.foo/test.js | 0 .../shorthand-id-and-classes/expected.html | 0 .../shorthand-id-and-classes/template.marko | 0 .../render}/shorthand-id-and-classes/test.js | 0 .../render}/shorthand-verbose/expected.html | 0 .../render}/shorthand-verbose/template.marko | 0 .../render}/shorthand-verbose/test.js | 0 .../render}/simple-conditionals/expected.html | 0 .../simple-conditionals/template.marko | 0 .../render}/simple-conditionals/test.js | 0 .../render}/simple/expected.html | 0 .../render}/simple/template.marko | 0 .../render}/simple/test.js | 0 .../render}/string-expressions/expected.html | 0 .../render}/string-expressions/template.marko | 0 .../render}/string-expressions/test.js | 0 .../render}/style-attr-object/expected.html | 0 .../render}/style-attr-object/template.marko | 0 .../render}/style-attr-object/test.js | 0 .../style-attr-string-dynamic/expected.html | 0 .../style-attr-string-dynamic/template.marko | 0 .../render}/style-attr-string-dynamic/test.js | 0 .../render}/style-attr-string/expected.html | 0 .../render}/style-attr-string/template.marko | 0 .../render}/style-attr-string/test.js | 0 .../render}/syntax-concise/expected.html | 0 .../render}/syntax-concise/marko.json | 0 .../render/syntax-concise/tabs/marko-tag.json | 7 + .../render/syntax-concise/tabs/renderer.js | 9 + .../render/syntax-concise/tabs/template.marko | 14 + .../render}/syntax-concise/template.marko | 0 .../render}/syntax-concise/test.js | 0 .../render}/syntax-mixed/expected.html | 0 .../render}/syntax-mixed/marko.json | 0 .../render/syntax-mixed/tabs/marko-tag.json | 7 + .../render/syntax-mixed/tabs/renderer.js | 9 + .../render/syntax-mixed/tabs/template.marko | 14 + .../render}/syntax-mixed/template.marko | 0 .../render}/syntax-mixed/test.js | 0 .../syntax-simple-concise/expected.html | 0 .../syntax-simple-concise/template.marko | 0 .../render}/syntax-simple-concise/test.js | 0 .../render}/syntax-simple-mixed/expected.html | 0 .../syntax-simple-mixed/template.marko | 0 .../render}/syntax-simple-mixed/test.js | 0 .../syntax-simple-verbose/expected.html | 0 .../syntax-simple-verbose/template.marko | 0 .../render}/syntax-simple-verbose/test.js | 0 .../render}/syntax-verbose/expected.html | 0 .../render}/syntax-verbose/marko.json | 0 .../render/syntax-verbose/tabs/marko-tag.json | 7 + .../render/syntax-verbose/tabs/renderer.js | 9 + .../render/syntax-verbose/tabs/template.marko | 14 + .../render}/syntax-verbose/template.marko | 0 .../render}/syntax-verbose/test.js | 0 .../render}/tabs-tab-new/expected.html | 0 test/autotests/render/tabs-tab-new/marko.json | 3 + .../tags}/test-tab-new/marko-tag.json | 0 .../tags}/test-tab-new/renderer.js | 0 .../tags}/test-tabs-new/marko-tag.json | 0 .../tags}/test-tabs-new/renderer.js | 0 .../tags}/test-tabs-new/template.marko | 0 .../render}/tabs-tab-new/template.marko | 0 .../render}/tabs-tab-new/test.js | 0 .../render}/tabs-tab/expected.html | 0 test/autotests/render/tabs-tab/marko.json | 3 + .../tabs-tab/tags}/test-tab/marko-tag.json | 0 .../tabs-tab/tags}/test-tab/renderer.js | 0 .../tabs-tab/tags}/test-tabs/marko-tag.json | 0 .../tabs-tab/tags}/test-tabs/renderer.js | 0 .../tabs-tab/tags}/test-tabs/template.marko | 0 .../render}/tabs-tab/template.marko | 0 .../render}/tabs-tab/test.js | 0 .../expected.html | 0 .../marko.json | 3 + .../code-generator.js | 0 .../marko-tag.json | 0 .../template.marko | 0 .../tag-code-generator-return-array/test.js | 0 .../expected.html | 0 .../tag-code-generator-return-node/marko.json | 3 + .../code-generator.js | 0 .../marko-tag.json | 0 .../template.marko | 0 .../tag-code-generator-return-node/test.js | 0 .../expected.html | 0 .../tag-code-generator-return-self/marko.json | 3 + .../code-generator.js | 0 .../marko-tag.json | 0 .../template.marko | 0 .../tag-code-generator-return-self/test.js | 0 .../expected.html | 0 .../tag-code-generator-return-tree/marko.json | 3 + .../code-generator.js | 0 .../marko-tag.json | 0 .../template.marko | 0 .../tag-code-generator-return-tree/test.js | 0 .../taglib-imports-nested/expected.html | 0 .../render}/taglib-imports-nested/marko.json | 0 .../components/list/icon-list/marko-tag.json | 0 .../components/list/icon-list/renderer.js | 0 .../components/list/icon-list/template.marko | 0 .../nested-import/components/list/marko.json | 0 .../nested-import/components/marko.json | 0 .../nested-import/marko.json | 0 .../taglib-imports-nested/template.marko | 0 .../render}/taglib-imports-nested/test.js | 0 .../taglib-imports-package-json/expected.html | 0 .../taglib-imports-package-json/marko.json | 0 .../node_modules/imported-bar/marko.json | 0 .../node_modules/imported-bar/package.json | 0 .../node_modules/imported-bar/renderer.js | 0 .../node_modules/imported-foo/marko.json | 0 .../node_modules/imported-foo/package.json | 0 .../node_modules/imported-foo/renderer.js | 0 .../taglib-imports-package-json/package.json | 0 .../template.marko | 0 .../taglib-imports-package-json/test.js | 0 .../expected.html | 0 .../marko.json | 3 + .../template.marko | 0 .../template.marko | 0 .../template-tag-dynamic-attributes/test.js | 0 .../render}/text-replacement/expected.html | 0 .../render}/text-replacement/template.marko | 0 .../render}/text-replacement/test.js | 0 .../render}/unless-else/expected.html | 0 .../render}/unless-else/template.marko | 0 .../render}/unless-else/test.js | 0 .../render}/var-assign/expected.html | 0 .../render}/var-assign/template.marko | 0 .../render}/var-assign/test.js | 0 .../render}/var-scoped/expected.html | 0 .../render}/var-scoped/template.marko | 0 .../render}/var-scoped/test.js | 0 .../render}/var-scoped2/expected.html | 0 .../render}/var-scoped2/template.marko | 0 .../render}/var-scoped2/test.js | 0 .../render}/var/expected.html | 0 .../render}/var/template.marko | 0 .../autotest => autotests/render}/var/test.js | 0 .../render}/while-attr/expected.html | 0 .../render}/while-attr/template.marko | 0 .../render}/while-attr/test.js | 0 .../render}/while-tag/expected.html | 0 .../render}/while-tag/template.marko | 0 .../render}/while-tag/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../whitespace-inline-elements/expected.html | 0 .../whitespace-inline-elements/template.marko | 0 .../whitespace-inline-elements/test.js | 0 .../render}/whitespace-pre/expected.html | 0 .../render}/whitespace-pre/template.marko | 0 .../render}/whitespace-pre/test.js | 0 .../render}/whitespace-script/expected.html | 0 .../render}/whitespace-script/template.marko | 0 .../render}/whitespace-script/test.js | 0 .../expected.html | 0 .../template.marko | 0 .../whitespace-textarea-capitalized/test.js | 0 .../render}/whitespace-textarea/expected.html | 0 .../whitespace-textarea/template.marko | 0 .../render}/whitespace-textarea/test.js | 0 .../render}/whitespace/expected.html | 0 .../render}/whitespace/template.marko | 0 .../render}/whitespace/test.js | 0 .../render}/xml-escaping/expected.html | 0 .../render}/xml-escaping/template.marko | 0 .../render}/xml-escaping/test.js | 0 .../deeply-nested-gaps/a/b/c/marko.json | 0 .../deeply-nested-gaps/a/marko.json | 0 .../deeply-nested-gaps/expected.json | 0 .../deeply-nested-gaps/package.json | 0 .../taglib-finder}/deeply-nested-gaps/test.js | 0 .../a/b/c/marko.json | 0 .../a/b/marko.json | 0 .../deeply-nested-plus-installed/a/marko.json | 0 .../expected.json | 0 .../dependency-with-taglib/marko.json | 0 .../dependency-with-taglib/package.json | 0 .../dependency-without-taglib/package.json | 0 .../dev-dependency-with-taglib/marko.json | 0 .../dev-dependency-with-taglib/package.json | 0 .../package.json | 0 .../peer-dependency-with-taglib/marko.json | 0 .../peer-dependency-with-taglib/package.json | 0 .../package.json | 0 .../deeply-nested-plus-installed/package.json | 0 .../deeply-nested-plus-installed/test.js | 0 .../deeply-nested/a/b/c/marko.json | 0 .../deeply-nested/a/b/marko.json | 0 .../taglib-finder}/deeply-nested/a/marko.json | 0 .../deeply-nested/expected.json | 0 .../taglib-finder}/deeply-nested/package.json | 0 .../taglib-finder}/deeply-nested/test.js | 0 .../custom-extensions/marko.json | 3 + .../tags/test-declared-attributes/renderer.js | 4 + .../taglib-loader/custom-extensions/test.js | 8 + .../shorthand-attrs-and-tags}/marko.json | 0 .../shorthand-attrs-and-tags/test.js | 22 + .../taglib-lookup/cache-lookup/baz/baz-tag.js | 0 .../taglib-lookup/cache-lookup/baz/marko.json | 5 + .../taglib-lookup/cache-lookup/foo/foo-tag.js | 0 .../taglib-lookup/cache-lookup/foo/marko.json | 5 + .../taglib-lookup/cache-lookup/test.js | 11 + .../taglib-lookup/core-attributes/expected.js | 1 + .../taglib-lookup/core-attributes/test.js | 7 + .../taglib-lookup/core-tag/expected.js | 1 + test/autotests/taglib-lookup/core-tag/test.js | 6 + .../taglib-lookup/custom-tag/marko.json | 3 + .../taglib/test-hello/marko-tag.json | 3 + .../custom-tag/taglib/test-hello/renderer.js | 0 .../taglib-lookup/custom-tag/test.js | 7 + .../taglib-lookup/de-dupe/expected.js | 1 + .../taglib-lookup/de-dupe}/foo-renderer.js | 0 .../taglib-lookup/de-dupe}/marko.json | 0 .../de-dupe}/taglib-duplicate/bar-renderer.js | 0 .../de-dupe}/taglib-duplicate/marko.json | 0 test/autotests/taglib-lookup/de-dupe/test.js | 16 + .../declared-and-dynamic-attrs/expected.js | 1 + .../declared-and-dynamic-attrs}/marko.json | 0 .../declared-and-dynamic-attrs}/renderer.js | 0 .../declared-and-dynamic-attrs/test.js | 12 + .../taglib-lookup/global-attrs/expected.js | 1 + .../taglib-lookup/global-attrs}/marko.json | 0 .../taglib-lookup/global-attrs/test.js | 7 + .../nested-tags-attrs/expected.js | 1 + .../nested-tags-attrs}/foo-renderer.js | 0 .../nested-tags-attrs}/marko.json | 0 .../taglib-lookup/nested-tags-attrs/test.js | 7 + .../taglib-lookup/nested-tags/expected.js | 1 + .../taglib-lookup/nested-tags/foo-renderer.js | 3 + .../taglib-lookup/nested-tags/marko.json | 10 + .../taglib-lookup/nested-tags/test.js | 7 + .../transformers-core-only/foo-renderer.js | 3 + .../transformers-core-only/marko.json | 10 + .../transformers-core-only/test.js | 12 + .../transformers-custom-node/expected.js | 1 + .../transformers-custom-node/foo-renderer.js | 3 + .../transformers-custom-node/marko.json | 10 + .../transformers-custom-node/test.js | 12 + .../transformers}/bar-transformer.js | 0 .../taglib-lookup/transformers/expected.js | 1 + .../transformers}/foo-transformer.js | 0 .../taglib-lookup/transformers}/marko.json | 0 .../taglib-lookup/transformers/test.js | 32 ++ .../id-plus-id-plus-literal/expected.json | 0 .../id-plus-id-plus-literal/input.txt | 0 .../id-plus-literal/expected.json | 0 .../id-plus-literal/input.txt | 0 .../literal-plus-id-plus-id/expected.json | 0 .../literal-plus-id-plus-id/input.txt | 0 .../literal-plus-id/expected.json | 0 .../literal-plus-id/input.txt | 0 .../walker}/remove-attrs/expected.json | 0 .../walker}/remove-attrs/index.js | 0 .../walker}/remove-exit/expected.json | 0 .../walker}/remove-exit/index.js | 0 .../walker}/remove-exit2/expected.json | 0 .../walker}/remove-exit2/index.js | 0 .../walker}/remove/expected.json | 0 .../walker}/remove/index.js | 0 .../walker}/remove2/expected.json | 0 .../walker}/remove2/index.js | 0 .../walker}/replace/expected.json | 0 .../walker}/replace/index.js | 0 test/codegen-test.js | 7 +- test/compiler-test.js | 10 +- test/expression-toString-test.js | 7 +- test/fixtures/api-tests/hello-empty.marko | 1 - test/fixtures/marko.json | 23 - .../test-nested-tags-deep/marko-tag.json | 10 - .../taglib/test-nested-tags-deep/renderer.js | 5 - .../test-nested-tags-deep/template.marko | 4 - test/hot-reload-test.js | 64 +-- test/parseExpression-test.js | 11 +- test/parseFor-test.js | 17 +- test/parseJavaScriptArgs-test.js | 11 +- test/parser-test.js | 11 +- test/pretty-print-test.js | 11 +- test/render-test.js | 12 +- test/taglib-finder-test.js | 12 +- test/taglib-loader-test.js | 45 +- test/taglib-lookup-test.js | 173 +------ test/temp/.gitignore | 1 - test/temp/hello.marko.js | 14 - test/temp/hello2.marko.js | 14 - test/walker-test.js | 11 +- 1407 files changed, 1365 insertions(+), 964 deletions(-) rename test/{fixtures => autotests}/.gitignore (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/bad-indent/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/bad-indent/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/bad-indent/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/empty/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/empty/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/empty/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/increase-indent/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/increase-indent/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/increase-indent/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/initial-empty-lines/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/initial-empty-lines/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/initial-empty-lines/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/no-indent/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/no-indent/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/no-indent/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/remove-indent/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/remove-indent/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/remove-indent/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/surrounding-empty-lines/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/surrounding-empty-lines/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/surrounding-empty-lines/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/tab-indent/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/tab-indent/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/tab-indent/test.js (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/trailing-empty-lines/expected.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/trailing-empty-lines/input.txt (100%) rename test/{fixtures/adjustIndent/autotest => autotests/adjustIndent}/trailing-empty-lines/test.js (100%) create mode 100644 test/autotests/api-compiler/configure/test.js create mode 100644 test/autotests/api/compiler-configure/test.js rename test/{fixtures/api-tests/hello-async.marko => autotests/api/error-renderSync-beginAsync/template.marko} (82%) create mode 100644 test/autotests/api/error-renderSync-beginAsync/test.js rename test/{fixtures/api-tests/hello-error.marko => autotests/api/error-renderSync/template.marko} (100%) create mode 100644 test/autotests/api/error-renderSync/test.js create mode 100644 test/autotests/api/load-render-callback/template.marko create mode 100644 test/autotests/api/load-render-callback/test.js create mode 100644 test/autotests/api/load-source/template.marko create mode 100644 test/autotests/api/load-source/test.js create mode 100644 test/autotests/api/load-writer-wrapping-stream/template.marko create mode 100644 test/autotests/api/load-writer-wrapping-stream/test.js rename test/{fixtures/api-tests/hello.marko => autotests/api/load-writer-wrapping-string-builder/template.marko} (100%) create mode 100644 test/autotests/api/load-writer-wrapping-string-builder/test.js create mode 100644 test/autotests/api/no-write-to-disk-load/template.marko create mode 100644 test/autotests/api/no-write-to-disk-load/test.js create mode 100644 test/autotests/api/no-write-to-disk-require/template.marko create mode 100644 test/autotests/api/no-write-to-disk-require/test.js rename test/{fixtures/api-tests/hello-global.marko => autotests/api/render-callback-global-data/template.marko} (100%) create mode 100644 test/autotests/api/render-callback-global-data/test.js rename test/{fixtures/api-tests/global-data.marko => autotests/api/render-writable-stream-global-data/template.marko} (100%) create mode 100644 test/autotests/api/render-writable-stream-global-data/test.js create mode 100644 test/autotests/api/renderSync-global-data/template.marko create mode 100644 test/autotests/api/renderSync-global-data/test.js create mode 100644 test/autotests/api/renderSync-no-data/template.marko create mode 100644 test/autotests/api/renderSync-no-data/test.js rename test/{fixtures/api-tests/write-to-disk.marko => autotests/api/renderSync/template.marko} (100%) create mode 100644 test/autotests/api/renderSync/test.js rename test/{fixtures/compiler/autotest/custom-tag-template/hello.marko => autotests/api/require-compiled-template/template.marko} (100%) create mode 100644 test/autotests/api/require-compiled-template/test.js rename test/{fixtures/hot-reload/hot-reload.marko => autotests/api/require-render-callback/template.marko} (100%) create mode 100644 test/autotests/api/require-render-callback/test.js create mode 100644 test/autotests/api/require-render-to-stream/template.marko create mode 100644 test/autotests/api/require-render-to-stream/test.js create mode 100644 test/autotests/api/write-to-disk-load/template.marko create mode 100644 test/autotests/api/write-to-disk-load/test.js create mode 100644 test/autotests/api/write-to-disk-require/template.marko create mode 100644 test/autotests/api/write-to-disk-require/test.js rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-args/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-args/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-args/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-client-reorder/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-client-reorder/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-client-reorder/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-data-providers/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-data-providers/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-data-providers/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-error-message-attr/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-error-message-attr/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-error-message-attr/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-error/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-error/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-error/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-callback/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-callback/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-callback/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-return-promise/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-return-promise/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-return-promise/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-sync/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-sync/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-function-data-provider-sync/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-macros/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-macros/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-macros/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-ordering/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-ordering/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-ordering/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-ordering2/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-ordering2/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-ordering2/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-placeholder/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-placeholder/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise-error-bluebird/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise-error-bluebird/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise-error-bluebird/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise-error-q/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise-error-q/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise-error-q/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-promise/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-timeout-message/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-timeout-message/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-timeout-message/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-timeout/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-timeout/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/async-fragment-timeout/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/beginAsync/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/beginAsync/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/beginAsync/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/cached-fragment-cache-manager-attr/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/cached-fragment-cache-manager-attr/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/cached-fragment-cache-manager-attr/test.js (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/cached-fragment/expected.html (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/cached-fragment/template.marko (100%) rename test/{fixtures/async-render/autotest => autotests/async-render}/cached-fragment/test.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/arrayExpression-empty/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/arrayExpression-empty/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/arrayExpression/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/arrayExpression/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/attr-no-escape/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/attr-no-escape/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression-literal-divide/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression-literal-divide/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression-literal-multiply/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression-literal-multiply/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression-literal-subtract/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression-literal-subtract/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/binaryExpression/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/body-only-if/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/body-only-if/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after-if/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after-if/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after-surrounded/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after-surrounded/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after-var/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after-var/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-before-after/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-expression/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-expression/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-statement-nested/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-statement-nested/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-statement/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/code-statement/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/codegen-addStaticVar/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/codegen-addStaticVar/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/codegen-addVar/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/codegen-addVar/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/combine-writes/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/combine-writes/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat-four/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat-four/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat-strings/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat-strings/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat-three/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat-three/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/concat/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/conditionalExpression/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/conditionalExpression/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/context-addStaticVar/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/context-addStaticVar/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/context-addVar/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/context-addVar/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forEach/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forEach/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forEachProps/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forEachProps/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forRange/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forRange/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forStatement/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/forStatement/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/functionCall/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/functionCall/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/functionDeclaration-anonymous/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/functionDeclaration-anonymous/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/functionDeclaration/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/functionDeclaration/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/html/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/html/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlComment/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlComment/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement-addAttribute/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement-addAttribute/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement-attr-escape/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement-attr-escape/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement-dynamic/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement-dynamic/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/htmlElement/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/identifier/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/identifier/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-else-if-else/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-else-if-else/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-else-if/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-else-if/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-else/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-else/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-write-if/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if-write-if/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/if/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/insertSiblingAfter/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/insertSiblingAfter/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/insertSiblingBefore/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/insertSiblingBefore/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacro-body/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacro-body/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacro/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacro/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacroFromEl-body-and-argument/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacroFromEl-body-and-argument/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacroFromEl/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/invokeMacroFromEl/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/literal/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/literal/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/macro/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/macro/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/marko-template/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/marko-template/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/moveChildrenTo/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/moveChildrenTo/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/negate/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/negate/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/new/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/new/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/node/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/node/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/program/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/program/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/removeAllAttributes/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/removeAllAttributes/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/renderBodyFunction/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/renderBodyFunction/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/returnStatement-empty/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/returnStatement-empty/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/returnStatement/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/returnStatement/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/selfInvokingFunction-no-args/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/selfInvokingFunction-no-args/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/selfInvokingFunction-null-args/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/selfInvokingFunction-null-args/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/selfInvokingFunction/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/selfInvokingFunction/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/simple/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/simple/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot-with-statements/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot-with-statements/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot-with-writes-nested/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot-with-writes-nested/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot-with-writes/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot-with-writes/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/slot/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/strictEquality/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/strictEquality/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/templateRoot-prependChild/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/templateRoot-prependChild/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/unaryExpression/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/unaryExpression/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/var-scoped/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/var-scoped/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/var/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/var/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/vars-array/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/vars-array/index.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/vars-object/expected.js (100%) rename test/{fixtures/codegen/autotest => autotests/codegen}/vars-object/index.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/addNestedVariable/expected.js (80%) create mode 100644 test/autotests/compiler/addNestedVariable/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/addNestedVariable/tags}/test-addNestedVariable/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/addNestedVariable/tags}/test-addNestedVariable/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/addNestedVariable/tags}/test-addNestedVariable/transformer.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/addNestedVariable/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/attr-escape/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/attr-escape/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/attr-placeholder-escapeXml/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/attr-placeholder-escapeXml/foo-transformer.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/attr-placeholder-escapeXml/marko.json (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/attr-placeholder-escapeXml/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/createNodeFromEl/expected.js (85%) create mode 100644 test/autotests/compiler/createNodeFromEl/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/createNodeFromEl/tags}/test-createNodeFromEl/code-generator.js (100%) rename test/{fixtures/taglib => autotests/compiler/createNodeFromEl/tags}/test-hello/marko-tag.json (100%) rename test/{fixtures/taglib => autotests/compiler/createNodeFromEl/tags}/test-hello/renderer.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/createNodeFromEl/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-body-function/expected.js (80%) create mode 100644 test/autotests/compiler/custom-tag-body-function/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/custom-tag-body-function/tags}/test-body-function/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/custom-tag-body-function/tags}/test-body-function/renderer.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-body-function/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-data/custom-tag-data-tag.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-data/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-data/marko.json (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-data/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-import-var/expected.js (82%) create mode 100644 test/autotests/compiler/custom-tag-import-var/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/custom-tag-import-var/tags}/test-import-var/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/custom-tag-import-var/tags}/test-import-var/renderer.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-import-var/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-template/expected.js (100%) create mode 100644 test/autotests/compiler/custom-tag-template/hello.marko rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-template/marko.json (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag-template/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag/expected.js (81%) create mode 100644 test/autotests/compiler/custom-tag/marko.json create mode 100644 test/autotests/compiler/custom-tag/tags/test-hello/marko-tag.json create mode 100644 test/autotests/compiler/custom-tag/tags/test-hello/renderer.js rename test/{fixtures/compiler/autotest => autotests/compiler}/custom-tag/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/entities/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/entities/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/hello-dynamic/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/hello-dynamic/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/importModule/expected.js (100%) create mode 100644 test/autotests/compiler/importModule/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/importModule/tags}/test-import-module/code-generator.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/importModule/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/include/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/include/target.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/include/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/invoke-if/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/invoke-if/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/invoke/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/invoke/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/macros/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/macros/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/marko-init/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/marko-init/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/nested-tags-missing-parent/expected.html (100%) create mode 100644 test/autotests/compiler/nested-tags-missing-parent/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/nested-tags-missing-parent/tags}/test-nested-tags-overlay/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/nested-tags-missing-parent/tags}/test-nested-tags-overlay/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/nested-tags-missing-parent/tags}/test-nested-tags-overlay/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/nested-tags-missing-parent/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/nested-tags-missing-parent/test.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/nested-tags/expected.js (88%) create mode 100644 test/autotests/compiler/nested-tags/marko.json create mode 100644 test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/marko-tag.json create mode 100644 test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/renderer.js create mode 100644 test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/template.marko rename test/{fixtures/compiler/autotest => autotests/compiler}/nested-tags/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/replaceWith/expected.js (100%) create mode 100644 test/autotests/compiler/replaceWith/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/compiler/replaceWith/tags}/test-replaceWith/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/compiler/replaceWith/tags}/test-replaceWith/transformer.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/replaceWith/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/simple/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/simple/template.marko (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/static/expected.js (100%) rename test/{fixtures/compiler/autotest => autotests/compiler}/static/template.marko (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ArrayExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ArrayExpression/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Assignment/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Assignment/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/BinaryExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/BinaryExpression/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ConditionalExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ConditionalExpression/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/FunctionCall/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/FunctionCall/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-boolean/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-boolean/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-null/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-null/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-number/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-number/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-string/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-string/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-undefined/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/Literal-undefined/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/NewExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/NewExpression/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ObjectExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ObjectExpression/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ThisExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/ThisExpression/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/UnaryExpression.js/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/UnaryExpression.js/input.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/UpdateExpression/expected.js (100%) rename test/{fixtures/expression-toString/autotest => autotests/expression-toString}/UpdateExpression/input.js (100%) create mode 100644 test/autotests/hot-reload/load/.gitignore create mode 100644 test/autotests/hot-reload/load/template.marko create mode 100644 test/autotests/hot-reload/load/test.js create mode 100644 test/autotests/hot-reload/require/.gitignore create mode 100644 test/autotests/hot-reload/require/template.marko create mode 100644 test/autotests/hot-reload/require/test.js rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/array/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/array/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/binaryExpression/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/binaryExpression/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/complex/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/complex/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/id/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/id/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/increment-prefix/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/increment-prefix/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/increment-suffix/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/increment-suffix/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/literal-number/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/literal-number/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/literal-string/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/literal-string/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/negate/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/negate/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/new-args/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/new-args/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/new-compound/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/new-compound/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/new/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/new/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/object/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/object/input.txt (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/this/expected.json (100%) rename test/{fixtures/parseExpression/autotest => autotests/parseExpression}/this/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-comment/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-comment/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-crazy/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-crazy/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-invalid-option/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-invalid-option/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-invalid-option2/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-invalid-option2/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-iterator/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-iterator/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-nesting/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-nesting/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-simple/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-simple/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-status-var-separator-iterator/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-status-var-separator-iterator/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-status-var-separator/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-status-var-separator/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-status-var/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-status-var/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-strings/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEach-strings/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEachProp/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forEachProp/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forRange-to-expr/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/forRange-to-expr/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/nativeFor-empty-init/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/nativeFor-empty-init/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/nativeFor-invalid/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/nativeFor-invalid/input.txt (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/nativeFor/expected.json (100%) rename test/{fixtures/parseFor/autotest => autotests/parseFor}/nativeFor/input.txt (100%) rename test/{fixtures/parseJavaScriptArgs/autotest => autotests/parseJavaScriptArgs}/mixed/expected.json (100%) rename test/{fixtures/parseJavaScriptArgs/autotest => autotests/parseJavaScriptArgs}/mixed/input.txt (100%) rename test/{fixtures/parser/autotest => autotests/parser}/empty-attr/expected.json (100%) rename test/{fixtures/parser/autotest => autotests/parser}/empty-attr/template.marko (100%) rename test/{fixtures/parser/autotest => autotests/parser}/scriptlet/expected.json (100%) rename test/{fixtures/parser/autotest => autotests/parser}/scriptlet/template.marko (100%) rename test/{fixtures/parser/autotest => autotests/parser}/var-body/expected.json (100%) rename test/{fixtures/parser/autotest => autotests/parser}/var-body/template.marko (100%) rename test/{fixtures/pretty-print/autotest => autotests/pretty-print}/assignment/expected.js (100%) rename test/{fixtures/pretty-print/autotest => autotests/pretty-print}/assignment/expected.json (100%) rename test/{fixtures/pretty-print/autotest => autotests/pretty-print}/assignment/index.js (100%) rename test/{fixtures/pretty-print/autotest => autotests/pretty-print}/marko-template/expected.json (100%) rename test/{fixtures/pretty-print/autotest => autotests/pretty-print}/marko-template/index.js (100%) rename test/{fixtures/render/autotest => autotests/render}/assign-tag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/assign-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/assign-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-dynamic/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-dynamic/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-dynamic/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-placeholder/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-placeholder/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-placeholder/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-static/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-static/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-boolean-static/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-empty-dynamic/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-empty-dynamic/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-empty-dynamic/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-empty/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-empty/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-empty/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-escape-xml/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-escape-xml/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-escape-xml/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline-escaped/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline-escaped/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline-escaped/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-newline/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-path/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-path/foo-tag.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-path/foo.txt (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-path/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-path/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-placeholder-escaped-undefined/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-placeholder-escaped-undefined/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-placeholder-escaped-undefined/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-placeholder-unescaped-undefined/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-placeholder-unescaped-undefined/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-placeholder-unescaped-undefined/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-set-flag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-set-flag/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-set-flag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-set-flag/transformer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-template/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-template/foo-tag.js (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-template/foo-template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-template/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/attr-template/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attrs/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/attrs/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/attrs/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/body-only-if/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/body-only-if/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/body-only-if/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-escaped/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-escaped/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-escaped/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-unescaped-escaped/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-unescaped-escaped/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-unescaped-escaped/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-unescaped/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-unescaped/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal-unescaped/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal2/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/body-placeholder-literal2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/cdata/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/cdata/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/cdata/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-renderer/expected.html (100%) create mode 100644 test/autotests/render/circular-renderer/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/circular-renderer/tags}/test-circular-renderer-a/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/circular-renderer/tags}/test-circular-renderer-a/template.marko (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/circular-renderer/tags}/test-circular-renderer-b/renderer.js (100%) rename test/{fixtures/render/autotest/circular-renderer => autotests/render/circular-renderer/tags/test-circular-renderer-b}/template.marko (100%) rename test/{fixtures/taglib/scanned-tags/test-circular-renderer-b => autotests/render/circular-renderer}/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-renderer/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-tags-no-write-to-disk/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-tags-no-write-to-disk/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-tags-no-write-to-disk/tags/navigation-item/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-tags-no-write-to-disk/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-tags-no-write-to-disk/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-template/expected.html (100%) create mode 100644 test/autotests/render/circular-template/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/circular-template/tags}/test-circular-template-a/template.marko (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/circular-template/tags}/test-circular-template-b/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-template/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/circular-template/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-array/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-array/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-array/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-object/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-object/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-object/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-string/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-string/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/class-attr-string/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/comments-preserve-ie-conditional/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/comments-preserve-ie-conditional/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/comments-preserve-ie-conditional/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/comments-remove/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/comments-remove/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/comments-remove/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/concise-verbose/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/concise-verbose/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/concise-verbose/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/conditional-attributes/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/conditional-attributes/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/conditional-attributes/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-as-template/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-as-template/marko.json rename test/{fixtures/taglib => autotests/render/custom-tag-as-template/tags}/test-template-as-tag/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags/test-template-tag-dynamic-attributes => autotests/render/custom-tag-as-template/tags/test-template-as-tag}/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-as-template/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-as-template/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-body/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-body/marko.json create mode 100644 test/autotests/render/custom-tag-body/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag-body/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag-body/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-body/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg-with-attrs/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-data-arg-with-attrs/marko.json create mode 100644 test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg-with-attrs/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg-with-attrs/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-data-arg/marko.json create mode 100644 test/autotests/render/custom-tag-data-arg/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag-data-arg/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg2/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-data-arg2/marko.json create mode 100644 test/autotests/render/custom-tag-data-arg2/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag-data-arg2/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-arg2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-placeholders/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-data-placeholders/marko.json create mode 100644 test/autotests/render/custom-tag-data-placeholders/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag-data-placeholders/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-placeholders/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-data-placeholders/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-declared-attributes/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-declared-attributes/marko.json create mode 100644 test/autotests/render/custom-tag-declared-attributes/tags/test-declared-attributes/marko-tag.json rename test/{fixtures/taglib => autotests/render/custom-tag-declared-attributes/tags}/test-declared-attributes/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-declared-attributes/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-declared-attributes/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-hyphen-attrs/custom-tag.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-hyphen-attrs/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-hyphen-attrs/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-hyphen-attrs/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-hyphen-attrs/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-open-tag-only/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-open-tag-only/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-open-tag-only/open-tag-only-tag.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-open-tag-only/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-open-tag-only/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-target-property/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-target-property/marko.json create mode 100644 test/autotests/render/custom-tag-target-property/tags/test-target-property/marko-tag.json rename test/{fixtures/taglib => autotests/render/custom-tag-target-property/tags}/test-target-property/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-target-property/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-target-property/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-with-directives/expected.html (100%) create mode 100644 test/autotests/render/custom-tag-with-directives/marko.json create mode 100644 test/autotests/render/custom-tag-with-directives/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag-with-directives/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag-with-directives/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag-with-directives/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag/expected.html (100%) create mode 100644 test/autotests/render/custom-tag/marko.json create mode 100644 test/autotests/render/custom-tag/tags/test-hello/marko-tag.json create mode 100644 test/autotests/render/custom-tag/tags/test-hello/renderer.js rename test/{fixtures/render/autotest => autotests/render}/custom-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/custom-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/default-attributes/expected.html (100%) create mode 100644 test/autotests/render/default-attributes/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/default-attributes/tags}/test-default-attributes/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/default-attributes/tags}/test-default-attributes/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/default-attributes/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/default-attributes/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/div-self-closed/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/div-self-closed/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/div-self-closed/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/doctype/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/doctype/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/doctype/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dtd/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/dtd/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/dtd/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes-string/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes-string/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes-string/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes/expected.html (100%) create mode 100644 test/autotests/render/dynamic-attributes/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/dynamic-attributes/tags}/test-dynamic-attributes/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/dynamic-attributes/tags}/test-dynamic-attributes/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes2/expected.html (100%) create mode 100644 test/autotests/render/dynamic-attributes2/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/dynamic-attributes2/tags}/test-dynamic-attributes2/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/dynamic-attributes2/tags}/test-dynamic-attributes2/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes3/expected.html (100%) create mode 100644 test/autotests/render/dynamic-attributes3/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/dynamic-attributes3/tags}/test-dynamic-attributes3/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/dynamic-attributes3/tags}/test-dynamic-attributes3/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes3/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-attributes3/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-tag-name/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-tag-name/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/dynamic-tag-name/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/empty-close-tag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/empty-close-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/empty-close-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/entities/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/entities/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/entities/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-bad-expression/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/error-bad-expression/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-bad-expression/test.js (100%) create mode 100644 test/autotests/render/error-invalid-attr/marko.json rename test/{fixtures/render/autotest => autotests/render}/error-invalid-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-else-if-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-else-if-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-attr-separator/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-attr-separator/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-props/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-props/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-range-step/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-range-step/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-range-to-expr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-range-to-expr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-range/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-for-range/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-else-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-else-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-else-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-else-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-if-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-else-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-if-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-unless-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-invalid-unless-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-mismatched-tags/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/error-mismatched-tags/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-mismatched-tags/test.js (100%) create mode 100644 test/autotests/render/error-missing-required-attr/marko.json rename test/{fixtures/render/autotest => autotests/render}/error-missing-required-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-missing-required-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-open-tag-only-concise/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/error-open-tag-only-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-open-tag-only-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/error-open-tag-only-html/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/error-open-tag-only-html/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/error-open-tag-only-html/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/escaped-dollar/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/escaped-dollar/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/escaped-dollar/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-separator-status-var/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-separator-status-var/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-separator-status-var/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-separator/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-separator/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-separator/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-status-var-string/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-status-var-string/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr-status-var-string/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-if-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-if-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-if-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-as-target/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-as-target/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-as-target/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-status-var-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-status-var-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-status-var-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-status-var/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-status-var/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator-status-var/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-iterator/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-native/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-native/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-native/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-props-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-props-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-props-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-props/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-props/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-props/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-descending-step/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-descending-step/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-descending-step/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-descending/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-descending/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-descending/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-from-to-expr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-from-to-expr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-from-to-expr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-step-2/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-step-2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-step-2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-step-neg2/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-step-neg2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-step-neg2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-to-expr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-to-expr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range-to-expr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-range/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-invalid-option/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-invalid-option/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-invalid-option/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-native/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-native/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-native/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-separator-status-var/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-separator-status-var/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-separator-status-var/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-separator/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-separator/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag-separator/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/for-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/global-data/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/global-data/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/global-data/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-dynamic/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-dynamic/hello-dynamic.marko.expected.js (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-dynamic/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-dynamic/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-static/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-static/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/hello-static/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/html-comment-tag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/html-comment-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/html-comment-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/html-entities-body/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/html-entities-body/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/html-entities-body/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/html/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/html/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/html/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if-else/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else-if/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if-else/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/if/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/if/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/if/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/img/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/img/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/img/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body-empty/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body-empty/include-target.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body-empty/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body-empty/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body/include-target.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-body/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data-body/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data-body/include-target.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data-body/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data-body/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data/include-target.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-data/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include-dynamic/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include-dynamic/include-target.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-dynamic/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-dynamic/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include-text/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include-text/include-resource-target.txt (100%) rename test/{fixtures/render/autotest => autotests/render}/include-text/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include-text/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/include/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/include/include-target.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/include/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/inline-script/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/inline-script/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/inline-script/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/invoke/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/invoke/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/invoke/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/label-for/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/label-for/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/label-for/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data-attrs/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data-attrs/layout-default.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data-attrs/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data-attrs/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data/layout-default.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-data/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-html-ext/.gitignore (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-html-ext/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-html-ext/layout-default.html (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-html-ext/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use-html-ext/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use/layout-default.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/layout-use/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-body/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-body/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-body/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-boolean/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-boolean/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-boolean/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-no-args/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-no-args/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-no-args/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-positional-args/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-positional-args/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/macro-positional-args/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/macro/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/macro/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/macro/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-body-attr-parsed-text/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-body-attr-parsed-text/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-body-attr-parsed-text/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-body-attr-static-text/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-body-attr-static-text/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-body-attr-static-text/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-comments/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-comments/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-comments/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-whitespace-trim/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-whitespace-trim/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-whitespace-trim/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-whitespace/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-whitespace/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-compiler-options-preserve-whitespace/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-preserve-whitespace-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-preserve-whitespace-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-preserve-whitespace-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-preserve-whitespace-tag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-preserve-whitespace-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/marko-preserve-whitespace-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-concise/expected.html (100%) create mode 100644 test/autotests/render/nested-tags-concise/marko.json rename test/{fixtures/render/autotest/syntax-concise/tabs => autotests/render/nested-tags-concise/tags/test-nested-tags-tabs}/marko-tag.json (100%) rename test/{fixtures/render/autotest/syntax-concise/tabs => autotests/render/nested-tags-concise/tags/test-nested-tags-tabs}/renderer.js (100%) rename test/{fixtures/render/autotest/syntax-concise/tabs => autotests/render/nested-tags-concise/tags/test-nested-tags-tabs}/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-deep/expected.html (100%) create mode 100644 test/autotests/render/nested-tags-deep/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/nested-tags-deep/tags}/test-nested-tags-deep/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/nested-tags-deep/tags}/test-nested-tags-deep/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/nested-tags-deep/tags}/test-nested-tags-deep/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-deep/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-deep/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-empty-body/expected.html (100%) create mode 100644 test/autotests/render/nested-tags-empty-body/marko.json rename test/{fixtures/render/autotest/syntax-mixed/tabs => autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs}/marko-tag.json (100%) rename test/{fixtures/render/autotest/syntax-mixed/tabs => autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs}/renderer.js (100%) rename test/{fixtures/render/autotest/syntax-mixed/tabs => autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs}/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-empty-body/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-empty-body/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-repeated-parent/expected.html (100%) create mode 100644 test/autotests/render/nested-tags-repeated-parent/marko.json create mode 100644 test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/marko-tag.json create mode 100644 test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js create mode 100644 test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/template.marko rename test/{fixtures/render/autotest => autotests/render}/nested-tags-repeated-parent/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-repeated-parent/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-repeated/expected.html (100%) create mode 100644 test/autotests/render/nested-tags-repeated/marko.json rename test/{fixtures/render/autotest/syntax-verbose/tabs => autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs}/marko-tag.json (100%) rename test/{fixtures/render/autotest/syntax-verbose/tabs => autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs}/renderer.js (100%) rename test/{fixtures/render/autotest/syntax-verbose/tabs => autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs}/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-repeated/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-repeated/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-self-closing/expected.html (100%) create mode 100644 test/autotests/render/nested-tags-self-closing/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/nested-tags-self-closing/tags}/test-nested-tags-tabs/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/nested-tags-self-closing/tags}/test-nested-tags-tabs/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/nested-tags-self-closing/tags}/test-nested-tags-tabs/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-self-closing/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags-self-closing/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags/expected.html (100%) create mode 100644 test/autotests/render/nested-tags/marko.json create mode 100644 test/autotests/render/nested-tags/tags/test-nested-tags-overlay/marko-tag.json create mode 100644 test/autotests/render/nested-tags/tags/test-nested-tags-overlay/renderer.js create mode 100644 test/autotests/render/nested-tags/tags/test-nested-tags-overlay/template.marko rename test/{fixtures/render/autotest => autotests/render}/nested-tags/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/nested-tags/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only-renderer/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only-renderer/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only-renderer/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only-renderer/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only-renderer/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/open-tag-only/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/placeholders-body-expressions/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/placeholders-body-expressions/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/placeholders-body-expressions/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/preserveWhitespace-global/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/preserveWhitespace-global/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/preserveWhitespace-global/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/preserveWhitespace-load-option/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/preserveWhitespace-load-option/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/preserveWhitespace-load-option/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-dir-main.js/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-dir-main.js/index.js (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-dir-main.js/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-dir-main.js/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-dir-main.js/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-index.js/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-index.js/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-index.js/renderer/index.js (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-index.js/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/renderer-index.js/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/require/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/require/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/require/test-helpers.js (100%) rename test/{fixtures/render/autotest => autotests/render}/require/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words-var/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words-var/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words-var/my-custom-tag.js (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words-var/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words-var/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words/my-custom-tag.js (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/reserved-words/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/scanned-tags/expected.html (100%) create mode 100644 test/autotests/render/scanned-tags/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-a/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-b/template.marko (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-c/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-c/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-d/template.marko (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-e/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-f/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-g/index.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/scanned-tags/tags}/scanned-h/index.js (100%) rename test/{fixtures/render/autotest => autotests/render}/scanned-tags/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/scanned-tags/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/script-nonce/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/script-nonce/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/script-nonce/script-nonce-transformer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/script-nonce/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/script-nonce/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/script-tag-entities/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/script-tag-entities/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/script-tag-entities/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/script/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/script/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/script/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/scriptlet/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/scriptlet/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/scriptlet/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-merge/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-merge/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-merge/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-merge2/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-merge2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-merge2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-plus-class-obj/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-plus-class-obj/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-class-plus-class-obj/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div-id-dynamic/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div-id-dynamic/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div-id-dynamic/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div-id/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div-id/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div-id/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div.foo/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div.foo/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-div.foo/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-id-and-classes/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-id-and-classes/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-id-and-classes/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-verbose/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-verbose/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/shorthand-verbose/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/simple-conditionals/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/simple-conditionals/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/simple-conditionals/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/simple/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/simple/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/simple/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/string-expressions/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/string-expressions/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/string-expressions/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-object/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-object/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-object/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-string-dynamic/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-string-dynamic/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-string-dynamic/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-string/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-string/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/style-attr-string/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-concise/marko.json (100%) create mode 100644 test/autotests/render/syntax-concise/tabs/marko-tag.json create mode 100644 test/autotests/render/syntax-concise/tabs/renderer.js create mode 100644 test/autotests/render/syntax-concise/tabs/template.marko rename test/{fixtures/render/autotest => autotests/render}/syntax-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-mixed/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-mixed/marko.json (100%) create mode 100644 test/autotests/render/syntax-mixed/tabs/marko-tag.json create mode 100644 test/autotests/render/syntax-mixed/tabs/renderer.js create mode 100644 test/autotests/render/syntax-mixed/tabs/template.marko rename test/{fixtures/render/autotest => autotests/render}/syntax-mixed/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-mixed/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-concise/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-concise/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-concise/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-mixed/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-mixed/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-mixed/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-verbose/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-verbose/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-simple-verbose/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-verbose/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-verbose/marko.json (100%) create mode 100644 test/autotests/render/syntax-verbose/tabs/marko-tag.json create mode 100644 test/autotests/render/syntax-verbose/tabs/renderer.js create mode 100644 test/autotests/render/syntax-verbose/tabs/template.marko rename test/{fixtures/render/autotest => autotests/render}/syntax-verbose/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/syntax-verbose/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/tabs-tab-new/expected.html (100%) create mode 100644 test/autotests/render/tabs-tab-new/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab-new/tags}/test-tab-new/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab-new/tags}/test-tab-new/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab-new/tags}/test-tabs-new/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab-new/tags}/test-tabs-new/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab-new/tags}/test-tabs-new/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tabs-tab-new/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tabs-tab-new/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/tabs-tab/expected.html (100%) create mode 100644 test/autotests/render/tabs-tab/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab/tags}/test-tab/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab/tags}/test-tab/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab/tags}/test-tabs/marko-tag.json (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab/tags}/test-tabs/renderer.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tabs-tab/tags}/test-tabs/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tabs-tab/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tabs-tab/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-array/expected.html (100%) create mode 100644 test/autotests/render/tag-code-generator-return-array/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-array/tags}/test-tag-code-generator-return-array/code-generator.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-array/tags}/test-tag-code-generator-return-array/marko-tag.json (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-array/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-array/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-node/expected.html (100%) create mode 100644 test/autotests/render/tag-code-generator-return-node/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-node/tags}/test-tag-code-generator-return-node/code-generator.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-node/tags}/test-tag-code-generator-return-node/marko-tag.json (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-node/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-node/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-self/expected.html (100%) create mode 100644 test/autotests/render/tag-code-generator-return-self/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-self/tags}/test-tag-code-generator-return-self/code-generator.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-self/tags}/test-tag-code-generator-return-self/marko-tag.json (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-self/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-self/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-tree/expected.html (100%) create mode 100644 test/autotests/render/tag-code-generator-return-tree/marko.json rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-tree/tags}/test-tag-code-generator-return-tree/code-generator.js (100%) rename test/{fixtures/taglib/scanned-tags => autotests/render/tag-code-generator-return-tree/tags}/test-tag-code-generator-return-tree/marko-tag.json (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-tree/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/tag-code-generator-return-tree/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/nested-import/components/list/icon-list/marko-tag.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/nested-import/components/list/icon-list/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/nested-import/components/list/icon-list/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/nested-import/components/list/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/nested-import/components/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/nested-import/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-nested/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/node_modules/imported-bar/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/node_modules/imported-bar/package.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/node_modules/imported-bar/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/node_modules/imported-foo/marko.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/node_modules/imported-foo/package.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/node_modules/imported-foo/renderer.js (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/package.json (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/taglib-imports-package-json/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/template-tag-dynamic-attributes/expected.html (100%) create mode 100644 test/autotests/render/template-tag-dynamic-attributes/marko.json rename test/{fixtures/taglib/test-template-as-tag => autotests/render/template-tag-dynamic-attributes/tags/test-template-tag-dynamic-attributes}/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/template-tag-dynamic-attributes/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/template-tag-dynamic-attributes/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/text-replacement/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/text-replacement/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/text-replacement/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/unless-else/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/unless-else/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/unless-else/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/var-assign/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/var-assign/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/var-assign/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/var-scoped/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/var-scoped/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/var-scoped/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/var-scoped2/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/var-scoped2/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/var-scoped2/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/var/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/var/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/var/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/while-attr/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/while-attr/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/while-attr/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/while-tag/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/while-tag/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/while-tag/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-contentplaceholder-literal-string/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-contentplaceholder-literal-string/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-contentplaceholder-literal-string/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-inline-elements/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-inline-elements/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-inline-elements/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-pre/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-pre/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-pre/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-script/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-script/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-script/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-textarea-capitalized/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-textarea-capitalized/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-textarea-capitalized/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-textarea/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-textarea/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace-textarea/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/whitespace/test.js (100%) rename test/{fixtures/render/autotest => autotests/render}/xml-escaping/expected.html (100%) rename test/{fixtures/render/autotest => autotests/render}/xml-escaping/template.marko (100%) rename test/{fixtures/render/autotest => autotests/render}/xml-escaping/test.js (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-gaps/a/b/c/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-gaps/a/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-gaps/expected.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-gaps/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-gaps/test.js (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/a/b/c/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/a/b/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/a/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/expected.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/dependency-with-taglib/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/dependency-with-taglib/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/dependency-without-taglib/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/dev-dependency-without-taglib/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/node_modules/peer-dependency-without-taglib/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested-plus-installed/test.js (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested/a/b/c/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested/a/b/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested/a/marko.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested/expected.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested/package.json (100%) rename test/{fixtures/taglib-finder/autotest => autotests/taglib-finder}/deeply-nested/test.js (100%) create mode 100644 test/autotests/taglib-loader/custom-extensions/marko.json create mode 100644 test/autotests/taglib-loader/custom-extensions/tags/test-declared-attributes/renderer.js create mode 100644 test/autotests/taglib-loader/custom-extensions/test.js rename test/{fixtures/taglib-shorthand => autotests/taglib-loader/shorthand-attrs-and-tags}/marko.json (100%) create mode 100644 test/autotests/taglib-loader/shorthand-attrs-and-tags/test.js create mode 100644 test/autotests/taglib-lookup/cache-lookup/baz/baz-tag.js create mode 100644 test/autotests/taglib-lookup/cache-lookup/baz/marko.json create mode 100644 test/autotests/taglib-lookup/cache-lookup/foo/foo-tag.js create mode 100644 test/autotests/taglib-lookup/cache-lookup/foo/marko.json create mode 100644 test/autotests/taglib-lookup/cache-lookup/test.js create mode 100644 test/autotests/taglib-lookup/core-attributes/expected.js create mode 100644 test/autotests/taglib-lookup/core-attributes/test.js create mode 100644 test/autotests/taglib-lookup/core-tag/expected.js create mode 100644 test/autotests/taglib-lookup/core-tag/test.js create mode 100644 test/autotests/taglib-lookup/custom-tag/marko.json create mode 100644 test/autotests/taglib-lookup/custom-tag/taglib/test-hello/marko-tag.json create mode 100644 test/autotests/taglib-lookup/custom-tag/taglib/test-hello/renderer.js create mode 100644 test/autotests/taglib-lookup/custom-tag/test.js create mode 100644 test/autotests/taglib-lookup/de-dupe/expected.js rename test/{fixtures/taglib-duplicate => autotests/taglib-lookup/de-dupe}/foo-renderer.js (100%) rename test/{fixtures/taglib-duplicate => autotests/taglib-lookup/de-dupe}/marko.json (100%) rename test/{fixtures/taglib-duplicate => autotests/taglib-lookup/de-dupe}/taglib-duplicate/bar-renderer.js (100%) rename test/{fixtures/taglib-duplicate => autotests/taglib-lookup/de-dupe}/taglib-duplicate/marko.json (100%) create mode 100644 test/autotests/taglib-lookup/de-dupe/test.js create mode 100644 test/autotests/taglib-lookup/declared-and-dynamic-attrs/expected.js rename test/{fixtures/taglib-dynamic-attribute => autotests/taglib-lookup/declared-and-dynamic-attrs}/marko.json (100%) rename test/{fixtures/taglib-dynamic-attribute => autotests/taglib-lookup/declared-and-dynamic-attrs}/renderer.js (100%) create mode 100644 test/autotests/taglib-lookup/declared-and-dynamic-attrs/test.js create mode 100644 test/autotests/taglib-lookup/global-attrs/expected.js rename test/{fixtures/taglib-custom-attribute => autotests/taglib-lookup/global-attrs}/marko.json (100%) create mode 100644 test/autotests/taglib-lookup/global-attrs/test.js create mode 100644 test/autotests/taglib-lookup/nested-tags-attrs/expected.js rename test/{fixtures/taglib-nested => autotests/taglib-lookup/nested-tags-attrs}/foo-renderer.js (100%) rename test/{fixtures/taglib-nested => autotests/taglib-lookup/nested-tags-attrs}/marko.json (100%) create mode 100644 test/autotests/taglib-lookup/nested-tags-attrs/test.js create mode 100644 test/autotests/taglib-lookup/nested-tags/expected.js create mode 100644 test/autotests/taglib-lookup/nested-tags/foo-renderer.js create mode 100644 test/autotests/taglib-lookup/nested-tags/marko.json create mode 100644 test/autotests/taglib-lookup/nested-tags/test.js create mode 100644 test/autotests/taglib-lookup/transformers-core-only/foo-renderer.js create mode 100644 test/autotests/taglib-lookup/transformers-core-only/marko.json create mode 100644 test/autotests/taglib-lookup/transformers-core-only/test.js create mode 100644 test/autotests/taglib-lookup/transformers-custom-node/expected.js create mode 100644 test/autotests/taglib-lookup/transformers-custom-node/foo-renderer.js create mode 100644 test/autotests/taglib-lookup/transformers-custom-node/marko.json create mode 100644 test/autotests/taglib-lookup/transformers-custom-node/test.js rename test/{fixtures/taglib-transformers => autotests/taglib-lookup/transformers}/bar-transformer.js (100%) create mode 100644 test/autotests/taglib-lookup/transformers/expected.js rename test/{fixtures/taglib-transformers => autotests/taglib-lookup/transformers}/foo-transformer.js (100%) rename test/{fixtures/taglib-transformers => autotests/taglib-lookup/transformers}/marko.json (100%) create mode 100644 test/autotests/taglib-lookup/transformers/test.js rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/id-plus-id-plus-literal/expected.json (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/id-plus-id-plus-literal/input.txt (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/id-plus-literal/expected.json (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/id-plus-literal/input.txt (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/literal-plus-id-plus-id/expected.json (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/literal-plus-id-plus-id/input.txt (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/literal-plus-id/expected.json (100%) rename test/{fixtures/transformAttrExpression/autotest => autotests/transformAttrExpression}/literal-plus-id/input.txt (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove-attrs/expected.json (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove-attrs/index.js (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove-exit/expected.json (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove-exit/index.js (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove-exit2/expected.json (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove-exit2/index.js (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove/expected.json (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove/index.js (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove2/expected.json (100%) rename test/{fixtures/walker/autotest => autotests/walker}/remove2/index.js (100%) rename test/{fixtures/walker/autotest => autotests/walker}/replace/expected.json (100%) rename test/{fixtures/walker/autotest => autotests/walker}/replace/index.js (100%) delete mode 100644 test/fixtures/api-tests/hello-empty.marko delete mode 100644 test/fixtures/marko.json delete mode 100644 test/fixtures/taglib/test-nested-tags-deep/marko-tag.json delete mode 100644 test/fixtures/taglib/test-nested-tags-deep/renderer.js delete mode 100644 test/fixtures/taglib/test-nested-tags-deep/template.marko delete mode 100644 test/temp/.gitignore delete mode 100644 test/temp/hello.marko.js delete mode 100644 test/temp/hello2.marko.js diff --git a/test/adjustIndent-test.js b/test/adjustIndent-test.js index 53a92fc80..910e31d70 100644 --- a/test/adjustIndent-test.js +++ b/test/adjustIndent-test.js @@ -9,19 +9,17 @@ var autotest = require('./autotest'); var fs = require('fs'); describe('compiler/util/adjustIndent', function() { - var autoTestDir = path.join(__dirname, 'fixtures/adjustIndent/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/adjustIndent'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { var inputPath = path.join(dir, 'input.txt'); var testSettings = require(path.join(dir, 'test.js')); var input = fs.readFileSync(inputPath, { encoding: 'utf8' }); var newIndentation = testSettings.newIndentation; var output = adjustIndent(input, newIndentation); - return output; - }, - { - compareExtension: '.txt' + helpers.compare(output, '.txt'); + done(); }); }); \ No newline at end of file diff --git a/test/api-tests.js b/test/api-tests.js index 38feb1eb0..187844cfa 100644 --- a/test/api-tests.js +++ b/test/api-tests.js @@ -1,455 +1,22 @@ 'use strict'; require('./patch-module'); +require('marko/node-require').install(); var chai = require('chai'); chai.config.includeStack = true; + var expect = require('chai').expect; var nodePath = require('path'); +require('../compiler'); +var autotest = require('./autotest'); var marko = require('../'); -var through = require('through'); -var fs = require('fs'); - -require('../node-require').install(); +var markoCompiler = require('../compiler'); describe('api' , function() { + var autoTestDir = nodePath.join(__dirname, 'autotests/api'); - before(function() { - require('../compiler').defaultOptions.checkUpToDate = false; + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { + var test = require(nodePath.join(dir, 'test.js')); + test.check(marko, markoCompiler, expect, done); }); - - beforeEach(function(done) { - - done(); - }); - - it('should allow a template to be rendered using a callback', function(done) { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - template.render({ - name: 'John' - }, - function(err, output) { - if (err) { - return done(err); - } - - expect(output).to.equal('Hello John!'); - done(); - }); - }); - - it('should allow a template to be rendered to a writer wrapping a string builder', function(done) { - var out = marko.createWriter(); - out - .on('finish', function() { - expect(out.getOutput()).to.equal('Hello John!'); - done(); - }) - .on('error', function(e) { - done(e); - }); - - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - template.render({ - name: 'John' - }, - out); - - out.end(); - }); - - it('should allow a template to be rendered to a writer wrapping a stream', function(done) { - var output = ''; - - var stream = through(function write(data) { - output += data; - }); - - var out = marko.createWriter(stream); - out - .on('end', function() { - expect(output).to.equal('Hello John!'); - done(); - }) - .on('error', function(e) { - done(e); - }); - - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - - template.render({ - name: 'John' - }, - out).end(); - }); - - it('should allow a template to be rendered to a stream', function(done) { - var output = ''; - var outStream = through(function write(data) { - output += data; - }); - - outStream.on('end', function() { - expect(output).to.equal('Hello John!'); - done(); - }); - - - var template = require(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - template.stream( - { - name: 'John' - }) - .pipe(outStream) - .on('error', function(e) { - done(e); - }); - }); - - - /// TEMPLATE LOADING: - - it('should allow a template to be loaded and rendered using a callback', function(done) { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - template.render({ - name: 'John' - }, - function(err, output) { - if (err) { - return done(err); - } - - expect(output).to.equal('Hello John!'); - done(); - }); - }); - - it('should allow a template to be loaded and rendered to a writer wrapping a string builder', function(done) { - var out = marko.createWriter(); - out - .on('finish', function() { - expect(out.getOutput()).to.equal('Hello John!'); - done(); - }) - .on('error', function(e) { - done(e); - }); - - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - template.render({ - name: 'John' - }, - out); - - out.end(); - }); - - it('should allow a template to be loaded and rendered to a writer wrapping a stream', function(done) { - - var output = ''; - - var stream = through(function write(data) { - output += data; - }); - - var out = marko.createWriter(stream) - .on('end', function() { - expect(output).to.equal('Hello John!'); - done(); - }) - .on('error', function(e) { - done(e); - }); - - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - template.render({ - name: 'John' - }, - out).end(); - }); - - it('should allow a template to be loaded and rendered to a stream', function(done) { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - - var output = ''; - var outStream = through(function write(data) { - output += data; - }); - - outStream.on('end', function() { - expect(output).to.equal('Hello John!'); - done(); - }); - - - template.stream({ - name: 'John' - }) - .pipe(outStream) - .on('error', function(e) { - done(e); - }); - }); - - it('should allow a template to be rendered to a string synchronously using renderSync', function() { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - var output = template.renderSync({ name: 'John' }); - expect(output).to.equal('Hello John!'); - }); - - it('should allow a template to be rendered synchronously using global attributes', function() { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello-global.marko')); - var data = { - name: 'John', - $global: { - greeting: 'Greetings' - } - }; - var output = template.renderSync(data); - expect(output).to.equal('Greetings John!'); - }); - - it('should allow a template to be rendered asynchronously using global attributes', function(done) { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello-global.marko')); - var data = { - name: 'John', - $global: { - greeting: 'Greetings' - } - }; - template.render(data, function(error, output) { - expect(output).to.equal('Greetings John!'); - done(); - }); - }); - - it('should throw an error if beginAsync is used with renderSync', function() { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello-async.marko')); - var output; - var e; - - try { - output = template.renderSync({ - nameDataProvider: function(arg, callback) { - setTimeout(function() { - callback(null, 'John'); - }, 100); - } - }); - } catch(_e) { - e = _e; - } - - expect(output).to.equal(undefined); - expect(e).to.not.equal(undefined); - }); - - it('should throw errors correctly with renderSync', function() { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello-error.marko')); - var output; - var e; - - try { - output = template.renderSync(); - } catch(_e) { - e = _e; - } - - expect(output).to.equal(undefined); - expect(e).to.not.equal(undefined); - }); - - it('should handle no context passed to renderSync', function() { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello-empty.marko')); - var output = template.renderSync(); - - expect(output).to.equal('Hello!'); - }); - - it('should allow a template to be loaded from a compiled JS module', function(done) { - // Load the JS file to ensure the hello.marko.js file is created - marko.load(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko')); - - var templateModule = require(nodePath.join(__dirname, 'fixtures/api-tests/hello.marko.js')); - - var template = marko.load(templateModule); - template.render({ - name: 'John' - }, - function(err, output) { - if (err) { - return done(err); - } - - expect(output).to.equal('Hello John!'); - done(); - }); - }); - - it('should allow a template to be required', function(done) { - var templatePath = nodePath.join(__dirname, 'fixtures/api-tests/hello.marko'); - var template = require(templatePath); - template.render( - { - name: 'John' - }, - function(err, output) { - if (err) { - return done(err); - } - - expect(output).to.equal('Hello John!'); - done(); - }); - }); - - it('should allow global data with callback-style render', function(done) { - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/global-data.marko')); - template.render({ - $global: { - foo: 'bar' - } - }, - function(err, output) { - if (err) { - return done(err); - } - - expect(output).to.equal('bar'); - done(); - }); - }); - - it('should allow global data with render to writable stream', function(done) { - var output = ''; - - var stream = through(function write(data) { - output += data; - }); - - stream.on('end', function() { - expect(output).to.equal('bar'); - done(); - }) - .on('error', function(e) { - done(e); - }); - - var template = marko.load(nodePath.join(__dirname, 'fixtures/api-tests/global-data.marko')); - template.render( - { - $global: { - foo: 'bar' - } - }, - stream); - }); - - it('should write compiled templates to disk by default when using the Node.js require extension', function() { - var compiledPath; - - try { - var templatePath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko'); - compiledPath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko.js'); - var template = require(templatePath); - delete require.cache[templatePath]; - expect(fs.existsSync(compiledPath)).to.equal(true); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - } finally { - fs.unlinkSync(compiledPath); - } - }); - - it('should write compiled templates to disk by default when using load', function() { - - var compiledPath; - - try { - var templatePath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko'); - compiledPath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko.js'); - var template = marko.load(templatePath); - expect(fs.existsSync(compiledPath)).to.equal(true); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - } finally { - fs.unlinkSync(compiledPath); - } - }); - - it('should allow compiled templates to not be written to disk when using the Node.js require extension', function() { - require('../compiler').defaultOptions.writeToDisk = false; - try { - var templatePath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko'); - var compiledPath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko.js'); - var template = require(templatePath); - expect(fs.existsSync(compiledPath)).to.equal(false); - expect(template.render).to.be.a('function'); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - } finally { - require('../compiler').defaultOptions.writeToDisk = true; - } - }); - - it('should allow compiled templates to not be written to disk when using load', function() { - require('../compiler').defaultOptions.writeToDisk = false; - try { - var templatePath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko'); - var compiledPath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko.js'); - var template = marko.load(templatePath); - expect(fs.existsSync(compiledPath)).to.equal(false); - expect(template.render).to.be.a('function'); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - } finally { - require('../compiler').defaultOptions.writeToDisk = true; - } - }); - - it('should allow a template to be loaded from source', function() { - var template; - var templatePath; - - // Make sure calling load with templatePath:String, templateSrc:String arguments works - templatePath = nodePath.join(__dirname, 'dummy.marko'); - template = marko.load(templatePath, '- Hello $!{data.name}!'); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - - // Make sure calling load with templatePath:String, templateSrc:String, options:Object arguments works - templatePath = nodePath.join(__dirname, 'dummy.marko'); - template = marko.load(templatePath, '- Hello $!{data.name}!', {}); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - - // Make sure calling load with templatePath:String, options:Object arguments works - delete require('../compiler').defaultOptions.writeToDisk; - - templatePath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko'); - var compiledPath = nodePath.join(__dirname, 'fixtures/api-tests/write-to-disk.marko.js'); - - try { - fs.unlinkSync(compiledPath); - } catch(e) { - // ignore - } - - template = marko.load(templatePath, {writeToDisk: false}); - expect(fs.existsSync(compiledPath)).to.equal(false); - expect(template.render).to.be.a('function'); - expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); - }); - - it('should allow configure()', function() { - var compiler = require('marko/compiler'); - compiler.configure(); // Use defaults - expect(compiler.config.writeToDisk).to.equal(true); - expect(compiler.config.preserveWhitespace).to.equal(false); - - compiler.configure({ - preserveWhitespace: true - }); - expect(compiler.config.writeToDisk).to.equal(true); - expect(compiler.config.preserveWhitespace).to.equal(true); - - compiler.configure(); // Use defaults - expect(compiler.config.writeToDisk).to.equal(true); - expect(compiler.config.preserveWhitespace).to.equal(false); - - }); - }); diff --git a/test/async-render-test.js b/test/async-render-test.js index 2c14f3d27..6ad94e725 100644 --- a/test/async-render-test.js +++ b/test/async-render-test.js @@ -11,11 +11,11 @@ var fs = require('fs'); require('../node-require').install(); describe('render', function() { - var autoTestDir = path.join(__dirname, 'fixtures/async-render/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/async-render'); autotest.scanDir( autoTestDir, - function run(dir, callback) { + function run(dir, helpers, done) { var templatePath = path.join(dir, 'template.marko'); var mainPath = path.join(dir, 'test.js'); @@ -36,23 +36,23 @@ describe('render', function() { } main.checkError(e); - return callback(null, '$PASS$'); + return done(); } else { var template = marko.load(templatePath, loadOptions); var templateData = main.templateData || {}; template.render(templateData, function(err, html) { + if (err) { + return done(err); + } if (main.checkHtml) { main.checkHtml(html); - return callback(null, '$PASS$'); + done(); } else { - callback(err, html); + helpers.compare(html, '.html'); + done(); } - }); } - }, - { - compareExtension: '.html' }); }); \ No newline at end of file diff --git a/test/autotest.js b/test/autotest.js index e73f06b80..8a258282e 100644 --- a/test/autotest.js +++ b/test/autotest.js @@ -16,128 +16,73 @@ if (enabledTestNames && enabledTestNames.length > 1) { }); } -function autoTest(name, dir, run, options, done) { - var compareExtension = (options && options.compareExtension) || '.js'; - var isJSON = compareExtension === '.json'; +var fs = require('fs'); +var enabledTest = process.env.TEST; +var path = require('path'); +var assert = require('assert'); - var actualPath = path.join(dir, 'actual' + compareExtension); - var expectedPath = path.join(dir, 'expected' + compareExtension); - function verify(actual) { - if (actual === '$PASS$') { - return; - } +function compareHelper(dir, actual, suffix) { + var actualPath = path.join(dir, 'actual' + suffix); + var expectedPath = path.join(dir, 'expected' + suffix); - var actualJSON = isJSON ? JSON.stringify(actual, null, 2) : null; + var isObject = typeof actual === 'string' ? false : true; + var actualString = isObject ? JSON.stringify(actual, null, 4) : actual; + fs.writeFileSync(actualPath, actualString, { encoding: 'utf8' }); - fs.writeFileSync( - actualPath, - isJSON ? actualJSON : actual, - {encoding: 'utf8'}); - - var expected; - - try { - expected = fs.readFileSync(expectedPath, { encoding: 'utf8' }); - } catch(e) { - expected = isJSON ? '"TBD"' : 'TBD'; - fs.writeFileSync(expectedPath, expected, {encoding: 'utf8'}); - } - - var expectedJSON; - - if (isJSON) { - expectedJSON = expected; - expected = JSON.parse(expectedJSON); - } - - assert.deepEqual( - (isJSON ? JSON.parse(actualJSON) : actual), - expected, - 'Unexpected output for "' + name + '":\nEXPECTED (' + expectedPath + '):\n---------\n' + - (isJSON ? expectedJSON : expected) + - '\n---------\nACTUAL (' + actualPath + '):\n---------\n' + - (isJSON ? actualJSON : actual) + - '\n---------'); - } + var expectedString; try { - fs.unlinkSync(actualPath); - } catch(e) {} - - if (done) { - // Async test - run(dir, function(err, actual) { - if (err) { - return done(err); - } - - verify(actual); - done(); - }); - } else { - let actual = run(dir); - verify(actual); + expectedString = fs.readFileSync(expectedPath, { encoding: 'utf8' }); + } catch(e) { + expectedString = isObject ? '"TBD"' : 'TBD'; + fs.writeFileSync(expectedPath, expectedString, {encoding: 'utf8'}); } + + if (isObject) { + actual = JSON.parse(actualString); + } + + var expected = isObject ? JSON.parse(expectedString) : expectedString; + assert.deepEqual(actual, expected); +} + +function autoTest(name, dir, run, options, done) { + options = options || {}; + + var helpers = { + compare(actual, suffix) { + compareHelper(dir, actual, suffix); + } + }; + + run(dir, helpers, done); } exports.scanDir = function(autoTestDir, run, options) { describe('autotest', function() { - var files; - try { - files = fs.readdirSync(autoTestDir); - } catch(e) { - console.warn('autotest directory does not exist: ' + autoTestDir); - } + fs.readdirSync(autoTestDir) + .forEach(function(name) { + if (name.charAt(0) === '.') { + return; + } - if (files) { - files.forEach(function(name) { - if (name.charAt(0) === '.') { - return; - } + if (enabledTests && !enabledTests[name]) { + return; + } - if (enabledTests && !enabledTests[name]) { - return; - } - - var itFunc = it; - - if (enabledTest && name === enabledTest) { - itFunc = it.only; - } - - var dir = path.join(autoTestDir, name); - - if (run.length === 2) { - itFunc(`[${name}] `, function(done) { - autoTest(name, dir, run, options, done); - }); - } else { - itFunc(`[${name}] `, function() { - autoTest(name, dir, run, options); - }); - } + var itFunc = it; + if (enabledTest && name === enabledTest) { + itFunc = it.only; + } + var dir = path.join(autoTestDir, name); + itFunc(`[${name}] `, function(done) { + autoTest(name, dir, run, options, done); }); - } - var pendingFiles; - try { - pendingFiles = fs.readdirSync(autoTestDir + '-pending'); - } catch(e) {} - - if (pendingFiles) { - pendingFiles.forEach(function(name) { - if (name.charAt(0) === '.') { - return; - } - - xit(`[${name}] `, function() { - }); - - }); - } + }); }); }; \ No newline at end of file diff --git a/test/fixtures/.gitignore b/test/autotests/.gitignore similarity index 100% rename from test/fixtures/.gitignore rename to test/autotests/.gitignore diff --git a/test/fixtures/adjustIndent/autotest/bad-indent/expected.txt b/test/autotests/adjustIndent/bad-indent/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/bad-indent/expected.txt rename to test/autotests/adjustIndent/bad-indent/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/bad-indent/input.txt b/test/autotests/adjustIndent/bad-indent/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/bad-indent/input.txt rename to test/autotests/adjustIndent/bad-indent/input.txt diff --git a/test/fixtures/adjustIndent/autotest/bad-indent/test.js b/test/autotests/adjustIndent/bad-indent/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/bad-indent/test.js rename to test/autotests/adjustIndent/bad-indent/test.js diff --git a/test/fixtures/adjustIndent/autotest/empty/expected.txt b/test/autotests/adjustIndent/empty/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/empty/expected.txt rename to test/autotests/adjustIndent/empty/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/empty/input.txt b/test/autotests/adjustIndent/empty/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/empty/input.txt rename to test/autotests/adjustIndent/empty/input.txt diff --git a/test/fixtures/adjustIndent/autotest/empty/test.js b/test/autotests/adjustIndent/empty/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/empty/test.js rename to test/autotests/adjustIndent/empty/test.js diff --git a/test/fixtures/adjustIndent/autotest/increase-indent/expected.txt b/test/autotests/adjustIndent/increase-indent/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/increase-indent/expected.txt rename to test/autotests/adjustIndent/increase-indent/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/increase-indent/input.txt b/test/autotests/adjustIndent/increase-indent/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/increase-indent/input.txt rename to test/autotests/adjustIndent/increase-indent/input.txt diff --git a/test/fixtures/adjustIndent/autotest/increase-indent/test.js b/test/autotests/adjustIndent/increase-indent/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/increase-indent/test.js rename to test/autotests/adjustIndent/increase-indent/test.js diff --git a/test/fixtures/adjustIndent/autotest/initial-empty-lines/expected.txt b/test/autotests/adjustIndent/initial-empty-lines/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/initial-empty-lines/expected.txt rename to test/autotests/adjustIndent/initial-empty-lines/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/initial-empty-lines/input.txt b/test/autotests/adjustIndent/initial-empty-lines/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/initial-empty-lines/input.txt rename to test/autotests/adjustIndent/initial-empty-lines/input.txt diff --git a/test/fixtures/adjustIndent/autotest/initial-empty-lines/test.js b/test/autotests/adjustIndent/initial-empty-lines/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/initial-empty-lines/test.js rename to test/autotests/adjustIndent/initial-empty-lines/test.js diff --git a/test/fixtures/adjustIndent/autotest/no-indent/expected.txt b/test/autotests/adjustIndent/no-indent/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/no-indent/expected.txt rename to test/autotests/adjustIndent/no-indent/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/no-indent/input.txt b/test/autotests/adjustIndent/no-indent/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/no-indent/input.txt rename to test/autotests/adjustIndent/no-indent/input.txt diff --git a/test/fixtures/adjustIndent/autotest/no-indent/test.js b/test/autotests/adjustIndent/no-indent/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/no-indent/test.js rename to test/autotests/adjustIndent/no-indent/test.js diff --git a/test/fixtures/adjustIndent/autotest/remove-indent/expected.txt b/test/autotests/adjustIndent/remove-indent/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/remove-indent/expected.txt rename to test/autotests/adjustIndent/remove-indent/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/remove-indent/input.txt b/test/autotests/adjustIndent/remove-indent/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/remove-indent/input.txt rename to test/autotests/adjustIndent/remove-indent/input.txt diff --git a/test/fixtures/adjustIndent/autotest/remove-indent/test.js b/test/autotests/adjustIndent/remove-indent/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/remove-indent/test.js rename to test/autotests/adjustIndent/remove-indent/test.js diff --git a/test/fixtures/adjustIndent/autotest/surrounding-empty-lines/expected.txt b/test/autotests/adjustIndent/surrounding-empty-lines/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/surrounding-empty-lines/expected.txt rename to test/autotests/adjustIndent/surrounding-empty-lines/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/surrounding-empty-lines/input.txt b/test/autotests/adjustIndent/surrounding-empty-lines/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/surrounding-empty-lines/input.txt rename to test/autotests/adjustIndent/surrounding-empty-lines/input.txt diff --git a/test/fixtures/adjustIndent/autotest/surrounding-empty-lines/test.js b/test/autotests/adjustIndent/surrounding-empty-lines/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/surrounding-empty-lines/test.js rename to test/autotests/adjustIndent/surrounding-empty-lines/test.js diff --git a/test/fixtures/adjustIndent/autotest/tab-indent/expected.txt b/test/autotests/adjustIndent/tab-indent/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/tab-indent/expected.txt rename to test/autotests/adjustIndent/tab-indent/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/tab-indent/input.txt b/test/autotests/adjustIndent/tab-indent/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/tab-indent/input.txt rename to test/autotests/adjustIndent/tab-indent/input.txt diff --git a/test/fixtures/adjustIndent/autotest/tab-indent/test.js b/test/autotests/adjustIndent/tab-indent/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/tab-indent/test.js rename to test/autotests/adjustIndent/tab-indent/test.js diff --git a/test/fixtures/adjustIndent/autotest/trailing-empty-lines/expected.txt b/test/autotests/adjustIndent/trailing-empty-lines/expected.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/trailing-empty-lines/expected.txt rename to test/autotests/adjustIndent/trailing-empty-lines/expected.txt diff --git a/test/fixtures/adjustIndent/autotest/trailing-empty-lines/input.txt b/test/autotests/adjustIndent/trailing-empty-lines/input.txt similarity index 100% rename from test/fixtures/adjustIndent/autotest/trailing-empty-lines/input.txt rename to test/autotests/adjustIndent/trailing-empty-lines/input.txt diff --git a/test/fixtures/adjustIndent/autotest/trailing-empty-lines/test.js b/test/autotests/adjustIndent/trailing-empty-lines/test.js similarity index 100% rename from test/fixtures/adjustIndent/autotest/trailing-empty-lines/test.js rename to test/autotests/adjustIndent/trailing-empty-lines/test.js diff --git a/test/autotests/api-compiler/configure/test.js b/test/autotests/api-compiler/configure/test.js new file mode 100644 index 000000000..5f09267f4 --- /dev/null +++ b/test/autotests/api-compiler/configure/test.js @@ -0,0 +1,17 @@ +exports.check = function(marko, markoCompiler, expect, done) { + var compiler = require('marko/compiler'); + compiler.configure(); // Use defaults + expect(compiler.config.writeToDisk).to.equal(true); + expect(compiler.config.preserveWhitespace).to.equal(false); + + compiler.configure({ + preserveWhitespace: true + }); + expect(compiler.config.writeToDisk).to.equal(true); + expect(compiler.config.preserveWhitespace).to.equal(true); + + compiler.configure(); // Use defaults + expect(compiler.config.writeToDisk).to.equal(true); + expect(compiler.config.preserveWhitespace).to.equal(false); + done(); +}; \ No newline at end of file diff --git a/test/autotests/api/compiler-configure/test.js b/test/autotests/api/compiler-configure/test.js new file mode 100644 index 000000000..9b4a64825 --- /dev/null +++ b/test/autotests/api/compiler-configure/test.js @@ -0,0 +1,16 @@ +exports.check = function(marko, markoCompiler, expect, done) { + markoCompiler.configure(); // Use defaults + expect(markoCompiler.config.writeToDisk).to.equal(true); + expect(markoCompiler.config.preserveWhitespace).to.equal(false); + + markoCompiler.configure({ + preserveWhitespace: true + }); + expect(markoCompiler.config.writeToDisk).to.equal(true); + expect(markoCompiler.config.preserveWhitespace).to.equal(true); + + markoCompiler.configure(); // Use defaults + expect(markoCompiler.config.writeToDisk).to.equal(true); + expect(markoCompiler.config.preserveWhitespace).to.equal(false); + done(); +}; \ No newline at end of file diff --git a/test/fixtures/api-tests/hello-async.marko b/test/autotests/api/error-renderSync-beginAsync/template.marko similarity index 82% rename from test/fixtures/api-tests/hello-async.marko rename to test/autotests/api/error-renderSync-beginAsync/template.marko index 1080a53c7..6175b9245 100644 --- a/test/fixtures/api-tests/hello-async.marko +++ b/test/autotests/api/error-renderSync-beginAsync/template.marko @@ -1,3 +1,3 @@ Hello ${name}! - + \ No newline at end of file diff --git a/test/autotests/api/error-renderSync-beginAsync/test.js b/test/autotests/api/error-renderSync-beginAsync/test.js new file mode 100644 index 000000000..14589e902 --- /dev/null +++ b/test/autotests/api/error-renderSync-beginAsync/test.js @@ -0,0 +1,23 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + var output; + var e; + + try { + output = template.renderSync({ + nameDataProvider: function(arg, callback) { + setTimeout(function() { + callback(null, 'John'); + }, 100); + } + }); + } catch(_e) { + e = _e; + } + + expect(output).to.equal(undefined); + expect(e).to.not.equal(undefined); + done(); +}; \ No newline at end of file diff --git a/test/fixtures/api-tests/hello-error.marko b/test/autotests/api/error-renderSync/template.marko similarity index 100% rename from test/fixtures/api-tests/hello-error.marko rename to test/autotests/api/error-renderSync/template.marko diff --git a/test/autotests/api/error-renderSync/test.js b/test/autotests/api/error-renderSync/test.js new file mode 100644 index 000000000..d1aa0862b --- /dev/null +++ b/test/autotests/api/error-renderSync/test.js @@ -0,0 +1,17 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + var output; + var e; + + try { + output = template.renderSync(); + } catch(_e) { + e = _e; + } + + expect(output).to.equal(undefined); + expect(e).to.not.equal(undefined); + done(); +}; \ No newline at end of file diff --git a/test/autotests/api/load-render-callback/template.marko b/test/autotests/api/load-render-callback/template.marko new file mode 100644 index 000000000..2f2627e85 --- /dev/null +++ b/test/autotests/api/load-render-callback/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! diff --git a/test/autotests/api/load-render-callback/test.js b/test/autotests/api/load-render-callback/test.js new file mode 100644 index 000000000..a955d2cba --- /dev/null +++ b/test/autotests/api/load-render-callback/test.js @@ -0,0 +1,16 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + template.render({ + name: 'John' + }, + function(err, output) { + if (err) { + return done(err); + } + + expect(output).to.equal('Hello John!'); + done(); + }); +}; \ No newline at end of file diff --git a/test/autotests/api/load-source/template.marko b/test/autotests/api/load-source/template.marko new file mode 100644 index 000000000..2f2627e85 --- /dev/null +++ b/test/autotests/api/load-source/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! diff --git a/test/autotests/api/load-source/test.js b/test/autotests/api/load-source/test.js new file mode 100644 index 000000000..321c020ea --- /dev/null +++ b/test/autotests/api/load-source/test.js @@ -0,0 +1,35 @@ +var nodePath = require('path'); +var fs = require('fs'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template; + var templatePath; + + // Make sure calling load with templatePath:String, templateSrc:String arguments works + templatePath = nodePath.join(__dirname, 'dummy.marko'); + template = marko.load(templatePath, '- Hello $!{data.name}!'); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + + // Make sure calling load with templatePath:String, templateSrc:String, options:Object arguments works + templatePath = nodePath.join(__dirname, 'dummy.marko'); + template = marko.load(templatePath, '- Hello $!{data.name}!', {}); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + + // Make sure calling load with templatePath:String, options:Object arguments works + delete markoCompiler.defaultOptions.writeToDisk; + + templatePath = nodePath.join(__dirname, 'template.marko'); + var compiledPath = nodePath.join(__dirname, 'template.marko.js'); + + try { + fs.unlinkSync(compiledPath); + } catch(e) { + // ignore + } + + template = marko.load(templatePath, {writeToDisk: false}); + expect(fs.existsSync(compiledPath)).to.equal(false); + expect(template.render).to.be.a('function'); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + done(); +}; \ No newline at end of file diff --git a/test/autotests/api/load-writer-wrapping-stream/template.marko b/test/autotests/api/load-writer-wrapping-stream/template.marko new file mode 100644 index 000000000..2f2627e85 --- /dev/null +++ b/test/autotests/api/load-writer-wrapping-stream/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! diff --git a/test/autotests/api/load-writer-wrapping-stream/test.js b/test/autotests/api/load-writer-wrapping-stream/test.js new file mode 100644 index 000000000..252545225 --- /dev/null +++ b/test/autotests/api/load-writer-wrapping-stream/test.js @@ -0,0 +1,27 @@ +var nodePath = require('path'); +var through = require('through'); + +exports.check = function(marko, markoCompiler, expect, done) { + var output = ''; + + var stream = through(function write(data) { + output += data; + }); + + var out = marko.createWriter(stream); + out + .on('end', function() { + expect(output).to.equal('Hello John!'); + done(); + }) + .on('error', function(e) { + done(e); + }); + + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + + template.render({ + name: 'John' + }, + out).end(); +}; \ No newline at end of file diff --git a/test/fixtures/api-tests/hello.marko b/test/autotests/api/load-writer-wrapping-string-builder/template.marko similarity index 100% rename from test/fixtures/api-tests/hello.marko rename to test/autotests/api/load-writer-wrapping-string-builder/template.marko diff --git a/test/autotests/api/load-writer-wrapping-string-builder/test.js b/test/autotests/api/load-writer-wrapping-string-builder/test.js new file mode 100644 index 000000000..a155e3950 --- /dev/null +++ b/test/autotests/api/load-writer-wrapping-string-builder/test.js @@ -0,0 +1,21 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var out = marko.createWriter(); + out + .on('finish', function() { + expect(out.getOutput()).to.equal('Hello John!'); + done(); + }) + .on('error', function(e) { + done(e); + }); + + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + template.render({ + name: 'John' + }, + out); + + out.end(); +}; \ No newline at end of file diff --git a/test/autotests/api/no-write-to-disk-load/template.marko b/test/autotests/api/no-write-to-disk-load/template.marko new file mode 100644 index 000000000..2f2627e85 --- /dev/null +++ b/test/autotests/api/no-write-to-disk-load/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! diff --git a/test/autotests/api/no-write-to-disk-load/test.js b/test/autotests/api/no-write-to-disk-load/test.js new file mode 100644 index 000000000..361854356 --- /dev/null +++ b/test/autotests/api/no-write-to-disk-load/test.js @@ -0,0 +1,18 @@ +var nodePath = require('path'); +var fs = require('fs'); + +exports.check = function(marko, markoCompiler, expect, done) { + markoCompiler.defaultOptions.writeToDisk = false; + try { + var templatePath = nodePath.join(__dirname, 'template.marko'); + var compiledPath = nodePath.join(__dirname, 'template.marko.js'); + var template = marko.load(templatePath); + expect(fs.existsSync(compiledPath)).to.equal(false); + expect(template.render).to.be.a('function'); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + } finally { + markoCompiler.defaultOptions.writeToDisk = true; + } + + done(); +}; \ No newline at end of file diff --git a/test/autotests/api/no-write-to-disk-require/template.marko b/test/autotests/api/no-write-to-disk-require/template.marko new file mode 100644 index 000000000..2f2627e85 --- /dev/null +++ b/test/autotests/api/no-write-to-disk-require/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! diff --git a/test/autotests/api/no-write-to-disk-require/test.js b/test/autotests/api/no-write-to-disk-require/test.js new file mode 100644 index 000000000..d4f03116c --- /dev/null +++ b/test/autotests/api/no-write-to-disk-require/test.js @@ -0,0 +1,18 @@ +var nodePath = require('path'); +var fs = require('fs'); + +exports.check = function(marko, markoCompiler, expect, done) { + markoCompiler.defaultOptions.writeToDisk = false; + try { + var templatePath = nodePath.join(__dirname, 'template.marko'); + var compiledPath = nodePath.join(__dirname, 'template.marko.js'); + var template = require(templatePath); + expect(fs.existsSync(compiledPath)).to.equal(false); + expect(template.render).to.be.a('function'); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + } finally { + markoCompiler.defaultOptions.writeToDisk = true; + } + + done(); +}; \ No newline at end of file diff --git a/test/fixtures/api-tests/hello-global.marko b/test/autotests/api/render-callback-global-data/template.marko similarity index 100% rename from test/fixtures/api-tests/hello-global.marko rename to test/autotests/api/render-callback-global-data/template.marko diff --git a/test/autotests/api/render-callback-global-data/test.js b/test/autotests/api/render-callback-global-data/test.js new file mode 100644 index 000000000..0029dea06 --- /dev/null +++ b/test/autotests/api/render-callback-global-data/test.js @@ -0,0 +1,15 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + var data = { + name: 'John', + $global: { + greeting: 'Greetings' + } + }; + template.render(data, function(error, output) { + expect(output).to.equal('Greetings John!'); + done(); + }); +}; \ No newline at end of file diff --git a/test/fixtures/api-tests/global-data.marko b/test/autotests/api/render-writable-stream-global-data/template.marko similarity index 100% rename from test/fixtures/api-tests/global-data.marko rename to test/autotests/api/render-writable-stream-global-data/template.marko diff --git a/test/autotests/api/render-writable-stream-global-data/test.js b/test/autotests/api/render-writable-stream-global-data/test.js new file mode 100644 index 000000000..5d1b9a1c0 --- /dev/null +++ b/test/autotests/api/render-writable-stream-global-data/test.js @@ -0,0 +1,27 @@ +var nodePath = require('path'); +var through = require('through'); + +exports.check = function(marko, markoCompiler, expect, done) { + var output = ''; + + var stream = through(function write(data) { + output += data; + }); + + stream.on('end', function() { + expect(output).to.equal('bar'); + done(); + }) + .on('error', function(e) { + done(e); + }); + + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + template.render( + { + $global: { + foo: 'bar' + } + }, + stream); +}; \ No newline at end of file diff --git a/test/autotests/api/renderSync-global-data/template.marko b/test/autotests/api/renderSync-global-data/template.marko new file mode 100644 index 000000000..1b2398183 --- /dev/null +++ b/test/autotests/api/renderSync-global-data/template.marko @@ -0,0 +1 @@ +- ${out.global.greeting} ${data.name}! \ No newline at end of file diff --git a/test/autotests/api/renderSync-global-data/test.js b/test/autotests/api/renderSync-global-data/test.js new file mode 100644 index 000000000..099eec03d --- /dev/null +++ b/test/autotests/api/renderSync-global-data/test.js @@ -0,0 +1,14 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + var data = { + name: 'John', + $global: { + greeting: 'Greetings' + } + }; + var output = template.renderSync(data); + expect(output).to.equal('Greetings John!'); + done(); +}; \ No newline at end of file diff --git a/test/autotests/api/renderSync-no-data/template.marko b/test/autotests/api/renderSync-no-data/template.marko new file mode 100644 index 000000000..9d9b48360 --- /dev/null +++ b/test/autotests/api/renderSync-no-data/template.marko @@ -0,0 +1 @@ +- Hello! \ No newline at end of file diff --git a/test/autotests/api/renderSync-no-data/test.js b/test/autotests/api/renderSync-no-data/test.js new file mode 100644 index 000000000..129454a95 --- /dev/null +++ b/test/autotests/api/renderSync-no-data/test.js @@ -0,0 +1,8 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + var output = template.renderSync(); + expect(output).to.equal('Hello!'); + done(); +}; \ No newline at end of file diff --git a/test/fixtures/api-tests/write-to-disk.marko b/test/autotests/api/renderSync/template.marko similarity index 100% rename from test/fixtures/api-tests/write-to-disk.marko rename to test/autotests/api/renderSync/template.marko diff --git a/test/autotests/api/renderSync/test.js b/test/autotests/api/renderSync/test.js new file mode 100644 index 000000000..edacda64d --- /dev/null +++ b/test/autotests/api/renderSync/test.js @@ -0,0 +1,8 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var template = marko.load(nodePath.join(__dirname, 'template.marko')); + var output = template.renderSync({ name: 'John' }); + expect(output).to.equal('Hello John!'); + done(); +}; \ No newline at end of file diff --git a/test/fixtures/compiler/autotest/custom-tag-template/hello.marko b/test/autotests/api/require-compiled-template/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-template/hello.marko rename to test/autotests/api/require-compiled-template/template.marko diff --git a/test/autotests/api/require-compiled-template/test.js b/test/autotests/api/require-compiled-template/test.js new file mode 100644 index 000000000..e9659aa82 --- /dev/null +++ b/test/autotests/api/require-compiled-template/test.js @@ -0,0 +1,21 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + // Load the JS file to ensure the hello.marko.js file is created + marko.load(nodePath.join(__dirname, 'template.marko')); + + var templateModule = require(nodePath.join(__dirname, 'template.marko.js')); + + var template = marko.load(templateModule); + template.render({ + name: 'John' + }, + function(err, output) { + if (err) { + return done(err); + } + + expect(output).to.equal('Hello John!'); + done(); + }); +}; \ No newline at end of file diff --git a/test/fixtures/hot-reload/hot-reload.marko b/test/autotests/api/require-render-callback/template.marko similarity index 100% rename from test/fixtures/hot-reload/hot-reload.marko rename to test/autotests/api/require-render-callback/template.marko diff --git a/test/autotests/api/require-render-callback/test.js b/test/autotests/api/require-render-callback/test.js new file mode 100644 index 000000000..c53bd952c --- /dev/null +++ b/test/autotests/api/require-render-callback/test.js @@ -0,0 +1,18 @@ +var nodePath = require('path'); + +exports.check = function(marko, markoCompiler, expect, done) { + var templatePath = nodePath.join(__dirname, 'template.marko'); + var template = require(templatePath); + template.render( + { + name: 'John' + }, + function(err, output) { + if (err) { + return done(err); + } + + expect(output).to.equal('Hello John!'); + done(); + }); +}; \ No newline at end of file diff --git a/test/autotests/api/require-render-to-stream/template.marko b/test/autotests/api/require-render-to-stream/template.marko new file mode 100644 index 000000000..eabd502aa --- /dev/null +++ b/test/autotests/api/require-render-to-stream/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! \ No newline at end of file diff --git a/test/autotests/api/require-render-to-stream/test.js b/test/autotests/api/require-render-to-stream/test.js new file mode 100644 index 000000000..6bee8bbe7 --- /dev/null +++ b/test/autotests/api/require-render-to-stream/test.js @@ -0,0 +1,25 @@ +var nodePath = require('path'); +var through = require('through'); + +exports.check = function(marko, markoCompiler, expect, done) { + var output = ''; + var outStream = through(function write(data) { + output += data; + }); + + outStream.on('end', function() { + expect(output).to.equal('Hello John!'); + done(); + }); + + + var template = require(nodePath.join(__dirname, 'template.marko')); + template.stream( + { + name: 'John' + }) + .pipe(outStream) + .on('error', function(e) { + done(e); + }); +}; \ No newline at end of file diff --git a/test/autotests/api/write-to-disk-load/template.marko b/test/autotests/api/write-to-disk-load/template.marko new file mode 100644 index 000000000..eabd502aa --- /dev/null +++ b/test/autotests/api/write-to-disk-load/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! \ No newline at end of file diff --git a/test/autotests/api/write-to-disk-load/test.js b/test/autotests/api/write-to-disk-load/test.js new file mode 100644 index 000000000..7bc10e9c4 --- /dev/null +++ b/test/autotests/api/write-to-disk-load/test.js @@ -0,0 +1,14 @@ +var nodePath = require('path'); +var fs = require('fs'); + +exports.check = function(marko, markoCompiler, expect, done) { + var compiledPath; + + var templatePath = nodePath.join(__dirname, 'template.marko'); + compiledPath = nodePath.join(__dirname, 'template.marko.js'); + var template = marko.load(templatePath); + expect(fs.existsSync(compiledPath)).to.equal(true); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + + done(); +}; \ No newline at end of file diff --git a/test/autotests/api/write-to-disk-require/template.marko b/test/autotests/api/write-to-disk-require/template.marko new file mode 100644 index 000000000..eabd502aa --- /dev/null +++ b/test/autotests/api/write-to-disk-require/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! \ No newline at end of file diff --git a/test/autotests/api/write-to-disk-require/test.js b/test/autotests/api/write-to-disk-require/test.js new file mode 100644 index 000000000..3623c31d5 --- /dev/null +++ b/test/autotests/api/write-to-disk-require/test.js @@ -0,0 +1,19 @@ +var nodePath = require('path'); +var fs = require('fs'); + +exports.check = function(marko, markoCompiler, expect, done) { + var compiledPath; + + try { + var templatePath = nodePath.join(__dirname, 'template.marko'); + compiledPath = nodePath.join(__dirname, 'template.marko.js'); + var template = require(templatePath); + delete require.cache[templatePath]; + expect(fs.existsSync(compiledPath)).to.equal(true); + expect(template.renderSync({name: 'Frank'})).to.equal('Hello Frank!'); + } finally { + fs.unlinkSync(compiledPath); + } + + done(); +}; \ No newline at end of file diff --git a/test/fixtures/async-render/autotest/async-fragment-args/expected.html b/test/autotests/async-render/async-fragment-args/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-args/expected.html rename to test/autotests/async-render/async-fragment-args/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-args/template.marko b/test/autotests/async-render/async-fragment-args/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-args/template.marko rename to test/autotests/async-render/async-fragment-args/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-args/test.js b/test/autotests/async-render/async-fragment-args/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-args/test.js rename to test/autotests/async-render/async-fragment-args/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-client-reorder/expected.html b/test/autotests/async-render/async-fragment-client-reorder/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-client-reorder/expected.html rename to test/autotests/async-render/async-fragment-client-reorder/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-client-reorder/template.marko b/test/autotests/async-render/async-fragment-client-reorder/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-client-reorder/template.marko rename to test/autotests/async-render/async-fragment-client-reorder/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-client-reorder/test.js b/test/autotests/async-render/async-fragment-client-reorder/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-client-reorder/test.js rename to test/autotests/async-render/async-fragment-client-reorder/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-data-providers/expected.html b/test/autotests/async-render/async-fragment-data-providers/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-data-providers/expected.html rename to test/autotests/async-render/async-fragment-data-providers/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-data-providers/template.marko b/test/autotests/async-render/async-fragment-data-providers/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-data-providers/template.marko rename to test/autotests/async-render/async-fragment-data-providers/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-data-providers/test.js b/test/autotests/async-render/async-fragment-data-providers/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-data-providers/test.js rename to test/autotests/async-render/async-fragment-data-providers/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-error-message-attr/expected.html b/test/autotests/async-render/async-fragment-error-message-attr/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-error-message-attr/expected.html rename to test/autotests/async-render/async-fragment-error-message-attr/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-error-message-attr/template.marko b/test/autotests/async-render/async-fragment-error-message-attr/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-error-message-attr/template.marko rename to test/autotests/async-render/async-fragment-error-message-attr/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-error-message-attr/test.js b/test/autotests/async-render/async-fragment-error-message-attr/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-error-message-attr/test.js rename to test/autotests/async-render/async-fragment-error-message-attr/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-error/expected.html b/test/autotests/async-render/async-fragment-error/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-error/expected.html rename to test/autotests/async-render/async-fragment-error/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-error/template.marko b/test/autotests/async-render/async-fragment-error/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-error/template.marko rename to test/autotests/async-render/async-fragment-error/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-error/test.js b/test/autotests/async-render/async-fragment-error/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-error/test.js rename to test/autotests/async-render/async-fragment-error/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-callback/expected.html b/test/autotests/async-render/async-fragment-function-data-provider-callback/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-callback/expected.html rename to test/autotests/async-render/async-fragment-function-data-provider-callback/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-callback/template.marko b/test/autotests/async-render/async-fragment-function-data-provider-callback/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-callback/template.marko rename to test/autotests/async-render/async-fragment-function-data-provider-callback/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-callback/test.js b/test/autotests/async-render/async-fragment-function-data-provider-callback/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-callback/test.js rename to test/autotests/async-render/async-fragment-function-data-provider-callback/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-return-promise/expected.html b/test/autotests/async-render/async-fragment-function-data-provider-return-promise/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-return-promise/expected.html rename to test/autotests/async-render/async-fragment-function-data-provider-return-promise/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-return-promise/template.marko b/test/autotests/async-render/async-fragment-function-data-provider-return-promise/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-return-promise/template.marko rename to test/autotests/async-render/async-fragment-function-data-provider-return-promise/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-return-promise/test.js b/test/autotests/async-render/async-fragment-function-data-provider-return-promise/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-return-promise/test.js rename to test/autotests/async-render/async-fragment-function-data-provider-return-promise/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-sync/expected.html b/test/autotests/async-render/async-fragment-function-data-provider-sync/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-sync/expected.html rename to test/autotests/async-render/async-fragment-function-data-provider-sync/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-sync/template.marko b/test/autotests/async-render/async-fragment-function-data-provider-sync/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-sync/template.marko rename to test/autotests/async-render/async-fragment-function-data-provider-sync/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-function-data-provider-sync/test.js b/test/autotests/async-render/async-fragment-function-data-provider-sync/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-function-data-provider-sync/test.js rename to test/autotests/async-render/async-fragment-function-data-provider-sync/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-macros/expected.html b/test/autotests/async-render/async-fragment-macros/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-macros/expected.html rename to test/autotests/async-render/async-fragment-macros/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-macros/template.marko b/test/autotests/async-render/async-fragment-macros/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-macros/template.marko rename to test/autotests/async-render/async-fragment-macros/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-macros/test.js b/test/autotests/async-render/async-fragment-macros/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-macros/test.js rename to test/autotests/async-render/async-fragment-macros/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-ordering/expected.html b/test/autotests/async-render/async-fragment-ordering/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-ordering/expected.html rename to test/autotests/async-render/async-fragment-ordering/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-ordering/template.marko b/test/autotests/async-render/async-fragment-ordering/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-ordering/template.marko rename to test/autotests/async-render/async-fragment-ordering/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-ordering/test.js b/test/autotests/async-render/async-fragment-ordering/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-ordering/test.js rename to test/autotests/async-render/async-fragment-ordering/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-ordering2/expected.html b/test/autotests/async-render/async-fragment-ordering2/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-ordering2/expected.html rename to test/autotests/async-render/async-fragment-ordering2/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-ordering2/template.marko b/test/autotests/async-render/async-fragment-ordering2/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-ordering2/template.marko rename to test/autotests/async-render/async-fragment-ordering2/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-ordering2/test.js b/test/autotests/async-render/async-fragment-ordering2/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-ordering2/test.js rename to test/autotests/async-render/async-fragment-ordering2/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-placeholder/template.marko b/test/autotests/async-render/async-fragment-placeholder/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-placeholder/template.marko rename to test/autotests/async-render/async-fragment-placeholder/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-placeholder/test.js b/test/autotests/async-render/async-fragment-placeholder/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-placeholder/test.js rename to test/autotests/async-render/async-fragment-placeholder/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-promise-error-bluebird/expected.html b/test/autotests/async-render/async-fragment-promise-error-bluebird/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise-error-bluebird/expected.html rename to test/autotests/async-render/async-fragment-promise-error-bluebird/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-promise-error-bluebird/template.marko b/test/autotests/async-render/async-fragment-promise-error-bluebird/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise-error-bluebird/template.marko rename to test/autotests/async-render/async-fragment-promise-error-bluebird/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-promise-error-bluebird/test.js b/test/autotests/async-render/async-fragment-promise-error-bluebird/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise-error-bluebird/test.js rename to test/autotests/async-render/async-fragment-promise-error-bluebird/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-promise-error-q/expected.html b/test/autotests/async-render/async-fragment-promise-error-q/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise-error-q/expected.html rename to test/autotests/async-render/async-fragment-promise-error-q/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-promise-error-q/template.marko b/test/autotests/async-render/async-fragment-promise-error-q/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise-error-q/template.marko rename to test/autotests/async-render/async-fragment-promise-error-q/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-promise-error-q/test.js b/test/autotests/async-render/async-fragment-promise-error-q/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise-error-q/test.js rename to test/autotests/async-render/async-fragment-promise-error-q/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-promise/expected.html b/test/autotests/async-render/async-fragment-promise/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise/expected.html rename to test/autotests/async-render/async-fragment-promise/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-promise/template.marko b/test/autotests/async-render/async-fragment-promise/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise/template.marko rename to test/autotests/async-render/async-fragment-promise/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-promise/test.js b/test/autotests/async-render/async-fragment-promise/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-promise/test.js rename to test/autotests/async-render/async-fragment-promise/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-timeout-message/expected.html b/test/autotests/async-render/async-fragment-timeout-message/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-timeout-message/expected.html rename to test/autotests/async-render/async-fragment-timeout-message/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-timeout-message/template.marko b/test/autotests/async-render/async-fragment-timeout-message/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-timeout-message/template.marko rename to test/autotests/async-render/async-fragment-timeout-message/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-timeout-message/test.js b/test/autotests/async-render/async-fragment-timeout-message/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-timeout-message/test.js rename to test/autotests/async-render/async-fragment-timeout-message/test.js diff --git a/test/fixtures/async-render/autotest/async-fragment-timeout/expected.html b/test/autotests/async-render/async-fragment-timeout/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-timeout/expected.html rename to test/autotests/async-render/async-fragment-timeout/expected.html diff --git a/test/fixtures/async-render/autotest/async-fragment-timeout/template.marko b/test/autotests/async-render/async-fragment-timeout/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-timeout/template.marko rename to test/autotests/async-render/async-fragment-timeout/template.marko diff --git a/test/fixtures/async-render/autotest/async-fragment-timeout/test.js b/test/autotests/async-render/async-fragment-timeout/test.js similarity index 100% rename from test/fixtures/async-render/autotest/async-fragment-timeout/test.js rename to test/autotests/async-render/async-fragment-timeout/test.js diff --git a/test/fixtures/async-render/autotest/beginAsync/expected.html b/test/autotests/async-render/beginAsync/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/beginAsync/expected.html rename to test/autotests/async-render/beginAsync/expected.html diff --git a/test/fixtures/async-render/autotest/beginAsync/template.marko b/test/autotests/async-render/beginAsync/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/beginAsync/template.marko rename to test/autotests/async-render/beginAsync/template.marko diff --git a/test/fixtures/async-render/autotest/beginAsync/test.js b/test/autotests/async-render/beginAsync/test.js similarity index 100% rename from test/fixtures/async-render/autotest/beginAsync/test.js rename to test/autotests/async-render/beginAsync/test.js diff --git a/test/fixtures/async-render/autotest/cached-fragment-cache-manager-attr/expected.html b/test/autotests/async-render/cached-fragment-cache-manager-attr/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/cached-fragment-cache-manager-attr/expected.html rename to test/autotests/async-render/cached-fragment-cache-manager-attr/expected.html diff --git a/test/fixtures/async-render/autotest/cached-fragment-cache-manager-attr/template.marko b/test/autotests/async-render/cached-fragment-cache-manager-attr/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/cached-fragment-cache-manager-attr/template.marko rename to test/autotests/async-render/cached-fragment-cache-manager-attr/template.marko diff --git a/test/fixtures/async-render/autotest/cached-fragment-cache-manager-attr/test.js b/test/autotests/async-render/cached-fragment-cache-manager-attr/test.js similarity index 100% rename from test/fixtures/async-render/autotest/cached-fragment-cache-manager-attr/test.js rename to test/autotests/async-render/cached-fragment-cache-manager-attr/test.js diff --git a/test/fixtures/async-render/autotest/cached-fragment/expected.html b/test/autotests/async-render/cached-fragment/expected.html similarity index 100% rename from test/fixtures/async-render/autotest/cached-fragment/expected.html rename to test/autotests/async-render/cached-fragment/expected.html diff --git a/test/fixtures/async-render/autotest/cached-fragment/template.marko b/test/autotests/async-render/cached-fragment/template.marko similarity index 100% rename from test/fixtures/async-render/autotest/cached-fragment/template.marko rename to test/autotests/async-render/cached-fragment/template.marko diff --git a/test/fixtures/async-render/autotest/cached-fragment/test.js b/test/autotests/async-render/cached-fragment/test.js similarity index 100% rename from test/fixtures/async-render/autotest/cached-fragment/test.js rename to test/autotests/async-render/cached-fragment/test.js diff --git a/test/fixtures/codegen/autotest/arrayExpression-empty/expected.js b/test/autotests/codegen/arrayExpression-empty/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/arrayExpression-empty/expected.js rename to test/autotests/codegen/arrayExpression-empty/expected.js diff --git a/test/fixtures/codegen/autotest/arrayExpression-empty/index.js b/test/autotests/codegen/arrayExpression-empty/index.js similarity index 100% rename from test/fixtures/codegen/autotest/arrayExpression-empty/index.js rename to test/autotests/codegen/arrayExpression-empty/index.js diff --git a/test/fixtures/codegen/autotest/arrayExpression/expected.js b/test/autotests/codegen/arrayExpression/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/arrayExpression/expected.js rename to test/autotests/codegen/arrayExpression/expected.js diff --git a/test/fixtures/codegen/autotest/arrayExpression/index.js b/test/autotests/codegen/arrayExpression/index.js similarity index 100% rename from test/fixtures/codegen/autotest/arrayExpression/index.js rename to test/autotests/codegen/arrayExpression/index.js diff --git a/test/fixtures/codegen/autotest/attr-no-escape/expected.js b/test/autotests/codegen/attr-no-escape/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/attr-no-escape/expected.js rename to test/autotests/codegen/attr-no-escape/expected.js diff --git a/test/fixtures/codegen/autotest/attr-no-escape/index.js b/test/autotests/codegen/attr-no-escape/index.js similarity index 100% rename from test/fixtures/codegen/autotest/attr-no-escape/index.js rename to test/autotests/codegen/attr-no-escape/index.js diff --git a/test/fixtures/codegen/autotest/binaryExpression-literal-divide/expected.js b/test/autotests/codegen/binaryExpression-literal-divide/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression-literal-divide/expected.js rename to test/autotests/codegen/binaryExpression-literal-divide/expected.js diff --git a/test/fixtures/codegen/autotest/binaryExpression-literal-divide/index.js b/test/autotests/codegen/binaryExpression-literal-divide/index.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression-literal-divide/index.js rename to test/autotests/codegen/binaryExpression-literal-divide/index.js diff --git a/test/fixtures/codegen/autotest/binaryExpression-literal-multiply/expected.js b/test/autotests/codegen/binaryExpression-literal-multiply/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression-literal-multiply/expected.js rename to test/autotests/codegen/binaryExpression-literal-multiply/expected.js diff --git a/test/fixtures/codegen/autotest/binaryExpression-literal-multiply/index.js b/test/autotests/codegen/binaryExpression-literal-multiply/index.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression-literal-multiply/index.js rename to test/autotests/codegen/binaryExpression-literal-multiply/index.js diff --git a/test/fixtures/codegen/autotest/binaryExpression-literal-subtract/expected.js b/test/autotests/codegen/binaryExpression-literal-subtract/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression-literal-subtract/expected.js rename to test/autotests/codegen/binaryExpression-literal-subtract/expected.js diff --git a/test/fixtures/codegen/autotest/binaryExpression-literal-subtract/index.js b/test/autotests/codegen/binaryExpression-literal-subtract/index.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression-literal-subtract/index.js rename to test/autotests/codegen/binaryExpression-literal-subtract/index.js diff --git a/test/fixtures/codegen/autotest/binaryExpression/expected.js b/test/autotests/codegen/binaryExpression/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression/expected.js rename to test/autotests/codegen/binaryExpression/expected.js diff --git a/test/fixtures/codegen/autotest/binaryExpression/index.js b/test/autotests/codegen/binaryExpression/index.js similarity index 100% rename from test/fixtures/codegen/autotest/binaryExpression/index.js rename to test/autotests/codegen/binaryExpression/index.js diff --git a/test/fixtures/codegen/autotest/body-only-if/expected.js b/test/autotests/codegen/body-only-if/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/body-only-if/expected.js rename to test/autotests/codegen/body-only-if/expected.js diff --git a/test/fixtures/codegen/autotest/body-only-if/index.js b/test/autotests/codegen/body-only-if/index.js similarity index 100% rename from test/fixtures/codegen/autotest/body-only-if/index.js rename to test/autotests/codegen/body-only-if/index.js diff --git a/test/fixtures/codegen/autotest/code-before-after-if/expected.js b/test/autotests/codegen/code-before-after-if/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after-if/expected.js rename to test/autotests/codegen/code-before-after-if/expected.js diff --git a/test/fixtures/codegen/autotest/code-before-after-if/index.js b/test/autotests/codegen/code-before-after-if/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after-if/index.js rename to test/autotests/codegen/code-before-after-if/index.js diff --git a/test/fixtures/codegen/autotest/code-before-after-surrounded/expected.js b/test/autotests/codegen/code-before-after-surrounded/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after-surrounded/expected.js rename to test/autotests/codegen/code-before-after-surrounded/expected.js diff --git a/test/fixtures/codegen/autotest/code-before-after-surrounded/index.js b/test/autotests/codegen/code-before-after-surrounded/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after-surrounded/index.js rename to test/autotests/codegen/code-before-after-surrounded/index.js diff --git a/test/fixtures/codegen/autotest/code-before-after-var/expected.js b/test/autotests/codegen/code-before-after-var/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after-var/expected.js rename to test/autotests/codegen/code-before-after-var/expected.js diff --git a/test/fixtures/codegen/autotest/code-before-after-var/index.js b/test/autotests/codegen/code-before-after-var/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after-var/index.js rename to test/autotests/codegen/code-before-after-var/index.js diff --git a/test/fixtures/codegen/autotest/code-before-after/expected.js b/test/autotests/codegen/code-before-after/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after/expected.js rename to test/autotests/codegen/code-before-after/expected.js diff --git a/test/fixtures/codegen/autotest/code-before-after/index.js b/test/autotests/codegen/code-before-after/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-before-after/index.js rename to test/autotests/codegen/code-before-after/index.js diff --git a/test/fixtures/codegen/autotest/code-expression/expected.js b/test/autotests/codegen/code-expression/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-expression/expected.js rename to test/autotests/codegen/code-expression/expected.js diff --git a/test/fixtures/codegen/autotest/code-expression/index.js b/test/autotests/codegen/code-expression/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-expression/index.js rename to test/autotests/codegen/code-expression/index.js diff --git a/test/fixtures/codegen/autotest/code-statement-nested/expected.js b/test/autotests/codegen/code-statement-nested/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-statement-nested/expected.js rename to test/autotests/codegen/code-statement-nested/expected.js diff --git a/test/fixtures/codegen/autotest/code-statement-nested/index.js b/test/autotests/codegen/code-statement-nested/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-statement-nested/index.js rename to test/autotests/codegen/code-statement-nested/index.js diff --git a/test/fixtures/codegen/autotest/code-statement/expected.js b/test/autotests/codegen/code-statement/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/code-statement/expected.js rename to test/autotests/codegen/code-statement/expected.js diff --git a/test/fixtures/codegen/autotest/code-statement/index.js b/test/autotests/codegen/code-statement/index.js similarity index 100% rename from test/fixtures/codegen/autotest/code-statement/index.js rename to test/autotests/codegen/code-statement/index.js diff --git a/test/fixtures/codegen/autotest/codegen-addStaticVar/expected.js b/test/autotests/codegen/codegen-addStaticVar/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/codegen-addStaticVar/expected.js rename to test/autotests/codegen/codegen-addStaticVar/expected.js diff --git a/test/fixtures/codegen/autotest/codegen-addStaticVar/index.js b/test/autotests/codegen/codegen-addStaticVar/index.js similarity index 100% rename from test/fixtures/codegen/autotest/codegen-addStaticVar/index.js rename to test/autotests/codegen/codegen-addStaticVar/index.js diff --git a/test/fixtures/codegen/autotest/codegen-addVar/expected.js b/test/autotests/codegen/codegen-addVar/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/codegen-addVar/expected.js rename to test/autotests/codegen/codegen-addVar/expected.js diff --git a/test/fixtures/codegen/autotest/codegen-addVar/index.js b/test/autotests/codegen/codegen-addVar/index.js similarity index 100% rename from test/fixtures/codegen/autotest/codegen-addVar/index.js rename to test/autotests/codegen/codegen-addVar/index.js diff --git a/test/fixtures/codegen/autotest/combine-writes/expected.js b/test/autotests/codegen/combine-writes/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/combine-writes/expected.js rename to test/autotests/codegen/combine-writes/expected.js diff --git a/test/fixtures/codegen/autotest/combine-writes/index.js b/test/autotests/codegen/combine-writes/index.js similarity index 100% rename from test/fixtures/codegen/autotest/combine-writes/index.js rename to test/autotests/codegen/combine-writes/index.js diff --git a/test/fixtures/codegen/autotest/concat-four/expected.js b/test/autotests/codegen/concat-four/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/concat-four/expected.js rename to test/autotests/codegen/concat-four/expected.js diff --git a/test/fixtures/codegen/autotest/concat-four/index.js b/test/autotests/codegen/concat-four/index.js similarity index 100% rename from test/fixtures/codegen/autotest/concat-four/index.js rename to test/autotests/codegen/concat-four/index.js diff --git a/test/fixtures/codegen/autotest/concat-strings/expected.js b/test/autotests/codegen/concat-strings/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/concat-strings/expected.js rename to test/autotests/codegen/concat-strings/expected.js diff --git a/test/fixtures/codegen/autotest/concat-strings/index.js b/test/autotests/codegen/concat-strings/index.js similarity index 100% rename from test/fixtures/codegen/autotest/concat-strings/index.js rename to test/autotests/codegen/concat-strings/index.js diff --git a/test/fixtures/codegen/autotest/concat-three/expected.js b/test/autotests/codegen/concat-three/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/concat-three/expected.js rename to test/autotests/codegen/concat-three/expected.js diff --git a/test/fixtures/codegen/autotest/concat-three/index.js b/test/autotests/codegen/concat-three/index.js similarity index 100% rename from test/fixtures/codegen/autotest/concat-three/index.js rename to test/autotests/codegen/concat-three/index.js diff --git a/test/fixtures/codegen/autotest/concat/expected.js b/test/autotests/codegen/concat/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/concat/expected.js rename to test/autotests/codegen/concat/expected.js diff --git a/test/fixtures/codegen/autotest/concat/index.js b/test/autotests/codegen/concat/index.js similarity index 100% rename from test/fixtures/codegen/autotest/concat/index.js rename to test/autotests/codegen/concat/index.js diff --git a/test/fixtures/codegen/autotest/conditionalExpression/expected.js b/test/autotests/codegen/conditionalExpression/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/conditionalExpression/expected.js rename to test/autotests/codegen/conditionalExpression/expected.js diff --git a/test/fixtures/codegen/autotest/conditionalExpression/index.js b/test/autotests/codegen/conditionalExpression/index.js similarity index 100% rename from test/fixtures/codegen/autotest/conditionalExpression/index.js rename to test/autotests/codegen/conditionalExpression/index.js diff --git a/test/fixtures/codegen/autotest/context-addStaticVar/expected.js b/test/autotests/codegen/context-addStaticVar/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/context-addStaticVar/expected.js rename to test/autotests/codegen/context-addStaticVar/expected.js diff --git a/test/fixtures/codegen/autotest/context-addStaticVar/index.js b/test/autotests/codegen/context-addStaticVar/index.js similarity index 100% rename from test/fixtures/codegen/autotest/context-addStaticVar/index.js rename to test/autotests/codegen/context-addStaticVar/index.js diff --git a/test/fixtures/codegen/autotest/context-addVar/expected.js b/test/autotests/codegen/context-addVar/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/context-addVar/expected.js rename to test/autotests/codegen/context-addVar/expected.js diff --git a/test/fixtures/codegen/autotest/context-addVar/index.js b/test/autotests/codegen/context-addVar/index.js similarity index 100% rename from test/fixtures/codegen/autotest/context-addVar/index.js rename to test/autotests/codegen/context-addVar/index.js diff --git a/test/fixtures/codegen/autotest/forEach/expected.js b/test/autotests/codegen/forEach/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/forEach/expected.js rename to test/autotests/codegen/forEach/expected.js diff --git a/test/fixtures/codegen/autotest/forEach/index.js b/test/autotests/codegen/forEach/index.js similarity index 100% rename from test/fixtures/codegen/autotest/forEach/index.js rename to test/autotests/codegen/forEach/index.js diff --git a/test/fixtures/codegen/autotest/forEachProps/expected.js b/test/autotests/codegen/forEachProps/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/forEachProps/expected.js rename to test/autotests/codegen/forEachProps/expected.js diff --git a/test/fixtures/codegen/autotest/forEachProps/index.js b/test/autotests/codegen/forEachProps/index.js similarity index 100% rename from test/fixtures/codegen/autotest/forEachProps/index.js rename to test/autotests/codegen/forEachProps/index.js diff --git a/test/fixtures/codegen/autotest/forRange/expected.js b/test/autotests/codegen/forRange/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/forRange/expected.js rename to test/autotests/codegen/forRange/expected.js diff --git a/test/fixtures/codegen/autotest/forRange/index.js b/test/autotests/codegen/forRange/index.js similarity index 100% rename from test/fixtures/codegen/autotest/forRange/index.js rename to test/autotests/codegen/forRange/index.js diff --git a/test/fixtures/codegen/autotest/forStatement/expected.js b/test/autotests/codegen/forStatement/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/forStatement/expected.js rename to test/autotests/codegen/forStatement/expected.js diff --git a/test/fixtures/codegen/autotest/forStatement/index.js b/test/autotests/codegen/forStatement/index.js similarity index 100% rename from test/fixtures/codegen/autotest/forStatement/index.js rename to test/autotests/codegen/forStatement/index.js diff --git a/test/fixtures/codegen/autotest/functionCall/expected.js b/test/autotests/codegen/functionCall/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/functionCall/expected.js rename to test/autotests/codegen/functionCall/expected.js diff --git a/test/fixtures/codegen/autotest/functionCall/index.js b/test/autotests/codegen/functionCall/index.js similarity index 100% rename from test/fixtures/codegen/autotest/functionCall/index.js rename to test/autotests/codegen/functionCall/index.js diff --git a/test/fixtures/codegen/autotest/functionDeclaration-anonymous/expected.js b/test/autotests/codegen/functionDeclaration-anonymous/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/functionDeclaration-anonymous/expected.js rename to test/autotests/codegen/functionDeclaration-anonymous/expected.js diff --git a/test/fixtures/codegen/autotest/functionDeclaration-anonymous/index.js b/test/autotests/codegen/functionDeclaration-anonymous/index.js similarity index 100% rename from test/fixtures/codegen/autotest/functionDeclaration-anonymous/index.js rename to test/autotests/codegen/functionDeclaration-anonymous/index.js diff --git a/test/fixtures/codegen/autotest/functionDeclaration/expected.js b/test/autotests/codegen/functionDeclaration/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/functionDeclaration/expected.js rename to test/autotests/codegen/functionDeclaration/expected.js diff --git a/test/fixtures/codegen/autotest/functionDeclaration/index.js b/test/autotests/codegen/functionDeclaration/index.js similarity index 100% rename from test/fixtures/codegen/autotest/functionDeclaration/index.js rename to test/autotests/codegen/functionDeclaration/index.js diff --git a/test/fixtures/codegen/autotest/html/expected.js b/test/autotests/codegen/html/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/html/expected.js rename to test/autotests/codegen/html/expected.js diff --git a/test/fixtures/codegen/autotest/html/index.js b/test/autotests/codegen/html/index.js similarity index 100% rename from test/fixtures/codegen/autotest/html/index.js rename to test/autotests/codegen/html/index.js diff --git a/test/fixtures/codegen/autotest/htmlComment/expected.js b/test/autotests/codegen/htmlComment/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlComment/expected.js rename to test/autotests/codegen/htmlComment/expected.js diff --git a/test/fixtures/codegen/autotest/htmlComment/index.js b/test/autotests/codegen/htmlComment/index.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlComment/index.js rename to test/autotests/codegen/htmlComment/index.js diff --git a/test/fixtures/codegen/autotest/htmlElement-addAttribute/expected.js b/test/autotests/codegen/htmlElement-addAttribute/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement-addAttribute/expected.js rename to test/autotests/codegen/htmlElement-addAttribute/expected.js diff --git a/test/fixtures/codegen/autotest/htmlElement-addAttribute/index.js b/test/autotests/codegen/htmlElement-addAttribute/index.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement-addAttribute/index.js rename to test/autotests/codegen/htmlElement-addAttribute/index.js diff --git a/test/fixtures/codegen/autotest/htmlElement-attr-escape/expected.js b/test/autotests/codegen/htmlElement-attr-escape/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement-attr-escape/expected.js rename to test/autotests/codegen/htmlElement-attr-escape/expected.js diff --git a/test/fixtures/codegen/autotest/htmlElement-attr-escape/index.js b/test/autotests/codegen/htmlElement-attr-escape/index.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement-attr-escape/index.js rename to test/autotests/codegen/htmlElement-attr-escape/index.js diff --git a/test/fixtures/codegen/autotest/htmlElement-dynamic/expected.js b/test/autotests/codegen/htmlElement-dynamic/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement-dynamic/expected.js rename to test/autotests/codegen/htmlElement-dynamic/expected.js diff --git a/test/fixtures/codegen/autotest/htmlElement-dynamic/index.js b/test/autotests/codegen/htmlElement-dynamic/index.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement-dynamic/index.js rename to test/autotests/codegen/htmlElement-dynamic/index.js diff --git a/test/fixtures/codegen/autotest/htmlElement/expected.js b/test/autotests/codegen/htmlElement/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement/expected.js rename to test/autotests/codegen/htmlElement/expected.js diff --git a/test/fixtures/codegen/autotest/htmlElement/index.js b/test/autotests/codegen/htmlElement/index.js similarity index 100% rename from test/fixtures/codegen/autotest/htmlElement/index.js rename to test/autotests/codegen/htmlElement/index.js diff --git a/test/fixtures/codegen/autotest/identifier/expected.js b/test/autotests/codegen/identifier/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/identifier/expected.js rename to test/autotests/codegen/identifier/expected.js diff --git a/test/fixtures/codegen/autotest/identifier/index.js b/test/autotests/codegen/identifier/index.js similarity index 100% rename from test/fixtures/codegen/autotest/identifier/index.js rename to test/autotests/codegen/identifier/index.js diff --git a/test/fixtures/codegen/autotest/if-else-if-else/expected.js b/test/autotests/codegen/if-else-if-else/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/if-else-if-else/expected.js rename to test/autotests/codegen/if-else-if-else/expected.js diff --git a/test/fixtures/codegen/autotest/if-else-if-else/index.js b/test/autotests/codegen/if-else-if-else/index.js similarity index 100% rename from test/fixtures/codegen/autotest/if-else-if-else/index.js rename to test/autotests/codegen/if-else-if-else/index.js diff --git a/test/fixtures/codegen/autotest/if-else-if/expected.js b/test/autotests/codegen/if-else-if/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/if-else-if/expected.js rename to test/autotests/codegen/if-else-if/expected.js diff --git a/test/fixtures/codegen/autotest/if-else-if/index.js b/test/autotests/codegen/if-else-if/index.js similarity index 100% rename from test/fixtures/codegen/autotest/if-else-if/index.js rename to test/autotests/codegen/if-else-if/index.js diff --git a/test/fixtures/codegen/autotest/if-else/expected.js b/test/autotests/codegen/if-else/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/if-else/expected.js rename to test/autotests/codegen/if-else/expected.js diff --git a/test/fixtures/codegen/autotest/if-else/index.js b/test/autotests/codegen/if-else/index.js similarity index 100% rename from test/fixtures/codegen/autotest/if-else/index.js rename to test/autotests/codegen/if-else/index.js diff --git a/test/fixtures/codegen/autotest/if-write-if/expected.js b/test/autotests/codegen/if-write-if/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/if-write-if/expected.js rename to test/autotests/codegen/if-write-if/expected.js diff --git a/test/fixtures/codegen/autotest/if-write-if/index.js b/test/autotests/codegen/if-write-if/index.js similarity index 100% rename from test/fixtures/codegen/autotest/if-write-if/index.js rename to test/autotests/codegen/if-write-if/index.js diff --git a/test/fixtures/codegen/autotest/if/expected.js b/test/autotests/codegen/if/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/if/expected.js rename to test/autotests/codegen/if/expected.js diff --git a/test/fixtures/codegen/autotest/if/index.js b/test/autotests/codegen/if/index.js similarity index 100% rename from test/fixtures/codegen/autotest/if/index.js rename to test/autotests/codegen/if/index.js diff --git a/test/fixtures/codegen/autotest/insertSiblingAfter/expected.js b/test/autotests/codegen/insertSiblingAfter/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/insertSiblingAfter/expected.js rename to test/autotests/codegen/insertSiblingAfter/expected.js diff --git a/test/fixtures/codegen/autotest/insertSiblingAfter/index.js b/test/autotests/codegen/insertSiblingAfter/index.js similarity index 100% rename from test/fixtures/codegen/autotest/insertSiblingAfter/index.js rename to test/autotests/codegen/insertSiblingAfter/index.js diff --git a/test/fixtures/codegen/autotest/insertSiblingBefore/expected.js b/test/autotests/codegen/insertSiblingBefore/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/insertSiblingBefore/expected.js rename to test/autotests/codegen/insertSiblingBefore/expected.js diff --git a/test/fixtures/codegen/autotest/insertSiblingBefore/index.js b/test/autotests/codegen/insertSiblingBefore/index.js similarity index 100% rename from test/fixtures/codegen/autotest/insertSiblingBefore/index.js rename to test/autotests/codegen/insertSiblingBefore/index.js diff --git a/test/fixtures/codegen/autotest/invokeMacro-body/expected.js b/test/autotests/codegen/invokeMacro-body/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacro-body/expected.js rename to test/autotests/codegen/invokeMacro-body/expected.js diff --git a/test/fixtures/codegen/autotest/invokeMacro-body/index.js b/test/autotests/codegen/invokeMacro-body/index.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacro-body/index.js rename to test/autotests/codegen/invokeMacro-body/index.js diff --git a/test/fixtures/codegen/autotest/invokeMacro/expected.js b/test/autotests/codegen/invokeMacro/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacro/expected.js rename to test/autotests/codegen/invokeMacro/expected.js diff --git a/test/fixtures/codegen/autotest/invokeMacro/index.js b/test/autotests/codegen/invokeMacro/index.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacro/index.js rename to test/autotests/codegen/invokeMacro/index.js diff --git a/test/fixtures/codegen/autotest/invokeMacroFromEl-body-and-argument/expected.js b/test/autotests/codegen/invokeMacroFromEl-body-and-argument/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacroFromEl-body-and-argument/expected.js rename to test/autotests/codegen/invokeMacroFromEl-body-and-argument/expected.js diff --git a/test/fixtures/codegen/autotest/invokeMacroFromEl-body-and-argument/index.js b/test/autotests/codegen/invokeMacroFromEl-body-and-argument/index.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacroFromEl-body-and-argument/index.js rename to test/autotests/codegen/invokeMacroFromEl-body-and-argument/index.js diff --git a/test/fixtures/codegen/autotest/invokeMacroFromEl/expected.js b/test/autotests/codegen/invokeMacroFromEl/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacroFromEl/expected.js rename to test/autotests/codegen/invokeMacroFromEl/expected.js diff --git a/test/fixtures/codegen/autotest/invokeMacroFromEl/index.js b/test/autotests/codegen/invokeMacroFromEl/index.js similarity index 100% rename from test/fixtures/codegen/autotest/invokeMacroFromEl/index.js rename to test/autotests/codegen/invokeMacroFromEl/index.js diff --git a/test/fixtures/codegen/autotest/literal/expected.js b/test/autotests/codegen/literal/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/literal/expected.js rename to test/autotests/codegen/literal/expected.js diff --git a/test/fixtures/codegen/autotest/literal/index.js b/test/autotests/codegen/literal/index.js similarity index 100% rename from test/fixtures/codegen/autotest/literal/index.js rename to test/autotests/codegen/literal/index.js diff --git a/test/fixtures/codegen/autotest/macro/expected.js b/test/autotests/codegen/macro/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/macro/expected.js rename to test/autotests/codegen/macro/expected.js diff --git a/test/fixtures/codegen/autotest/macro/index.js b/test/autotests/codegen/macro/index.js similarity index 100% rename from test/fixtures/codegen/autotest/macro/index.js rename to test/autotests/codegen/macro/index.js diff --git a/test/fixtures/codegen/autotest/marko-template/expected.js b/test/autotests/codegen/marko-template/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/marko-template/expected.js rename to test/autotests/codegen/marko-template/expected.js diff --git a/test/fixtures/codegen/autotest/marko-template/index.js b/test/autotests/codegen/marko-template/index.js similarity index 100% rename from test/fixtures/codegen/autotest/marko-template/index.js rename to test/autotests/codegen/marko-template/index.js diff --git a/test/fixtures/codegen/autotest/moveChildrenTo/expected.js b/test/autotests/codegen/moveChildrenTo/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/moveChildrenTo/expected.js rename to test/autotests/codegen/moveChildrenTo/expected.js diff --git a/test/fixtures/codegen/autotest/moveChildrenTo/index.js b/test/autotests/codegen/moveChildrenTo/index.js similarity index 100% rename from test/fixtures/codegen/autotest/moveChildrenTo/index.js rename to test/autotests/codegen/moveChildrenTo/index.js diff --git a/test/fixtures/codegen/autotest/negate/expected.js b/test/autotests/codegen/negate/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/negate/expected.js rename to test/autotests/codegen/negate/expected.js diff --git a/test/fixtures/codegen/autotest/negate/index.js b/test/autotests/codegen/negate/index.js similarity index 100% rename from test/fixtures/codegen/autotest/negate/index.js rename to test/autotests/codegen/negate/index.js diff --git a/test/fixtures/codegen/autotest/new/expected.js b/test/autotests/codegen/new/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/new/expected.js rename to test/autotests/codegen/new/expected.js diff --git a/test/fixtures/codegen/autotest/new/index.js b/test/autotests/codegen/new/index.js similarity index 100% rename from test/fixtures/codegen/autotest/new/index.js rename to test/autotests/codegen/new/index.js diff --git a/test/fixtures/codegen/autotest/node/expected.js b/test/autotests/codegen/node/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/node/expected.js rename to test/autotests/codegen/node/expected.js diff --git a/test/fixtures/codegen/autotest/node/index.js b/test/autotests/codegen/node/index.js similarity index 100% rename from test/fixtures/codegen/autotest/node/index.js rename to test/autotests/codegen/node/index.js diff --git a/test/fixtures/codegen/autotest/program/expected.js b/test/autotests/codegen/program/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/program/expected.js rename to test/autotests/codegen/program/expected.js diff --git a/test/fixtures/codegen/autotest/program/index.js b/test/autotests/codegen/program/index.js similarity index 100% rename from test/fixtures/codegen/autotest/program/index.js rename to test/autotests/codegen/program/index.js diff --git a/test/fixtures/codegen/autotest/removeAllAttributes/expected.js b/test/autotests/codegen/removeAllAttributes/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/removeAllAttributes/expected.js rename to test/autotests/codegen/removeAllAttributes/expected.js diff --git a/test/fixtures/codegen/autotest/removeAllAttributes/index.js b/test/autotests/codegen/removeAllAttributes/index.js similarity index 100% rename from test/fixtures/codegen/autotest/removeAllAttributes/index.js rename to test/autotests/codegen/removeAllAttributes/index.js diff --git a/test/fixtures/codegen/autotest/renderBodyFunction/expected.js b/test/autotests/codegen/renderBodyFunction/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/renderBodyFunction/expected.js rename to test/autotests/codegen/renderBodyFunction/expected.js diff --git a/test/fixtures/codegen/autotest/renderBodyFunction/index.js b/test/autotests/codegen/renderBodyFunction/index.js similarity index 100% rename from test/fixtures/codegen/autotest/renderBodyFunction/index.js rename to test/autotests/codegen/renderBodyFunction/index.js diff --git a/test/fixtures/codegen/autotest/returnStatement-empty/expected.js b/test/autotests/codegen/returnStatement-empty/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/returnStatement-empty/expected.js rename to test/autotests/codegen/returnStatement-empty/expected.js diff --git a/test/fixtures/codegen/autotest/returnStatement-empty/index.js b/test/autotests/codegen/returnStatement-empty/index.js similarity index 100% rename from test/fixtures/codegen/autotest/returnStatement-empty/index.js rename to test/autotests/codegen/returnStatement-empty/index.js diff --git a/test/fixtures/codegen/autotest/returnStatement/expected.js b/test/autotests/codegen/returnStatement/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/returnStatement/expected.js rename to test/autotests/codegen/returnStatement/expected.js diff --git a/test/fixtures/codegen/autotest/returnStatement/index.js b/test/autotests/codegen/returnStatement/index.js similarity index 100% rename from test/fixtures/codegen/autotest/returnStatement/index.js rename to test/autotests/codegen/returnStatement/index.js diff --git a/test/fixtures/codegen/autotest/selfInvokingFunction-no-args/expected.js b/test/autotests/codegen/selfInvokingFunction-no-args/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/selfInvokingFunction-no-args/expected.js rename to test/autotests/codegen/selfInvokingFunction-no-args/expected.js diff --git a/test/fixtures/codegen/autotest/selfInvokingFunction-no-args/index.js b/test/autotests/codegen/selfInvokingFunction-no-args/index.js similarity index 100% rename from test/fixtures/codegen/autotest/selfInvokingFunction-no-args/index.js rename to test/autotests/codegen/selfInvokingFunction-no-args/index.js diff --git a/test/fixtures/codegen/autotest/selfInvokingFunction-null-args/expected.js b/test/autotests/codegen/selfInvokingFunction-null-args/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/selfInvokingFunction-null-args/expected.js rename to test/autotests/codegen/selfInvokingFunction-null-args/expected.js diff --git a/test/fixtures/codegen/autotest/selfInvokingFunction-null-args/index.js b/test/autotests/codegen/selfInvokingFunction-null-args/index.js similarity index 100% rename from test/fixtures/codegen/autotest/selfInvokingFunction-null-args/index.js rename to test/autotests/codegen/selfInvokingFunction-null-args/index.js diff --git a/test/fixtures/codegen/autotest/selfInvokingFunction/expected.js b/test/autotests/codegen/selfInvokingFunction/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/selfInvokingFunction/expected.js rename to test/autotests/codegen/selfInvokingFunction/expected.js diff --git a/test/fixtures/codegen/autotest/selfInvokingFunction/index.js b/test/autotests/codegen/selfInvokingFunction/index.js similarity index 100% rename from test/fixtures/codegen/autotest/selfInvokingFunction/index.js rename to test/autotests/codegen/selfInvokingFunction/index.js diff --git a/test/fixtures/codegen/autotest/simple/expected.js b/test/autotests/codegen/simple/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/simple/expected.js rename to test/autotests/codegen/simple/expected.js diff --git a/test/fixtures/codegen/autotest/simple/index.js b/test/autotests/codegen/simple/index.js similarity index 100% rename from test/fixtures/codegen/autotest/simple/index.js rename to test/autotests/codegen/simple/index.js diff --git a/test/fixtures/codegen/autotest/slot-with-statements/expected.js b/test/autotests/codegen/slot-with-statements/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/slot-with-statements/expected.js rename to test/autotests/codegen/slot-with-statements/expected.js diff --git a/test/fixtures/codegen/autotest/slot-with-statements/index.js b/test/autotests/codegen/slot-with-statements/index.js similarity index 100% rename from test/fixtures/codegen/autotest/slot-with-statements/index.js rename to test/autotests/codegen/slot-with-statements/index.js diff --git a/test/fixtures/codegen/autotest/slot-with-writes-nested/expected.js b/test/autotests/codegen/slot-with-writes-nested/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/slot-with-writes-nested/expected.js rename to test/autotests/codegen/slot-with-writes-nested/expected.js diff --git a/test/fixtures/codegen/autotest/slot-with-writes-nested/index.js b/test/autotests/codegen/slot-with-writes-nested/index.js similarity index 100% rename from test/fixtures/codegen/autotest/slot-with-writes-nested/index.js rename to test/autotests/codegen/slot-with-writes-nested/index.js diff --git a/test/fixtures/codegen/autotest/slot-with-writes/expected.js b/test/autotests/codegen/slot-with-writes/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/slot-with-writes/expected.js rename to test/autotests/codegen/slot-with-writes/expected.js diff --git a/test/fixtures/codegen/autotest/slot-with-writes/index.js b/test/autotests/codegen/slot-with-writes/index.js similarity index 100% rename from test/fixtures/codegen/autotest/slot-with-writes/index.js rename to test/autotests/codegen/slot-with-writes/index.js diff --git a/test/fixtures/codegen/autotest/slot/expected.js b/test/autotests/codegen/slot/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/slot/expected.js rename to test/autotests/codegen/slot/expected.js diff --git a/test/fixtures/codegen/autotest/slot/index.js b/test/autotests/codegen/slot/index.js similarity index 100% rename from test/fixtures/codegen/autotest/slot/index.js rename to test/autotests/codegen/slot/index.js diff --git a/test/fixtures/codegen/autotest/strictEquality/expected.js b/test/autotests/codegen/strictEquality/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/strictEquality/expected.js rename to test/autotests/codegen/strictEquality/expected.js diff --git a/test/fixtures/codegen/autotest/strictEquality/index.js b/test/autotests/codegen/strictEquality/index.js similarity index 100% rename from test/fixtures/codegen/autotest/strictEquality/index.js rename to test/autotests/codegen/strictEquality/index.js diff --git a/test/fixtures/codegen/autotest/templateRoot-prependChild/expected.js b/test/autotests/codegen/templateRoot-prependChild/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/templateRoot-prependChild/expected.js rename to test/autotests/codegen/templateRoot-prependChild/expected.js diff --git a/test/fixtures/codegen/autotest/templateRoot-prependChild/index.js b/test/autotests/codegen/templateRoot-prependChild/index.js similarity index 100% rename from test/fixtures/codegen/autotest/templateRoot-prependChild/index.js rename to test/autotests/codegen/templateRoot-prependChild/index.js diff --git a/test/fixtures/codegen/autotest/unaryExpression/expected.js b/test/autotests/codegen/unaryExpression/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/unaryExpression/expected.js rename to test/autotests/codegen/unaryExpression/expected.js diff --git a/test/fixtures/codegen/autotest/unaryExpression/index.js b/test/autotests/codegen/unaryExpression/index.js similarity index 100% rename from test/fixtures/codegen/autotest/unaryExpression/index.js rename to test/autotests/codegen/unaryExpression/index.js diff --git a/test/fixtures/codegen/autotest/var-scoped/expected.js b/test/autotests/codegen/var-scoped/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/var-scoped/expected.js rename to test/autotests/codegen/var-scoped/expected.js diff --git a/test/fixtures/codegen/autotest/var-scoped/index.js b/test/autotests/codegen/var-scoped/index.js similarity index 100% rename from test/fixtures/codegen/autotest/var-scoped/index.js rename to test/autotests/codegen/var-scoped/index.js diff --git a/test/fixtures/codegen/autotest/var/expected.js b/test/autotests/codegen/var/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/var/expected.js rename to test/autotests/codegen/var/expected.js diff --git a/test/fixtures/codegen/autotest/var/index.js b/test/autotests/codegen/var/index.js similarity index 100% rename from test/fixtures/codegen/autotest/var/index.js rename to test/autotests/codegen/var/index.js diff --git a/test/fixtures/codegen/autotest/vars-array/expected.js b/test/autotests/codegen/vars-array/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/vars-array/expected.js rename to test/autotests/codegen/vars-array/expected.js diff --git a/test/fixtures/codegen/autotest/vars-array/index.js b/test/autotests/codegen/vars-array/index.js similarity index 100% rename from test/fixtures/codegen/autotest/vars-array/index.js rename to test/autotests/codegen/vars-array/index.js diff --git a/test/fixtures/codegen/autotest/vars-object/expected.js b/test/autotests/codegen/vars-object/expected.js similarity index 100% rename from test/fixtures/codegen/autotest/vars-object/expected.js rename to test/autotests/codegen/vars-object/expected.js diff --git a/test/fixtures/codegen/autotest/vars-object/index.js b/test/autotests/codegen/vars-object/index.js similarity index 100% rename from test/fixtures/codegen/autotest/vars-object/index.js rename to test/autotests/codegen/vars-object/index.js diff --git a/test/fixtures/compiler/autotest/addNestedVariable/expected.js b/test/autotests/compiler/addNestedVariable/expected.js similarity index 80% rename from test/fixtures/compiler/autotest/addNestedVariable/expected.js rename to test/autotests/compiler/addNestedVariable/expected.js index ca3a95c96..259a9b11b 100644 --- a/test/fixtures/compiler/autotest/addNestedVariable/expected.js +++ b/test/autotests/compiler/addNestedVariable/expected.js @@ -4,7 +4,7 @@ function create(__helpers) { notEmpty = __helpers.ne, escapeXml = __helpers.x, __loadTag = __helpers.t, - test_addNestedVariable = __loadTag(require("../../../taglib/scanned-tags/test-addNestedVariable/renderer")); + test_addNestedVariable = __loadTag(require("./tags/test-addNestedVariable/renderer")); return function render(data, out) { test_addNestedVariable({ diff --git a/test/autotests/compiler/addNestedVariable/marko.json b/test/autotests/compiler/addNestedVariable/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/addNestedVariable/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-addNestedVariable/marko-tag.json b/test/autotests/compiler/addNestedVariable/tags/test-addNestedVariable/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-addNestedVariable/marko-tag.json rename to test/autotests/compiler/addNestedVariable/tags/test-addNestedVariable/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-addNestedVariable/renderer.js b/test/autotests/compiler/addNestedVariable/tags/test-addNestedVariable/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-addNestedVariable/renderer.js rename to test/autotests/compiler/addNestedVariable/tags/test-addNestedVariable/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-addNestedVariable/transformer.js b/test/autotests/compiler/addNestedVariable/tags/test-addNestedVariable/transformer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-addNestedVariable/transformer.js rename to test/autotests/compiler/addNestedVariable/tags/test-addNestedVariable/transformer.js diff --git a/test/fixtures/compiler/autotest/addNestedVariable/template.marko b/test/autotests/compiler/addNestedVariable/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/addNestedVariable/template.marko rename to test/autotests/compiler/addNestedVariable/template.marko diff --git a/test/fixtures/compiler/autotest/attr-escape/expected.js b/test/autotests/compiler/attr-escape/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/attr-escape/expected.js rename to test/autotests/compiler/attr-escape/expected.js diff --git a/test/fixtures/compiler/autotest/attr-escape/template.marko b/test/autotests/compiler/attr-escape/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/attr-escape/template.marko rename to test/autotests/compiler/attr-escape/template.marko diff --git a/test/fixtures/compiler/autotest/attr-placeholder-escapeXml/expected.js b/test/autotests/compiler/attr-placeholder-escapeXml/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/attr-placeholder-escapeXml/expected.js rename to test/autotests/compiler/attr-placeholder-escapeXml/expected.js diff --git a/test/fixtures/compiler/autotest/attr-placeholder-escapeXml/foo-transformer.js b/test/autotests/compiler/attr-placeholder-escapeXml/foo-transformer.js similarity index 100% rename from test/fixtures/compiler/autotest/attr-placeholder-escapeXml/foo-transformer.js rename to test/autotests/compiler/attr-placeholder-escapeXml/foo-transformer.js diff --git a/test/fixtures/compiler/autotest/attr-placeholder-escapeXml/marko.json b/test/autotests/compiler/attr-placeholder-escapeXml/marko.json similarity index 100% rename from test/fixtures/compiler/autotest/attr-placeholder-escapeXml/marko.json rename to test/autotests/compiler/attr-placeholder-escapeXml/marko.json diff --git a/test/fixtures/compiler/autotest/attr-placeholder-escapeXml/template.marko b/test/autotests/compiler/attr-placeholder-escapeXml/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/attr-placeholder-escapeXml/template.marko rename to test/autotests/compiler/attr-placeholder-escapeXml/template.marko diff --git a/test/fixtures/compiler/autotest/createNodeFromEl/expected.js b/test/autotests/compiler/createNodeFromEl/expected.js similarity index 85% rename from test/fixtures/compiler/autotest/createNodeFromEl/expected.js rename to test/autotests/compiler/createNodeFromEl/expected.js index bbec51c6c..ecc5efee5 100644 --- a/test/fixtures/compiler/autotest/createNodeFromEl/expected.js +++ b/test/autotests/compiler/createNodeFromEl/expected.js @@ -4,7 +4,7 @@ function create(__helpers) { notEmpty = __helpers.ne, escapeXml = __helpers.x, __loadTag = __helpers.t, - test_hello = __loadTag(require("../../../taglib/test-hello/renderer")); + test_hello = __loadTag(require("./tags/test-hello/renderer")); return function render(data, out) { test_hello({ diff --git a/test/autotests/compiler/createNodeFromEl/marko.json b/test/autotests/compiler/createNodeFromEl/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/createNodeFromEl/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-createNodeFromEl/code-generator.js b/test/autotests/compiler/createNodeFromEl/tags/test-createNodeFromEl/code-generator.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-createNodeFromEl/code-generator.js rename to test/autotests/compiler/createNodeFromEl/tags/test-createNodeFromEl/code-generator.js diff --git a/test/fixtures/taglib/test-hello/marko-tag.json b/test/autotests/compiler/createNodeFromEl/tags/test-hello/marko-tag.json similarity index 100% rename from test/fixtures/taglib/test-hello/marko-tag.json rename to test/autotests/compiler/createNodeFromEl/tags/test-hello/marko-tag.json diff --git a/test/fixtures/taglib/test-hello/renderer.js b/test/autotests/compiler/createNodeFromEl/tags/test-hello/renderer.js similarity index 100% rename from test/fixtures/taglib/test-hello/renderer.js rename to test/autotests/compiler/createNodeFromEl/tags/test-hello/renderer.js diff --git a/test/fixtures/compiler/autotest/createNodeFromEl/template.marko b/test/autotests/compiler/createNodeFromEl/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/createNodeFromEl/template.marko rename to test/autotests/compiler/createNodeFromEl/template.marko diff --git a/test/fixtures/compiler/autotest/custom-tag-body-function/expected.js b/test/autotests/compiler/custom-tag-body-function/expected.js similarity index 80% rename from test/fixtures/compiler/autotest/custom-tag-body-function/expected.js rename to test/autotests/compiler/custom-tag-body-function/expected.js index d8a50e62c..f77f08a7b 100644 --- a/test/fixtures/compiler/autotest/custom-tag-body-function/expected.js +++ b/test/autotests/compiler/custom-tag-body-function/expected.js @@ -4,7 +4,7 @@ function create(__helpers) { notEmpty = __helpers.ne, escapeXml = __helpers.x, __loadTag = __helpers.t, - test_body_function = __loadTag(require("../../../taglib/scanned-tags/test-body-function/renderer")); + test_body_function = __loadTag(require("./tags/test-body-function/renderer")); return function render(data, out) { test_body_function({ diff --git a/test/autotests/compiler/custom-tag-body-function/marko.json b/test/autotests/compiler/custom-tag-body-function/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/custom-tag-body-function/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-body-function/marko-tag.json b/test/autotests/compiler/custom-tag-body-function/tags/test-body-function/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-body-function/marko-tag.json rename to test/autotests/compiler/custom-tag-body-function/tags/test-body-function/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-body-function/renderer.js b/test/autotests/compiler/custom-tag-body-function/tags/test-body-function/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-body-function/renderer.js rename to test/autotests/compiler/custom-tag-body-function/tags/test-body-function/renderer.js diff --git a/test/fixtures/compiler/autotest/custom-tag-body-function/template.marko b/test/autotests/compiler/custom-tag-body-function/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-body-function/template.marko rename to test/autotests/compiler/custom-tag-body-function/template.marko diff --git a/test/fixtures/compiler/autotest/custom-tag-data/custom-tag-data-tag.js b/test/autotests/compiler/custom-tag-data/custom-tag-data-tag.js similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-data/custom-tag-data-tag.js rename to test/autotests/compiler/custom-tag-data/custom-tag-data-tag.js diff --git a/test/fixtures/compiler/autotest/custom-tag-data/expected.js b/test/autotests/compiler/custom-tag-data/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-data/expected.js rename to test/autotests/compiler/custom-tag-data/expected.js diff --git a/test/fixtures/compiler/autotest/custom-tag-data/marko.json b/test/autotests/compiler/custom-tag-data/marko.json similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-data/marko.json rename to test/autotests/compiler/custom-tag-data/marko.json diff --git a/test/fixtures/compiler/autotest/custom-tag-data/template.marko b/test/autotests/compiler/custom-tag-data/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-data/template.marko rename to test/autotests/compiler/custom-tag-data/template.marko diff --git a/test/fixtures/compiler/autotest/custom-tag-import-var/expected.js b/test/autotests/compiler/custom-tag-import-var/expected.js similarity index 82% rename from test/fixtures/compiler/autotest/custom-tag-import-var/expected.js rename to test/autotests/compiler/custom-tag-import-var/expected.js index a48955217..b814fc375 100644 --- a/test/fixtures/compiler/autotest/custom-tag-import-var/expected.js +++ b/test/autotests/compiler/custom-tag-import-var/expected.js @@ -4,7 +4,7 @@ function create(__helpers) { notEmpty = __helpers.ne, escapeXml = __helpers.x, __loadTag = __helpers.t, - test_import_var = __loadTag(require("../../../taglib/scanned-tags/test-import-var/renderer")); + test_import_var = __loadTag(require("./tags/test-import-var/renderer")); return function render(data, out) { test_import_var({ diff --git a/test/autotests/compiler/custom-tag-import-var/marko.json b/test/autotests/compiler/custom-tag-import-var/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/custom-tag-import-var/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-import-var/marko-tag.json b/test/autotests/compiler/custom-tag-import-var/tags/test-import-var/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-import-var/marko-tag.json rename to test/autotests/compiler/custom-tag-import-var/tags/test-import-var/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-import-var/renderer.js b/test/autotests/compiler/custom-tag-import-var/tags/test-import-var/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-import-var/renderer.js rename to test/autotests/compiler/custom-tag-import-var/tags/test-import-var/renderer.js diff --git a/test/fixtures/compiler/autotest/custom-tag-import-var/template.marko b/test/autotests/compiler/custom-tag-import-var/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-import-var/template.marko rename to test/autotests/compiler/custom-tag-import-var/template.marko diff --git a/test/fixtures/compiler/autotest/custom-tag-template/expected.js b/test/autotests/compiler/custom-tag-template/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-template/expected.js rename to test/autotests/compiler/custom-tag-template/expected.js diff --git a/test/autotests/compiler/custom-tag-template/hello.marko b/test/autotests/compiler/custom-tag-template/hello.marko new file mode 100644 index 000000000..eabd502aa --- /dev/null +++ b/test/autotests/compiler/custom-tag-template/hello.marko @@ -0,0 +1 @@ +- Hello ${data.name}! \ No newline at end of file diff --git a/test/fixtures/compiler/autotest/custom-tag-template/marko.json b/test/autotests/compiler/custom-tag-template/marko.json similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-template/marko.json rename to test/autotests/compiler/custom-tag-template/marko.json diff --git a/test/fixtures/compiler/autotest/custom-tag-template/template.marko b/test/autotests/compiler/custom-tag-template/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag-template/template.marko rename to test/autotests/compiler/custom-tag-template/template.marko diff --git a/test/fixtures/compiler/autotest/custom-tag/expected.js b/test/autotests/compiler/custom-tag/expected.js similarity index 81% rename from test/fixtures/compiler/autotest/custom-tag/expected.js rename to test/autotests/compiler/custom-tag/expected.js index 0685acd2a..501731a61 100644 --- a/test/fixtures/compiler/autotest/custom-tag/expected.js +++ b/test/autotests/compiler/custom-tag/expected.js @@ -4,7 +4,7 @@ function create(__helpers) { notEmpty = __helpers.ne, escapeXml = __helpers.x, __loadTag = __helpers.t, - test_hello = __loadTag(require("../../../taglib/test-hello/renderer")); + test_hello = __loadTag(require("./tags/test-hello/renderer")); return function render(data, out) { test_hello({ diff --git a/test/autotests/compiler/custom-tag/marko.json b/test/autotests/compiler/custom-tag/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/custom-tag/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/compiler/custom-tag/tags/test-hello/marko-tag.json b/test/autotests/compiler/custom-tag/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/compiler/custom-tag/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/compiler/custom-tag/tags/test-hello/renderer.js b/test/autotests/compiler/custom-tag/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/compiler/custom-tag/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/compiler/autotest/custom-tag/template.marko b/test/autotests/compiler/custom-tag/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/custom-tag/template.marko rename to test/autotests/compiler/custom-tag/template.marko diff --git a/test/fixtures/compiler/autotest/entities/expected.js b/test/autotests/compiler/entities/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/entities/expected.js rename to test/autotests/compiler/entities/expected.js diff --git a/test/fixtures/compiler/autotest/entities/template.marko b/test/autotests/compiler/entities/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/entities/template.marko rename to test/autotests/compiler/entities/template.marko diff --git a/test/fixtures/compiler/autotest/hello-dynamic/expected.js b/test/autotests/compiler/hello-dynamic/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/hello-dynamic/expected.js rename to test/autotests/compiler/hello-dynamic/expected.js diff --git a/test/fixtures/compiler/autotest/hello-dynamic/template.marko b/test/autotests/compiler/hello-dynamic/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/hello-dynamic/template.marko rename to test/autotests/compiler/hello-dynamic/template.marko diff --git a/test/fixtures/compiler/autotest/importModule/expected.js b/test/autotests/compiler/importModule/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/importModule/expected.js rename to test/autotests/compiler/importModule/expected.js diff --git a/test/autotests/compiler/importModule/marko.json b/test/autotests/compiler/importModule/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/importModule/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-import-module/code-generator.js b/test/autotests/compiler/importModule/tags/test-import-module/code-generator.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-import-module/code-generator.js rename to test/autotests/compiler/importModule/tags/test-import-module/code-generator.js diff --git a/test/fixtures/compiler/autotest/importModule/template.marko b/test/autotests/compiler/importModule/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/importModule/template.marko rename to test/autotests/compiler/importModule/template.marko diff --git a/test/fixtures/compiler/autotest/include/expected.js b/test/autotests/compiler/include/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/include/expected.js rename to test/autotests/compiler/include/expected.js diff --git a/test/fixtures/compiler/autotest/include/target.marko b/test/autotests/compiler/include/target.marko similarity index 100% rename from test/fixtures/compiler/autotest/include/target.marko rename to test/autotests/compiler/include/target.marko diff --git a/test/fixtures/compiler/autotest/include/template.marko b/test/autotests/compiler/include/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/include/template.marko rename to test/autotests/compiler/include/template.marko diff --git a/test/fixtures/compiler/autotest/invoke-if/expected.js b/test/autotests/compiler/invoke-if/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/invoke-if/expected.js rename to test/autotests/compiler/invoke-if/expected.js diff --git a/test/fixtures/compiler/autotest/invoke-if/template.marko b/test/autotests/compiler/invoke-if/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/invoke-if/template.marko rename to test/autotests/compiler/invoke-if/template.marko diff --git a/test/fixtures/compiler/autotest/invoke/expected.js b/test/autotests/compiler/invoke/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/invoke/expected.js rename to test/autotests/compiler/invoke/expected.js diff --git a/test/fixtures/compiler/autotest/invoke/template.marko b/test/autotests/compiler/invoke/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/invoke/template.marko rename to test/autotests/compiler/invoke/template.marko diff --git a/test/fixtures/compiler/autotest/macros/expected.js b/test/autotests/compiler/macros/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/macros/expected.js rename to test/autotests/compiler/macros/expected.js diff --git a/test/fixtures/compiler/autotest/macros/template.marko b/test/autotests/compiler/macros/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/macros/template.marko rename to test/autotests/compiler/macros/template.marko diff --git a/test/fixtures/compiler/autotest/marko-init/expected.js b/test/autotests/compiler/marko-init/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/marko-init/expected.js rename to test/autotests/compiler/marko-init/expected.js diff --git a/test/fixtures/compiler/autotest/marko-init/template.marko b/test/autotests/compiler/marko-init/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/marko-init/template.marko rename to test/autotests/compiler/marko-init/template.marko diff --git a/test/fixtures/compiler/autotest/nested-tags-missing-parent/expected.html b/test/autotests/compiler/nested-tags-missing-parent/expected.html similarity index 100% rename from test/fixtures/compiler/autotest/nested-tags-missing-parent/expected.html rename to test/autotests/compiler/nested-tags-missing-parent/expected.html diff --git a/test/autotests/compiler/nested-tags-missing-parent/marko.json b/test/autotests/compiler/nested-tags-missing-parent/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/nested-tags-missing-parent/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-overlay/marko-tag.json b/test/autotests/compiler/nested-tags-missing-parent/tags/test-nested-tags-overlay/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-overlay/marko-tag.json rename to test/autotests/compiler/nested-tags-missing-parent/tags/test-nested-tags-overlay/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-overlay/renderer.js b/test/autotests/compiler/nested-tags-missing-parent/tags/test-nested-tags-overlay/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-overlay/renderer.js rename to test/autotests/compiler/nested-tags-missing-parent/tags/test-nested-tags-overlay/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-overlay/template.marko b/test/autotests/compiler/nested-tags-missing-parent/tags/test-nested-tags-overlay/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-overlay/template.marko rename to test/autotests/compiler/nested-tags-missing-parent/tags/test-nested-tags-overlay/template.marko diff --git a/test/fixtures/compiler/autotest/nested-tags-missing-parent/template.marko b/test/autotests/compiler/nested-tags-missing-parent/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/nested-tags-missing-parent/template.marko rename to test/autotests/compiler/nested-tags-missing-parent/template.marko diff --git a/test/fixtures/compiler/autotest/nested-tags-missing-parent/test.js b/test/autotests/compiler/nested-tags-missing-parent/test.js similarity index 100% rename from test/fixtures/compiler/autotest/nested-tags-missing-parent/test.js rename to test/autotests/compiler/nested-tags-missing-parent/test.js diff --git a/test/fixtures/compiler/autotest/nested-tags/expected.js b/test/autotests/compiler/nested-tags/expected.js similarity index 88% rename from test/fixtures/compiler/autotest/nested-tags/expected.js rename to test/autotests/compiler/nested-tags/expected.js index d90545879..af617b7c4 100644 --- a/test/fixtures/compiler/autotest/nested-tags/expected.js +++ b/test/autotests/compiler/nested-tags/expected.js @@ -4,7 +4,7 @@ function create(__helpers) { notEmpty = __helpers.ne, escapeXml = __helpers.x, __loadTag = __helpers.t, - test_nested_tags_overlay = __loadTag(require("../../../taglib/scanned-tags/test-nested-tags-overlay/renderer"), 0, 0, 1), + test_nested_tags_overlay = __loadTag(require("./tags/test-nested-tags-overlay/renderer"), 0, 0, 1), test_nested_tags_overlay_body = __loadTag(null, "body", 0), test_nested_tags_overlay_footer = __loadTag(null, "footer", 0); diff --git a/test/autotests/compiler/nested-tags/marko.json b/test/autotests/compiler/nested-tags/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/nested-tags/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/marko-tag.json b/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/marko-tag.json new file mode 100644 index 000000000..9686a762c --- /dev/null +++ b/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/marko-tag.json @@ -0,0 +1,23 @@ +{ + "renderer": "./renderer", + "@header
": { + "@class": { + "type": "string", + "target-property": "className" + } + }, + "@body ": { + "@class": { + "type": "string", + "target-property": "className" + } + }, + "nested-tags": { + "footer": { + "@class": { + "type": "string", + "target-property": "className" + } + } + } +} \ No newline at end of file diff --git a/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/renderer.js b/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/renderer.js new file mode 100644 index 000000000..4e53ffda8 --- /dev/null +++ b/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/renderer.js @@ -0,0 +1,14 @@ +var template = require('./template.marko'); + +exports.renderer = function(input, out) { + var header = input.header; + var body = input.body; + var footer = input.footer; + + template.render({ + header: header, + body: body, + footer: footer + }, out); + +}; \ No newline at end of file diff --git a/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/template.marko b/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/template.marko new file mode 100644 index 000000000..c4a7bf39e --- /dev/null +++ b/test/autotests/compiler/nested-tags/tags/test-nested-tags-overlay/template.marko @@ -0,0 +1,13 @@ +
+
+ +
+ +
+ +
+ + +
\ No newline at end of file diff --git a/test/fixtures/compiler/autotest/nested-tags/template.marko b/test/autotests/compiler/nested-tags/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/nested-tags/template.marko rename to test/autotests/compiler/nested-tags/template.marko diff --git a/test/fixtures/compiler/autotest/replaceWith/expected.js b/test/autotests/compiler/replaceWith/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/replaceWith/expected.js rename to test/autotests/compiler/replaceWith/expected.js diff --git a/test/autotests/compiler/replaceWith/marko.json b/test/autotests/compiler/replaceWith/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/compiler/replaceWith/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-replaceWith/marko-tag.json b/test/autotests/compiler/replaceWith/tags/test-replaceWith/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-replaceWith/marko-tag.json rename to test/autotests/compiler/replaceWith/tags/test-replaceWith/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-replaceWith/transformer.js b/test/autotests/compiler/replaceWith/tags/test-replaceWith/transformer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-replaceWith/transformer.js rename to test/autotests/compiler/replaceWith/tags/test-replaceWith/transformer.js diff --git a/test/fixtures/compiler/autotest/replaceWith/template.marko b/test/autotests/compiler/replaceWith/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/replaceWith/template.marko rename to test/autotests/compiler/replaceWith/template.marko diff --git a/test/fixtures/compiler/autotest/simple/expected.js b/test/autotests/compiler/simple/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/simple/expected.js rename to test/autotests/compiler/simple/expected.js diff --git a/test/fixtures/compiler/autotest/simple/template.marko b/test/autotests/compiler/simple/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/simple/template.marko rename to test/autotests/compiler/simple/template.marko diff --git a/test/fixtures/compiler/autotest/static/expected.js b/test/autotests/compiler/static/expected.js similarity index 100% rename from test/fixtures/compiler/autotest/static/expected.js rename to test/autotests/compiler/static/expected.js diff --git a/test/fixtures/compiler/autotest/static/template.marko b/test/autotests/compiler/static/template.marko similarity index 100% rename from test/fixtures/compiler/autotest/static/template.marko rename to test/autotests/compiler/static/template.marko diff --git a/test/fixtures/expression-toString/autotest/ArrayExpression/expected.js b/test/autotests/expression-toString/ArrayExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ArrayExpression/expected.js rename to test/autotests/expression-toString/ArrayExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/ArrayExpression/input.js b/test/autotests/expression-toString/ArrayExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ArrayExpression/input.js rename to test/autotests/expression-toString/ArrayExpression/input.js diff --git a/test/fixtures/expression-toString/autotest/Assignment/expected.js b/test/autotests/expression-toString/Assignment/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Assignment/expected.js rename to test/autotests/expression-toString/Assignment/expected.js diff --git a/test/fixtures/expression-toString/autotest/Assignment/input.js b/test/autotests/expression-toString/Assignment/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Assignment/input.js rename to test/autotests/expression-toString/Assignment/input.js diff --git a/test/fixtures/expression-toString/autotest/BinaryExpression/expected.js b/test/autotests/expression-toString/BinaryExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/BinaryExpression/expected.js rename to test/autotests/expression-toString/BinaryExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/BinaryExpression/input.js b/test/autotests/expression-toString/BinaryExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/BinaryExpression/input.js rename to test/autotests/expression-toString/BinaryExpression/input.js diff --git a/test/fixtures/expression-toString/autotest/ConditionalExpression/expected.js b/test/autotests/expression-toString/ConditionalExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ConditionalExpression/expected.js rename to test/autotests/expression-toString/ConditionalExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/ConditionalExpression/input.js b/test/autotests/expression-toString/ConditionalExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ConditionalExpression/input.js rename to test/autotests/expression-toString/ConditionalExpression/input.js diff --git a/test/fixtures/expression-toString/autotest/FunctionCall/expected.js b/test/autotests/expression-toString/FunctionCall/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/FunctionCall/expected.js rename to test/autotests/expression-toString/FunctionCall/expected.js diff --git a/test/fixtures/expression-toString/autotest/FunctionCall/input.js b/test/autotests/expression-toString/FunctionCall/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/FunctionCall/input.js rename to test/autotests/expression-toString/FunctionCall/input.js diff --git a/test/fixtures/expression-toString/autotest/Literal-boolean/expected.js b/test/autotests/expression-toString/Literal-boolean/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-boolean/expected.js rename to test/autotests/expression-toString/Literal-boolean/expected.js diff --git a/test/fixtures/expression-toString/autotest/Literal-boolean/input.js b/test/autotests/expression-toString/Literal-boolean/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-boolean/input.js rename to test/autotests/expression-toString/Literal-boolean/input.js diff --git a/test/fixtures/expression-toString/autotest/Literal-null/expected.js b/test/autotests/expression-toString/Literal-null/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-null/expected.js rename to test/autotests/expression-toString/Literal-null/expected.js diff --git a/test/fixtures/expression-toString/autotest/Literal-null/input.js b/test/autotests/expression-toString/Literal-null/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-null/input.js rename to test/autotests/expression-toString/Literal-null/input.js diff --git a/test/fixtures/expression-toString/autotest/Literal-number/expected.js b/test/autotests/expression-toString/Literal-number/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-number/expected.js rename to test/autotests/expression-toString/Literal-number/expected.js diff --git a/test/fixtures/expression-toString/autotest/Literal-number/input.js b/test/autotests/expression-toString/Literal-number/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-number/input.js rename to test/autotests/expression-toString/Literal-number/input.js diff --git a/test/fixtures/expression-toString/autotest/Literal-string/expected.js b/test/autotests/expression-toString/Literal-string/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-string/expected.js rename to test/autotests/expression-toString/Literal-string/expected.js diff --git a/test/fixtures/expression-toString/autotest/Literal-string/input.js b/test/autotests/expression-toString/Literal-string/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-string/input.js rename to test/autotests/expression-toString/Literal-string/input.js diff --git a/test/fixtures/expression-toString/autotest/Literal-undefined/expected.js b/test/autotests/expression-toString/Literal-undefined/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-undefined/expected.js rename to test/autotests/expression-toString/Literal-undefined/expected.js diff --git a/test/fixtures/expression-toString/autotest/Literal-undefined/input.js b/test/autotests/expression-toString/Literal-undefined/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/Literal-undefined/input.js rename to test/autotests/expression-toString/Literal-undefined/input.js diff --git a/test/fixtures/expression-toString/autotest/NewExpression/expected.js b/test/autotests/expression-toString/NewExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/NewExpression/expected.js rename to test/autotests/expression-toString/NewExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/NewExpression/input.js b/test/autotests/expression-toString/NewExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/NewExpression/input.js rename to test/autotests/expression-toString/NewExpression/input.js diff --git a/test/fixtures/expression-toString/autotest/ObjectExpression/expected.js b/test/autotests/expression-toString/ObjectExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ObjectExpression/expected.js rename to test/autotests/expression-toString/ObjectExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/ObjectExpression/input.js b/test/autotests/expression-toString/ObjectExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ObjectExpression/input.js rename to test/autotests/expression-toString/ObjectExpression/input.js diff --git a/test/fixtures/expression-toString/autotest/ThisExpression/expected.js b/test/autotests/expression-toString/ThisExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ThisExpression/expected.js rename to test/autotests/expression-toString/ThisExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/ThisExpression/input.js b/test/autotests/expression-toString/ThisExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/ThisExpression/input.js rename to test/autotests/expression-toString/ThisExpression/input.js diff --git a/test/fixtures/expression-toString/autotest/UnaryExpression.js/expected.js b/test/autotests/expression-toString/UnaryExpression.js/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/UnaryExpression.js/expected.js rename to test/autotests/expression-toString/UnaryExpression.js/expected.js diff --git a/test/fixtures/expression-toString/autotest/UnaryExpression.js/input.js b/test/autotests/expression-toString/UnaryExpression.js/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/UnaryExpression.js/input.js rename to test/autotests/expression-toString/UnaryExpression.js/input.js diff --git a/test/fixtures/expression-toString/autotest/UpdateExpression/expected.js b/test/autotests/expression-toString/UpdateExpression/expected.js similarity index 100% rename from test/fixtures/expression-toString/autotest/UpdateExpression/expected.js rename to test/autotests/expression-toString/UpdateExpression/expected.js diff --git a/test/fixtures/expression-toString/autotest/UpdateExpression/input.js b/test/autotests/expression-toString/UpdateExpression/input.js similarity index 100% rename from test/fixtures/expression-toString/autotest/UpdateExpression/input.js rename to test/autotests/expression-toString/UpdateExpression/input.js diff --git a/test/autotests/hot-reload/load/.gitignore b/test/autotests/hot-reload/load/.gitignore new file mode 100644 index 000000000..102d344f2 --- /dev/null +++ b/test/autotests/hot-reload/load/.gitignore @@ -0,0 +1 @@ +template.temp.marko \ No newline at end of file diff --git a/test/autotests/hot-reload/load/template.marko b/test/autotests/hot-reload/load/template.marko new file mode 100644 index 000000000..eabd502aa --- /dev/null +++ b/test/autotests/hot-reload/load/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! \ No newline at end of file diff --git a/test/autotests/hot-reload/load/test.js b/test/autotests/hot-reload/load/test.js new file mode 100644 index 000000000..1ac34335a --- /dev/null +++ b/test/autotests/hot-reload/load/test.js @@ -0,0 +1,22 @@ +var fs = require('fs'); +var nodePath = require('path'); + +exports.check = function(marko, hotReload, expect) { + var srcTemplatePath = nodePath.join(__dirname, 'template.marko'); + var templateSrc = fs.readFileSync(srcTemplatePath, { encoding: 'utf8' }); + + var tempTemplatePath = nodePath.join(__dirname, 'template.temp.marko'); + fs.writeFileSync(tempTemplatePath, templateSrc, { encoding: 'utf8' }); + + var template = marko.load(tempTemplatePath); + + expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); + + fs.writeFileSync(tempTemplatePath, templateSrc + '!', { encoding: 'utf8' }); + + expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); + + hotReload.handleFileModified(tempTemplatePath); + + expect(template.renderSync({ name: 'John' })).to.equal('Hello John!!'); +}; \ No newline at end of file diff --git a/test/autotests/hot-reload/require/.gitignore b/test/autotests/hot-reload/require/.gitignore new file mode 100644 index 000000000..102d344f2 --- /dev/null +++ b/test/autotests/hot-reload/require/.gitignore @@ -0,0 +1 @@ +template.temp.marko \ No newline at end of file diff --git a/test/autotests/hot-reload/require/template.marko b/test/autotests/hot-reload/require/template.marko new file mode 100644 index 000000000..eabd502aa --- /dev/null +++ b/test/autotests/hot-reload/require/template.marko @@ -0,0 +1 @@ +- Hello ${data.name}! \ No newline at end of file diff --git a/test/autotests/hot-reload/require/test.js b/test/autotests/hot-reload/require/test.js new file mode 100644 index 000000000..1951fc770 --- /dev/null +++ b/test/autotests/hot-reload/require/test.js @@ -0,0 +1,22 @@ +var fs = require('fs'); +var nodePath = require('path'); + +exports.check = function(marko, hotReload, expect) { + var srcTemplatePath = nodePath.join(__dirname, 'template.marko'); + var templateSrc = fs.readFileSync(srcTemplatePath, { encoding: 'utf8' }); + + var tempTemplatePath = nodePath.join(__dirname, 'template.temp.marko'); + fs.writeFileSync(tempTemplatePath, templateSrc, { encoding: 'utf8' }); + + var template = require(tempTemplatePath); + + expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); + + fs.writeFileSync(tempTemplatePath, templateSrc + '!', { encoding: 'utf8' }); + + expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); + + hotReload.handleFileModified(tempTemplatePath); + + expect(template.renderSync({ name: 'John' })).to.equal('Hello John!!'); +}; \ No newline at end of file diff --git a/test/fixtures/parseExpression/autotest/array/expected.json b/test/autotests/parseExpression/array/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/array/expected.json rename to test/autotests/parseExpression/array/expected.json diff --git a/test/fixtures/parseExpression/autotest/array/input.txt b/test/autotests/parseExpression/array/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/array/input.txt rename to test/autotests/parseExpression/array/input.txt diff --git a/test/fixtures/parseExpression/autotest/binaryExpression/expected.json b/test/autotests/parseExpression/binaryExpression/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/binaryExpression/expected.json rename to test/autotests/parseExpression/binaryExpression/expected.json diff --git a/test/fixtures/parseExpression/autotest/binaryExpression/input.txt b/test/autotests/parseExpression/binaryExpression/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/binaryExpression/input.txt rename to test/autotests/parseExpression/binaryExpression/input.txt diff --git a/test/fixtures/parseExpression/autotest/complex/expected.json b/test/autotests/parseExpression/complex/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/complex/expected.json rename to test/autotests/parseExpression/complex/expected.json diff --git a/test/fixtures/parseExpression/autotest/complex/input.txt b/test/autotests/parseExpression/complex/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/complex/input.txt rename to test/autotests/parseExpression/complex/input.txt diff --git a/test/fixtures/parseExpression/autotest/id/expected.json b/test/autotests/parseExpression/id/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/id/expected.json rename to test/autotests/parseExpression/id/expected.json diff --git a/test/fixtures/parseExpression/autotest/id/input.txt b/test/autotests/parseExpression/id/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/id/input.txt rename to test/autotests/parseExpression/id/input.txt diff --git a/test/fixtures/parseExpression/autotest/increment-prefix/expected.json b/test/autotests/parseExpression/increment-prefix/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/increment-prefix/expected.json rename to test/autotests/parseExpression/increment-prefix/expected.json diff --git a/test/fixtures/parseExpression/autotest/increment-prefix/input.txt b/test/autotests/parseExpression/increment-prefix/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/increment-prefix/input.txt rename to test/autotests/parseExpression/increment-prefix/input.txt diff --git a/test/fixtures/parseExpression/autotest/increment-suffix/expected.json b/test/autotests/parseExpression/increment-suffix/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/increment-suffix/expected.json rename to test/autotests/parseExpression/increment-suffix/expected.json diff --git a/test/fixtures/parseExpression/autotest/increment-suffix/input.txt b/test/autotests/parseExpression/increment-suffix/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/increment-suffix/input.txt rename to test/autotests/parseExpression/increment-suffix/input.txt diff --git a/test/fixtures/parseExpression/autotest/literal-number/expected.json b/test/autotests/parseExpression/literal-number/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/literal-number/expected.json rename to test/autotests/parseExpression/literal-number/expected.json diff --git a/test/fixtures/parseExpression/autotest/literal-number/input.txt b/test/autotests/parseExpression/literal-number/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/literal-number/input.txt rename to test/autotests/parseExpression/literal-number/input.txt diff --git a/test/fixtures/parseExpression/autotest/literal-string/expected.json b/test/autotests/parseExpression/literal-string/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/literal-string/expected.json rename to test/autotests/parseExpression/literal-string/expected.json diff --git a/test/fixtures/parseExpression/autotest/literal-string/input.txt b/test/autotests/parseExpression/literal-string/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/literal-string/input.txt rename to test/autotests/parseExpression/literal-string/input.txt diff --git a/test/fixtures/parseExpression/autotest/negate/expected.json b/test/autotests/parseExpression/negate/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/negate/expected.json rename to test/autotests/parseExpression/negate/expected.json diff --git a/test/fixtures/parseExpression/autotest/negate/input.txt b/test/autotests/parseExpression/negate/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/negate/input.txt rename to test/autotests/parseExpression/negate/input.txt diff --git a/test/fixtures/parseExpression/autotest/new-args/expected.json b/test/autotests/parseExpression/new-args/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/new-args/expected.json rename to test/autotests/parseExpression/new-args/expected.json diff --git a/test/fixtures/parseExpression/autotest/new-args/input.txt b/test/autotests/parseExpression/new-args/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/new-args/input.txt rename to test/autotests/parseExpression/new-args/input.txt diff --git a/test/fixtures/parseExpression/autotest/new-compound/expected.json b/test/autotests/parseExpression/new-compound/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/new-compound/expected.json rename to test/autotests/parseExpression/new-compound/expected.json diff --git a/test/fixtures/parseExpression/autotest/new-compound/input.txt b/test/autotests/parseExpression/new-compound/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/new-compound/input.txt rename to test/autotests/parseExpression/new-compound/input.txt diff --git a/test/fixtures/parseExpression/autotest/new/expected.json b/test/autotests/parseExpression/new/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/new/expected.json rename to test/autotests/parseExpression/new/expected.json diff --git a/test/fixtures/parseExpression/autotest/new/input.txt b/test/autotests/parseExpression/new/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/new/input.txt rename to test/autotests/parseExpression/new/input.txt diff --git a/test/fixtures/parseExpression/autotest/object/expected.json b/test/autotests/parseExpression/object/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/object/expected.json rename to test/autotests/parseExpression/object/expected.json diff --git a/test/fixtures/parseExpression/autotest/object/input.txt b/test/autotests/parseExpression/object/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/object/input.txt rename to test/autotests/parseExpression/object/input.txt diff --git a/test/fixtures/parseExpression/autotest/this/expected.json b/test/autotests/parseExpression/this/expected.json similarity index 100% rename from test/fixtures/parseExpression/autotest/this/expected.json rename to test/autotests/parseExpression/this/expected.json diff --git a/test/fixtures/parseExpression/autotest/this/input.txt b/test/autotests/parseExpression/this/input.txt similarity index 100% rename from test/fixtures/parseExpression/autotest/this/input.txt rename to test/autotests/parseExpression/this/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-comment/expected.json b/test/autotests/parseFor/forEach-comment/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-comment/expected.json rename to test/autotests/parseFor/forEach-comment/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-comment/input.txt b/test/autotests/parseFor/forEach-comment/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-comment/input.txt rename to test/autotests/parseFor/forEach-comment/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-crazy/expected.json b/test/autotests/parseFor/forEach-crazy/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-crazy/expected.json rename to test/autotests/parseFor/forEach-crazy/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-crazy/input.txt b/test/autotests/parseFor/forEach-crazy/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-crazy/input.txt rename to test/autotests/parseFor/forEach-crazy/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-invalid-option/expected.json b/test/autotests/parseFor/forEach-invalid-option/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-invalid-option/expected.json rename to test/autotests/parseFor/forEach-invalid-option/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-invalid-option/input.txt b/test/autotests/parseFor/forEach-invalid-option/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-invalid-option/input.txt rename to test/autotests/parseFor/forEach-invalid-option/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-invalid-option2/expected.json b/test/autotests/parseFor/forEach-invalid-option2/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-invalid-option2/expected.json rename to test/autotests/parseFor/forEach-invalid-option2/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-invalid-option2/input.txt b/test/autotests/parseFor/forEach-invalid-option2/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-invalid-option2/input.txt rename to test/autotests/parseFor/forEach-invalid-option2/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-iterator/expected.json b/test/autotests/parseFor/forEach-iterator/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-iterator/expected.json rename to test/autotests/parseFor/forEach-iterator/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-iterator/input.txt b/test/autotests/parseFor/forEach-iterator/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-iterator/input.txt rename to test/autotests/parseFor/forEach-iterator/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-nesting/expected.json b/test/autotests/parseFor/forEach-nesting/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-nesting/expected.json rename to test/autotests/parseFor/forEach-nesting/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-nesting/input.txt b/test/autotests/parseFor/forEach-nesting/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-nesting/input.txt rename to test/autotests/parseFor/forEach-nesting/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-simple/expected.json b/test/autotests/parseFor/forEach-simple/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-simple/expected.json rename to test/autotests/parseFor/forEach-simple/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-simple/input.txt b/test/autotests/parseFor/forEach-simple/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-simple/input.txt rename to test/autotests/parseFor/forEach-simple/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-status-var-separator-iterator/expected.json b/test/autotests/parseFor/forEach-status-var-separator-iterator/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-status-var-separator-iterator/expected.json rename to test/autotests/parseFor/forEach-status-var-separator-iterator/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-status-var-separator-iterator/input.txt b/test/autotests/parseFor/forEach-status-var-separator-iterator/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-status-var-separator-iterator/input.txt rename to test/autotests/parseFor/forEach-status-var-separator-iterator/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-status-var-separator/expected.json b/test/autotests/parseFor/forEach-status-var-separator/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-status-var-separator/expected.json rename to test/autotests/parseFor/forEach-status-var-separator/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-status-var-separator/input.txt b/test/autotests/parseFor/forEach-status-var-separator/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-status-var-separator/input.txt rename to test/autotests/parseFor/forEach-status-var-separator/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-status-var/expected.json b/test/autotests/parseFor/forEach-status-var/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-status-var/expected.json rename to test/autotests/parseFor/forEach-status-var/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-status-var/input.txt b/test/autotests/parseFor/forEach-status-var/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-status-var/input.txt rename to test/autotests/parseFor/forEach-status-var/input.txt diff --git a/test/fixtures/parseFor/autotest/forEach-strings/expected.json b/test/autotests/parseFor/forEach-strings/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-strings/expected.json rename to test/autotests/parseFor/forEach-strings/expected.json diff --git a/test/fixtures/parseFor/autotest/forEach-strings/input.txt b/test/autotests/parseFor/forEach-strings/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEach-strings/input.txt rename to test/autotests/parseFor/forEach-strings/input.txt diff --git a/test/fixtures/parseFor/autotest/forEachProp/expected.json b/test/autotests/parseFor/forEachProp/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forEachProp/expected.json rename to test/autotests/parseFor/forEachProp/expected.json diff --git a/test/fixtures/parseFor/autotest/forEachProp/input.txt b/test/autotests/parseFor/forEachProp/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forEachProp/input.txt rename to test/autotests/parseFor/forEachProp/input.txt diff --git a/test/fixtures/parseFor/autotest/forRange-to-expr/expected.json b/test/autotests/parseFor/forRange-to-expr/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/forRange-to-expr/expected.json rename to test/autotests/parseFor/forRange-to-expr/expected.json diff --git a/test/fixtures/parseFor/autotest/forRange-to-expr/input.txt b/test/autotests/parseFor/forRange-to-expr/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/forRange-to-expr/input.txt rename to test/autotests/parseFor/forRange-to-expr/input.txt diff --git a/test/fixtures/parseFor/autotest/nativeFor-empty-init/expected.json b/test/autotests/parseFor/nativeFor-empty-init/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/nativeFor-empty-init/expected.json rename to test/autotests/parseFor/nativeFor-empty-init/expected.json diff --git a/test/fixtures/parseFor/autotest/nativeFor-empty-init/input.txt b/test/autotests/parseFor/nativeFor-empty-init/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/nativeFor-empty-init/input.txt rename to test/autotests/parseFor/nativeFor-empty-init/input.txt diff --git a/test/fixtures/parseFor/autotest/nativeFor-invalid/expected.json b/test/autotests/parseFor/nativeFor-invalid/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/nativeFor-invalid/expected.json rename to test/autotests/parseFor/nativeFor-invalid/expected.json diff --git a/test/fixtures/parseFor/autotest/nativeFor-invalid/input.txt b/test/autotests/parseFor/nativeFor-invalid/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/nativeFor-invalid/input.txt rename to test/autotests/parseFor/nativeFor-invalid/input.txt diff --git a/test/fixtures/parseFor/autotest/nativeFor/expected.json b/test/autotests/parseFor/nativeFor/expected.json similarity index 100% rename from test/fixtures/parseFor/autotest/nativeFor/expected.json rename to test/autotests/parseFor/nativeFor/expected.json diff --git a/test/fixtures/parseFor/autotest/nativeFor/input.txt b/test/autotests/parseFor/nativeFor/input.txt similarity index 100% rename from test/fixtures/parseFor/autotest/nativeFor/input.txt rename to test/autotests/parseFor/nativeFor/input.txt diff --git a/test/fixtures/parseJavaScriptArgs/autotest/mixed/expected.json b/test/autotests/parseJavaScriptArgs/mixed/expected.json similarity index 100% rename from test/fixtures/parseJavaScriptArgs/autotest/mixed/expected.json rename to test/autotests/parseJavaScriptArgs/mixed/expected.json diff --git a/test/fixtures/parseJavaScriptArgs/autotest/mixed/input.txt b/test/autotests/parseJavaScriptArgs/mixed/input.txt similarity index 100% rename from test/fixtures/parseJavaScriptArgs/autotest/mixed/input.txt rename to test/autotests/parseJavaScriptArgs/mixed/input.txt diff --git a/test/fixtures/parser/autotest/empty-attr/expected.json b/test/autotests/parser/empty-attr/expected.json similarity index 100% rename from test/fixtures/parser/autotest/empty-attr/expected.json rename to test/autotests/parser/empty-attr/expected.json diff --git a/test/fixtures/parser/autotest/empty-attr/template.marko b/test/autotests/parser/empty-attr/template.marko similarity index 100% rename from test/fixtures/parser/autotest/empty-attr/template.marko rename to test/autotests/parser/empty-attr/template.marko diff --git a/test/fixtures/parser/autotest/scriptlet/expected.json b/test/autotests/parser/scriptlet/expected.json similarity index 100% rename from test/fixtures/parser/autotest/scriptlet/expected.json rename to test/autotests/parser/scriptlet/expected.json diff --git a/test/fixtures/parser/autotest/scriptlet/template.marko b/test/autotests/parser/scriptlet/template.marko similarity index 100% rename from test/fixtures/parser/autotest/scriptlet/template.marko rename to test/autotests/parser/scriptlet/template.marko diff --git a/test/fixtures/parser/autotest/var-body/expected.json b/test/autotests/parser/var-body/expected.json similarity index 100% rename from test/fixtures/parser/autotest/var-body/expected.json rename to test/autotests/parser/var-body/expected.json diff --git a/test/fixtures/parser/autotest/var-body/template.marko b/test/autotests/parser/var-body/template.marko similarity index 100% rename from test/fixtures/parser/autotest/var-body/template.marko rename to test/autotests/parser/var-body/template.marko diff --git a/test/fixtures/pretty-print/autotest/assignment/expected.js b/test/autotests/pretty-print/assignment/expected.js similarity index 100% rename from test/fixtures/pretty-print/autotest/assignment/expected.js rename to test/autotests/pretty-print/assignment/expected.js diff --git a/test/fixtures/pretty-print/autotest/assignment/expected.json b/test/autotests/pretty-print/assignment/expected.json similarity index 100% rename from test/fixtures/pretty-print/autotest/assignment/expected.json rename to test/autotests/pretty-print/assignment/expected.json diff --git a/test/fixtures/pretty-print/autotest/assignment/index.js b/test/autotests/pretty-print/assignment/index.js similarity index 100% rename from test/fixtures/pretty-print/autotest/assignment/index.js rename to test/autotests/pretty-print/assignment/index.js diff --git a/test/fixtures/pretty-print/autotest/marko-template/expected.json b/test/autotests/pretty-print/marko-template/expected.json similarity index 100% rename from test/fixtures/pretty-print/autotest/marko-template/expected.json rename to test/autotests/pretty-print/marko-template/expected.json diff --git a/test/fixtures/pretty-print/autotest/marko-template/index.js b/test/autotests/pretty-print/marko-template/index.js similarity index 100% rename from test/fixtures/pretty-print/autotest/marko-template/index.js rename to test/autotests/pretty-print/marko-template/index.js diff --git a/test/fixtures/render/autotest/assign-tag/expected.html b/test/autotests/render/assign-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/assign-tag/expected.html rename to test/autotests/render/assign-tag/expected.html diff --git a/test/fixtures/render/autotest/assign-tag/template.marko b/test/autotests/render/assign-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/assign-tag/template.marko rename to test/autotests/render/assign-tag/template.marko diff --git a/test/fixtures/render/autotest/assign-tag/test.js b/test/autotests/render/assign-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/assign-tag/test.js rename to test/autotests/render/assign-tag/test.js diff --git a/test/fixtures/render/autotest/attr-boolean-dynamic/expected.html b/test/autotests/render/attr-boolean-dynamic/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-dynamic/expected.html rename to test/autotests/render/attr-boolean-dynamic/expected.html diff --git a/test/fixtures/render/autotest/attr-boolean-dynamic/template.marko b/test/autotests/render/attr-boolean-dynamic/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-dynamic/template.marko rename to test/autotests/render/attr-boolean-dynamic/template.marko diff --git a/test/fixtures/render/autotest/attr-boolean-dynamic/test.js b/test/autotests/render/attr-boolean-dynamic/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-dynamic/test.js rename to test/autotests/render/attr-boolean-dynamic/test.js diff --git a/test/fixtures/render/autotest/attr-boolean-placeholder/expected.html b/test/autotests/render/attr-boolean-placeholder/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-placeholder/expected.html rename to test/autotests/render/attr-boolean-placeholder/expected.html diff --git a/test/fixtures/render/autotest/attr-boolean-placeholder/template.marko b/test/autotests/render/attr-boolean-placeholder/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-placeholder/template.marko rename to test/autotests/render/attr-boolean-placeholder/template.marko diff --git a/test/fixtures/render/autotest/attr-boolean-placeholder/test.js b/test/autotests/render/attr-boolean-placeholder/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-placeholder/test.js rename to test/autotests/render/attr-boolean-placeholder/test.js diff --git a/test/fixtures/render/autotest/attr-boolean-static/expected.html b/test/autotests/render/attr-boolean-static/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-static/expected.html rename to test/autotests/render/attr-boolean-static/expected.html diff --git a/test/fixtures/render/autotest/attr-boolean-static/template.marko b/test/autotests/render/attr-boolean-static/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-static/template.marko rename to test/autotests/render/attr-boolean-static/template.marko diff --git a/test/fixtures/render/autotest/attr-boolean-static/test.js b/test/autotests/render/attr-boolean-static/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-boolean-static/test.js rename to test/autotests/render/attr-boolean-static/test.js diff --git a/test/fixtures/render/autotest/attr-empty-dynamic/expected.html b/test/autotests/render/attr-empty-dynamic/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-empty-dynamic/expected.html rename to test/autotests/render/attr-empty-dynamic/expected.html diff --git a/test/fixtures/render/autotest/attr-empty-dynamic/template.marko b/test/autotests/render/attr-empty-dynamic/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-empty-dynamic/template.marko rename to test/autotests/render/attr-empty-dynamic/template.marko diff --git a/test/fixtures/render/autotest/attr-empty-dynamic/test.js b/test/autotests/render/attr-empty-dynamic/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-empty-dynamic/test.js rename to test/autotests/render/attr-empty-dynamic/test.js diff --git a/test/fixtures/render/autotest/attr-empty/expected.html b/test/autotests/render/attr-empty/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-empty/expected.html rename to test/autotests/render/attr-empty/expected.html diff --git a/test/fixtures/render/autotest/attr-empty/template.marko b/test/autotests/render/attr-empty/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-empty/template.marko rename to test/autotests/render/attr-empty/template.marko diff --git a/test/fixtures/render/autotest/attr-empty/test.js b/test/autotests/render/attr-empty/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-empty/test.js rename to test/autotests/render/attr-empty/test.js diff --git a/test/fixtures/render/autotest/attr-escape-xml/expected.html b/test/autotests/render/attr-escape-xml/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-escape-xml/expected.html rename to test/autotests/render/attr-escape-xml/expected.html diff --git a/test/fixtures/render/autotest/attr-escape-xml/template.marko b/test/autotests/render/attr-escape-xml/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-escape-xml/template.marko rename to test/autotests/render/attr-escape-xml/template.marko diff --git a/test/fixtures/render/autotest/attr-escape-xml/test.js b/test/autotests/render/attr-escape-xml/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-escape-xml/test.js rename to test/autotests/render/attr-escape-xml/test.js diff --git a/test/fixtures/render/autotest/attr-newline-concise/expected.html b/test/autotests/render/attr-newline-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-newline-concise/expected.html rename to test/autotests/render/attr-newline-concise/expected.html diff --git a/test/fixtures/render/autotest/attr-newline-concise/template.marko b/test/autotests/render/attr-newline-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-newline-concise/template.marko rename to test/autotests/render/attr-newline-concise/template.marko diff --git a/test/fixtures/render/autotest/attr-newline-concise/test.js b/test/autotests/render/attr-newline-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-newline-concise/test.js rename to test/autotests/render/attr-newline-concise/test.js diff --git a/test/fixtures/render/autotest/attr-newline-escaped/expected.html b/test/autotests/render/attr-newline-escaped/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-newline-escaped/expected.html rename to test/autotests/render/attr-newline-escaped/expected.html diff --git a/test/fixtures/render/autotest/attr-newline-escaped/template.marko b/test/autotests/render/attr-newline-escaped/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-newline-escaped/template.marko rename to test/autotests/render/attr-newline-escaped/template.marko diff --git a/test/fixtures/render/autotest/attr-newline-escaped/test.js b/test/autotests/render/attr-newline-escaped/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-newline-escaped/test.js rename to test/autotests/render/attr-newline-escaped/test.js diff --git a/test/fixtures/render/autotest/attr-newline/expected.html b/test/autotests/render/attr-newline/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-newline/expected.html rename to test/autotests/render/attr-newline/expected.html diff --git a/test/fixtures/render/autotest/attr-newline/template.marko b/test/autotests/render/attr-newline/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-newline/template.marko rename to test/autotests/render/attr-newline/template.marko diff --git a/test/fixtures/render/autotest/attr-newline/test.js b/test/autotests/render/attr-newline/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-newline/test.js rename to test/autotests/render/attr-newline/test.js diff --git a/test/fixtures/render/autotest/attr-path/expected.html b/test/autotests/render/attr-path/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-path/expected.html rename to test/autotests/render/attr-path/expected.html diff --git a/test/fixtures/render/autotest/attr-path/foo-tag.js b/test/autotests/render/attr-path/foo-tag.js similarity index 100% rename from test/fixtures/render/autotest/attr-path/foo-tag.js rename to test/autotests/render/attr-path/foo-tag.js diff --git a/test/fixtures/render/autotest/attr-path/foo.txt b/test/autotests/render/attr-path/foo.txt similarity index 100% rename from test/fixtures/render/autotest/attr-path/foo.txt rename to test/autotests/render/attr-path/foo.txt diff --git a/test/fixtures/render/autotest/attr-path/marko.json b/test/autotests/render/attr-path/marko.json similarity index 100% rename from test/fixtures/render/autotest/attr-path/marko.json rename to test/autotests/render/attr-path/marko.json diff --git a/test/fixtures/render/autotest/attr-path/template.marko b/test/autotests/render/attr-path/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-path/template.marko rename to test/autotests/render/attr-path/template.marko diff --git a/test/fixtures/render/autotest/attr-placeholder-escaped-undefined/expected.html b/test/autotests/render/attr-placeholder-escaped-undefined/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-placeholder-escaped-undefined/expected.html rename to test/autotests/render/attr-placeholder-escaped-undefined/expected.html diff --git a/test/fixtures/render/autotest/attr-placeholder-escaped-undefined/template.marko b/test/autotests/render/attr-placeholder-escaped-undefined/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-placeholder-escaped-undefined/template.marko rename to test/autotests/render/attr-placeholder-escaped-undefined/template.marko diff --git a/test/fixtures/render/autotest/attr-placeholder-escaped-undefined/test.js b/test/autotests/render/attr-placeholder-escaped-undefined/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-placeholder-escaped-undefined/test.js rename to test/autotests/render/attr-placeholder-escaped-undefined/test.js diff --git a/test/fixtures/render/autotest/attr-placeholder-unescaped-undefined/expected.html b/test/autotests/render/attr-placeholder-unescaped-undefined/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-placeholder-unescaped-undefined/expected.html rename to test/autotests/render/attr-placeholder-unescaped-undefined/expected.html diff --git a/test/fixtures/render/autotest/attr-placeholder-unescaped-undefined/template.marko b/test/autotests/render/attr-placeholder-unescaped-undefined/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-placeholder-unescaped-undefined/template.marko rename to test/autotests/render/attr-placeholder-unescaped-undefined/template.marko diff --git a/test/fixtures/render/autotest/attr-placeholder-unescaped-undefined/test.js b/test/autotests/render/attr-placeholder-unescaped-undefined/test.js similarity index 100% rename from test/fixtures/render/autotest/attr-placeholder-unescaped-undefined/test.js rename to test/autotests/render/attr-placeholder-unescaped-undefined/test.js diff --git a/test/fixtures/render/autotest/attr-set-flag/expected.html b/test/autotests/render/attr-set-flag/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-set-flag/expected.html rename to test/autotests/render/attr-set-flag/expected.html diff --git a/test/fixtures/render/autotest/attr-set-flag/marko.json b/test/autotests/render/attr-set-flag/marko.json similarity index 100% rename from test/fixtures/render/autotest/attr-set-flag/marko.json rename to test/autotests/render/attr-set-flag/marko.json diff --git a/test/fixtures/render/autotest/attr-set-flag/template.marko b/test/autotests/render/attr-set-flag/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-set-flag/template.marko rename to test/autotests/render/attr-set-flag/template.marko diff --git a/test/fixtures/render/autotest/attr-set-flag/transformer.js b/test/autotests/render/attr-set-flag/transformer.js similarity index 100% rename from test/fixtures/render/autotest/attr-set-flag/transformer.js rename to test/autotests/render/attr-set-flag/transformer.js diff --git a/test/fixtures/render/autotest/attr-template/expected.html b/test/autotests/render/attr-template/expected.html similarity index 100% rename from test/fixtures/render/autotest/attr-template/expected.html rename to test/autotests/render/attr-template/expected.html diff --git a/test/fixtures/render/autotest/attr-template/foo-tag.js b/test/autotests/render/attr-template/foo-tag.js similarity index 100% rename from test/fixtures/render/autotest/attr-template/foo-tag.js rename to test/autotests/render/attr-template/foo-tag.js diff --git a/test/fixtures/render/autotest/attr-template/foo-template.marko b/test/autotests/render/attr-template/foo-template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-template/foo-template.marko rename to test/autotests/render/attr-template/foo-template.marko diff --git a/test/fixtures/render/autotest/attr-template/marko.json b/test/autotests/render/attr-template/marko.json similarity index 100% rename from test/fixtures/render/autotest/attr-template/marko.json rename to test/autotests/render/attr-template/marko.json diff --git a/test/fixtures/render/autotest/attr-template/template.marko b/test/autotests/render/attr-template/template.marko similarity index 100% rename from test/fixtures/render/autotest/attr-template/template.marko rename to test/autotests/render/attr-template/template.marko diff --git a/test/fixtures/render/autotest/attrs/expected.html b/test/autotests/render/attrs/expected.html similarity index 100% rename from test/fixtures/render/autotest/attrs/expected.html rename to test/autotests/render/attrs/expected.html diff --git a/test/fixtures/render/autotest/attrs/template.marko b/test/autotests/render/attrs/template.marko similarity index 100% rename from test/fixtures/render/autotest/attrs/template.marko rename to test/autotests/render/attrs/template.marko diff --git a/test/fixtures/render/autotest/attrs/test.js b/test/autotests/render/attrs/test.js similarity index 100% rename from test/fixtures/render/autotest/attrs/test.js rename to test/autotests/render/attrs/test.js diff --git a/test/fixtures/render/autotest/body-only-if/expected.html b/test/autotests/render/body-only-if/expected.html similarity index 100% rename from test/fixtures/render/autotest/body-only-if/expected.html rename to test/autotests/render/body-only-if/expected.html diff --git a/test/fixtures/render/autotest/body-only-if/template.marko b/test/autotests/render/body-only-if/template.marko similarity index 100% rename from test/fixtures/render/autotest/body-only-if/template.marko rename to test/autotests/render/body-only-if/template.marko diff --git a/test/fixtures/render/autotest/body-only-if/test.js b/test/autotests/render/body-only-if/test.js similarity index 100% rename from test/fixtures/render/autotest/body-only-if/test.js rename to test/autotests/render/body-only-if/test.js diff --git a/test/fixtures/render/autotest/body-placeholder-literal-escaped/expected.html b/test/autotests/render/body-placeholder-literal-escaped/expected.html similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-escaped/expected.html rename to test/autotests/render/body-placeholder-literal-escaped/expected.html diff --git a/test/fixtures/render/autotest/body-placeholder-literal-escaped/template.marko b/test/autotests/render/body-placeholder-literal-escaped/template.marko similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-escaped/template.marko rename to test/autotests/render/body-placeholder-literal-escaped/template.marko diff --git a/test/fixtures/render/autotest/body-placeholder-literal-escaped/test.js b/test/autotests/render/body-placeholder-literal-escaped/test.js similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-escaped/test.js rename to test/autotests/render/body-placeholder-literal-escaped/test.js diff --git a/test/fixtures/render/autotest/body-placeholder-literal-unescaped-escaped/expected.html b/test/autotests/render/body-placeholder-literal-unescaped-escaped/expected.html similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-unescaped-escaped/expected.html rename to test/autotests/render/body-placeholder-literal-unescaped-escaped/expected.html diff --git a/test/fixtures/render/autotest/body-placeholder-literal-unescaped-escaped/template.marko b/test/autotests/render/body-placeholder-literal-unescaped-escaped/template.marko similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-unescaped-escaped/template.marko rename to test/autotests/render/body-placeholder-literal-unescaped-escaped/template.marko diff --git a/test/fixtures/render/autotest/body-placeholder-literal-unescaped-escaped/test.js b/test/autotests/render/body-placeholder-literal-unescaped-escaped/test.js similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-unescaped-escaped/test.js rename to test/autotests/render/body-placeholder-literal-unescaped-escaped/test.js diff --git a/test/fixtures/render/autotest/body-placeholder-literal-unescaped/expected.html b/test/autotests/render/body-placeholder-literal-unescaped/expected.html similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-unescaped/expected.html rename to test/autotests/render/body-placeholder-literal-unescaped/expected.html diff --git a/test/fixtures/render/autotest/body-placeholder-literal-unescaped/template.marko b/test/autotests/render/body-placeholder-literal-unescaped/template.marko similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-unescaped/template.marko rename to test/autotests/render/body-placeholder-literal-unescaped/template.marko diff --git a/test/fixtures/render/autotest/body-placeholder-literal-unescaped/test.js b/test/autotests/render/body-placeholder-literal-unescaped/test.js similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal-unescaped/test.js rename to test/autotests/render/body-placeholder-literal-unescaped/test.js diff --git a/test/fixtures/render/autotest/body-placeholder-literal/expected.html b/test/autotests/render/body-placeholder-literal/expected.html similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal/expected.html rename to test/autotests/render/body-placeholder-literal/expected.html diff --git a/test/fixtures/render/autotest/body-placeholder-literal/template.marko b/test/autotests/render/body-placeholder-literal/template.marko similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal/template.marko rename to test/autotests/render/body-placeholder-literal/template.marko diff --git a/test/fixtures/render/autotest/body-placeholder-literal/test.js b/test/autotests/render/body-placeholder-literal/test.js similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal/test.js rename to test/autotests/render/body-placeholder-literal/test.js diff --git a/test/fixtures/render/autotest/body-placeholder-literal2/expected.html b/test/autotests/render/body-placeholder-literal2/expected.html similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal2/expected.html rename to test/autotests/render/body-placeholder-literal2/expected.html diff --git a/test/fixtures/render/autotest/body-placeholder-literal2/template.marko b/test/autotests/render/body-placeholder-literal2/template.marko similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal2/template.marko rename to test/autotests/render/body-placeholder-literal2/template.marko diff --git a/test/fixtures/render/autotest/body-placeholder-literal2/test.js b/test/autotests/render/body-placeholder-literal2/test.js similarity index 100% rename from test/fixtures/render/autotest/body-placeholder-literal2/test.js rename to test/autotests/render/body-placeholder-literal2/test.js diff --git a/test/fixtures/render/autotest/cdata/expected.html b/test/autotests/render/cdata/expected.html similarity index 100% rename from test/fixtures/render/autotest/cdata/expected.html rename to test/autotests/render/cdata/expected.html diff --git a/test/fixtures/render/autotest/cdata/template.marko b/test/autotests/render/cdata/template.marko similarity index 100% rename from test/fixtures/render/autotest/cdata/template.marko rename to test/autotests/render/cdata/template.marko diff --git a/test/fixtures/render/autotest/cdata/test.js b/test/autotests/render/cdata/test.js similarity index 100% rename from test/fixtures/render/autotest/cdata/test.js rename to test/autotests/render/cdata/test.js diff --git a/test/fixtures/render/autotest/circular-renderer/expected.html b/test/autotests/render/circular-renderer/expected.html similarity index 100% rename from test/fixtures/render/autotest/circular-renderer/expected.html rename to test/autotests/render/circular-renderer/expected.html diff --git a/test/autotests/render/circular-renderer/marko.json b/test/autotests/render/circular-renderer/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/circular-renderer/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-circular-renderer-a/renderer.js b/test/autotests/render/circular-renderer/tags/test-circular-renderer-a/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-circular-renderer-a/renderer.js rename to test/autotests/render/circular-renderer/tags/test-circular-renderer-a/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-circular-renderer-a/template.marko b/test/autotests/render/circular-renderer/tags/test-circular-renderer-a/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-circular-renderer-a/template.marko rename to test/autotests/render/circular-renderer/tags/test-circular-renderer-a/template.marko diff --git a/test/fixtures/taglib/scanned-tags/test-circular-renderer-b/renderer.js b/test/autotests/render/circular-renderer/tags/test-circular-renderer-b/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-circular-renderer-b/renderer.js rename to test/autotests/render/circular-renderer/tags/test-circular-renderer-b/renderer.js diff --git a/test/fixtures/render/autotest/circular-renderer/template.marko b/test/autotests/render/circular-renderer/tags/test-circular-renderer-b/template.marko similarity index 100% rename from test/fixtures/render/autotest/circular-renderer/template.marko rename to test/autotests/render/circular-renderer/tags/test-circular-renderer-b/template.marko diff --git a/test/fixtures/taglib/scanned-tags/test-circular-renderer-b/template.marko b/test/autotests/render/circular-renderer/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-circular-renderer-b/template.marko rename to test/autotests/render/circular-renderer/template.marko diff --git a/test/fixtures/render/autotest/circular-renderer/test.js b/test/autotests/render/circular-renderer/test.js similarity index 100% rename from test/fixtures/render/autotest/circular-renderer/test.js rename to test/autotests/render/circular-renderer/test.js diff --git a/test/fixtures/render/autotest/circular-tags-no-write-to-disk/expected.html b/test/autotests/render/circular-tags-no-write-to-disk/expected.html similarity index 100% rename from test/fixtures/render/autotest/circular-tags-no-write-to-disk/expected.html rename to test/autotests/render/circular-tags-no-write-to-disk/expected.html diff --git a/test/fixtures/render/autotest/circular-tags-no-write-to-disk/marko.json b/test/autotests/render/circular-tags-no-write-to-disk/marko.json similarity index 100% rename from test/fixtures/render/autotest/circular-tags-no-write-to-disk/marko.json rename to test/autotests/render/circular-tags-no-write-to-disk/marko.json diff --git a/test/fixtures/render/autotest/circular-tags-no-write-to-disk/tags/navigation-item/template.marko b/test/autotests/render/circular-tags-no-write-to-disk/tags/navigation-item/template.marko similarity index 100% rename from test/fixtures/render/autotest/circular-tags-no-write-to-disk/tags/navigation-item/template.marko rename to test/autotests/render/circular-tags-no-write-to-disk/tags/navigation-item/template.marko diff --git a/test/fixtures/render/autotest/circular-tags-no-write-to-disk/template.marko b/test/autotests/render/circular-tags-no-write-to-disk/template.marko similarity index 100% rename from test/fixtures/render/autotest/circular-tags-no-write-to-disk/template.marko rename to test/autotests/render/circular-tags-no-write-to-disk/template.marko diff --git a/test/fixtures/render/autotest/circular-tags-no-write-to-disk/test.js b/test/autotests/render/circular-tags-no-write-to-disk/test.js similarity index 100% rename from test/fixtures/render/autotest/circular-tags-no-write-to-disk/test.js rename to test/autotests/render/circular-tags-no-write-to-disk/test.js diff --git a/test/fixtures/render/autotest/circular-template/expected.html b/test/autotests/render/circular-template/expected.html similarity index 100% rename from test/fixtures/render/autotest/circular-template/expected.html rename to test/autotests/render/circular-template/expected.html diff --git a/test/autotests/render/circular-template/marko.json b/test/autotests/render/circular-template/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/circular-template/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-circular-template-a/template.marko b/test/autotests/render/circular-template/tags/test-circular-template-a/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-circular-template-a/template.marko rename to test/autotests/render/circular-template/tags/test-circular-template-a/template.marko diff --git a/test/fixtures/taglib/scanned-tags/test-circular-template-b/template.marko b/test/autotests/render/circular-template/tags/test-circular-template-b/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-circular-template-b/template.marko rename to test/autotests/render/circular-template/tags/test-circular-template-b/template.marko diff --git a/test/fixtures/render/autotest/circular-template/template.marko b/test/autotests/render/circular-template/template.marko similarity index 100% rename from test/fixtures/render/autotest/circular-template/template.marko rename to test/autotests/render/circular-template/template.marko diff --git a/test/fixtures/render/autotest/circular-template/test.js b/test/autotests/render/circular-template/test.js similarity index 100% rename from test/fixtures/render/autotest/circular-template/test.js rename to test/autotests/render/circular-template/test.js diff --git a/test/fixtures/render/autotest/class-attr-array/expected.html b/test/autotests/render/class-attr-array/expected.html similarity index 100% rename from test/fixtures/render/autotest/class-attr-array/expected.html rename to test/autotests/render/class-attr-array/expected.html diff --git a/test/fixtures/render/autotest/class-attr-array/template.marko b/test/autotests/render/class-attr-array/template.marko similarity index 100% rename from test/fixtures/render/autotest/class-attr-array/template.marko rename to test/autotests/render/class-attr-array/template.marko diff --git a/test/fixtures/render/autotest/class-attr-array/test.js b/test/autotests/render/class-attr-array/test.js similarity index 100% rename from test/fixtures/render/autotest/class-attr-array/test.js rename to test/autotests/render/class-attr-array/test.js diff --git a/test/fixtures/render/autotest/class-attr-object/expected.html b/test/autotests/render/class-attr-object/expected.html similarity index 100% rename from test/fixtures/render/autotest/class-attr-object/expected.html rename to test/autotests/render/class-attr-object/expected.html diff --git a/test/fixtures/render/autotest/class-attr-object/template.marko b/test/autotests/render/class-attr-object/template.marko similarity index 100% rename from test/fixtures/render/autotest/class-attr-object/template.marko rename to test/autotests/render/class-attr-object/template.marko diff --git a/test/fixtures/render/autotest/class-attr-object/test.js b/test/autotests/render/class-attr-object/test.js similarity index 100% rename from test/fixtures/render/autotest/class-attr-object/test.js rename to test/autotests/render/class-attr-object/test.js diff --git a/test/fixtures/render/autotest/class-attr-string/expected.html b/test/autotests/render/class-attr-string/expected.html similarity index 100% rename from test/fixtures/render/autotest/class-attr-string/expected.html rename to test/autotests/render/class-attr-string/expected.html diff --git a/test/fixtures/render/autotest/class-attr-string/template.marko b/test/autotests/render/class-attr-string/template.marko similarity index 100% rename from test/fixtures/render/autotest/class-attr-string/template.marko rename to test/autotests/render/class-attr-string/template.marko diff --git a/test/fixtures/render/autotest/class-attr-string/test.js b/test/autotests/render/class-attr-string/test.js similarity index 100% rename from test/fixtures/render/autotest/class-attr-string/test.js rename to test/autotests/render/class-attr-string/test.js diff --git a/test/fixtures/render/autotest/comments-preserve-ie-conditional/expected.html b/test/autotests/render/comments-preserve-ie-conditional/expected.html similarity index 100% rename from test/fixtures/render/autotest/comments-preserve-ie-conditional/expected.html rename to test/autotests/render/comments-preserve-ie-conditional/expected.html diff --git a/test/fixtures/render/autotest/comments-preserve-ie-conditional/template.marko b/test/autotests/render/comments-preserve-ie-conditional/template.marko similarity index 100% rename from test/fixtures/render/autotest/comments-preserve-ie-conditional/template.marko rename to test/autotests/render/comments-preserve-ie-conditional/template.marko diff --git a/test/fixtures/render/autotest/comments-preserve-ie-conditional/test.js b/test/autotests/render/comments-preserve-ie-conditional/test.js similarity index 100% rename from test/fixtures/render/autotest/comments-preserve-ie-conditional/test.js rename to test/autotests/render/comments-preserve-ie-conditional/test.js diff --git a/test/fixtures/render/autotest/comments-remove/expected.html b/test/autotests/render/comments-remove/expected.html similarity index 100% rename from test/fixtures/render/autotest/comments-remove/expected.html rename to test/autotests/render/comments-remove/expected.html diff --git a/test/fixtures/render/autotest/comments-remove/template.marko b/test/autotests/render/comments-remove/template.marko similarity index 100% rename from test/fixtures/render/autotest/comments-remove/template.marko rename to test/autotests/render/comments-remove/template.marko diff --git a/test/fixtures/render/autotest/comments-remove/test.js b/test/autotests/render/comments-remove/test.js similarity index 100% rename from test/fixtures/render/autotest/comments-remove/test.js rename to test/autotests/render/comments-remove/test.js diff --git a/test/fixtures/render/autotest/concise-verbose/expected.html b/test/autotests/render/concise-verbose/expected.html similarity index 100% rename from test/fixtures/render/autotest/concise-verbose/expected.html rename to test/autotests/render/concise-verbose/expected.html diff --git a/test/fixtures/render/autotest/concise-verbose/template.marko b/test/autotests/render/concise-verbose/template.marko similarity index 100% rename from test/fixtures/render/autotest/concise-verbose/template.marko rename to test/autotests/render/concise-verbose/template.marko diff --git a/test/fixtures/render/autotest/concise-verbose/test.js b/test/autotests/render/concise-verbose/test.js similarity index 100% rename from test/fixtures/render/autotest/concise-verbose/test.js rename to test/autotests/render/concise-verbose/test.js diff --git a/test/fixtures/render/autotest/concise/expected.html b/test/autotests/render/concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/concise/expected.html rename to test/autotests/render/concise/expected.html diff --git a/test/fixtures/render/autotest/concise/template.marko b/test/autotests/render/concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/concise/template.marko rename to test/autotests/render/concise/template.marko diff --git a/test/fixtures/render/autotest/concise/test.js b/test/autotests/render/concise/test.js similarity index 100% rename from test/fixtures/render/autotest/concise/test.js rename to test/autotests/render/concise/test.js diff --git a/test/fixtures/render/autotest/conditional-attributes/expected.html b/test/autotests/render/conditional-attributes/expected.html similarity index 100% rename from test/fixtures/render/autotest/conditional-attributes/expected.html rename to test/autotests/render/conditional-attributes/expected.html diff --git a/test/fixtures/render/autotest/conditional-attributes/template.marko b/test/autotests/render/conditional-attributes/template.marko similarity index 100% rename from test/fixtures/render/autotest/conditional-attributes/template.marko rename to test/autotests/render/conditional-attributes/template.marko diff --git a/test/fixtures/render/autotest/conditional-attributes/test.js b/test/autotests/render/conditional-attributes/test.js similarity index 100% rename from test/fixtures/render/autotest/conditional-attributes/test.js rename to test/autotests/render/conditional-attributes/test.js diff --git a/test/fixtures/render/autotest/custom-tag-as-template/expected.html b/test/autotests/render/custom-tag-as-template/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-as-template/expected.html rename to test/autotests/render/custom-tag-as-template/expected.html diff --git a/test/autotests/render/custom-tag-as-template/marko.json b/test/autotests/render/custom-tag-as-template/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-as-template/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/test-template-as-tag/marko-tag.json b/test/autotests/render/custom-tag-as-template/tags/test-template-as-tag/marko-tag.json similarity index 100% rename from test/fixtures/taglib/test-template-as-tag/marko-tag.json rename to test/autotests/render/custom-tag-as-template/tags/test-template-as-tag/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-template-tag-dynamic-attributes/template.marko b/test/autotests/render/custom-tag-as-template/tags/test-template-as-tag/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-template-tag-dynamic-attributes/template.marko rename to test/autotests/render/custom-tag-as-template/tags/test-template-as-tag/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-as-template/template.marko b/test/autotests/render/custom-tag-as-template/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-as-template/template.marko rename to test/autotests/render/custom-tag-as-template/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-as-template/test.js b/test/autotests/render/custom-tag-as-template/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-as-template/test.js rename to test/autotests/render/custom-tag-as-template/test.js diff --git a/test/fixtures/render/autotest/custom-tag-body/expected.html b/test/autotests/render/custom-tag-body/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-body/expected.html rename to test/autotests/render/custom-tag-body/expected.html diff --git a/test/autotests/render/custom-tag-body/marko.json b/test/autotests/render/custom-tag-body/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-body/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-body/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag-body/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag-body/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-body/tags/test-hello/renderer.js b/test/autotests/render/custom-tag-body/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag-body/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag-body/template.marko b/test/autotests/render/custom-tag-body/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-body/template.marko rename to test/autotests/render/custom-tag-body/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-body/test.js b/test/autotests/render/custom-tag-body/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-body/test.js rename to test/autotests/render/custom-tag-body/test.js diff --git a/test/fixtures/render/autotest/custom-tag-data-arg-with-attrs/expected.html b/test/autotests/render/custom-tag-data-arg-with-attrs/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg-with-attrs/expected.html rename to test/autotests/render/custom-tag-data-arg-with-attrs/expected.html diff --git a/test/autotests/render/custom-tag-data-arg-with-attrs/marko.json b/test/autotests/render/custom-tag-data-arg-with-attrs/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg-with-attrs/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/renderer.js b/test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg-with-attrs/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag-data-arg-with-attrs/template.marko b/test/autotests/render/custom-tag-data-arg-with-attrs/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg-with-attrs/template.marko rename to test/autotests/render/custom-tag-data-arg-with-attrs/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-data-arg-with-attrs/test.js b/test/autotests/render/custom-tag-data-arg-with-attrs/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg-with-attrs/test.js rename to test/autotests/render/custom-tag-data-arg-with-attrs/test.js diff --git a/test/fixtures/render/autotest/custom-tag-data-arg/expected.html b/test/autotests/render/custom-tag-data-arg/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg/expected.html rename to test/autotests/render/custom-tag-data-arg/expected.html diff --git a/test/autotests/render/custom-tag-data-arg/marko.json b/test/autotests/render/custom-tag-data-arg/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-arg/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag-data-arg/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-arg/tags/test-hello/renderer.js b/test/autotests/render/custom-tag-data-arg/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag-data-arg/template.marko b/test/autotests/render/custom-tag-data-arg/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg/template.marko rename to test/autotests/render/custom-tag-data-arg/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-data-arg/test.js b/test/autotests/render/custom-tag-data-arg/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg/test.js rename to test/autotests/render/custom-tag-data-arg/test.js diff --git a/test/fixtures/render/autotest/custom-tag-data-arg2/expected.html b/test/autotests/render/custom-tag-data-arg2/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg2/expected.html rename to test/autotests/render/custom-tag-data-arg2/expected.html diff --git a/test/autotests/render/custom-tag-data-arg2/marko.json b/test/autotests/render/custom-tag-data-arg2/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg2/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-arg2/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag-data-arg2/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg2/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-arg2/tags/test-hello/renderer.js b/test/autotests/render/custom-tag-data-arg2/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag-data-arg2/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag-data-arg2/template.marko b/test/autotests/render/custom-tag-data-arg2/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg2/template.marko rename to test/autotests/render/custom-tag-data-arg2/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-data-arg2/test.js b/test/autotests/render/custom-tag-data-arg2/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-arg2/test.js rename to test/autotests/render/custom-tag-data-arg2/test.js diff --git a/test/fixtures/render/autotest/custom-tag-data-placeholders/expected.html b/test/autotests/render/custom-tag-data-placeholders/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-placeholders/expected.html rename to test/autotests/render/custom-tag-data-placeholders/expected.html diff --git a/test/autotests/render/custom-tag-data-placeholders/marko.json b/test/autotests/render/custom-tag-data-placeholders/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-data-placeholders/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-placeholders/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag-data-placeholders/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag-data-placeholders/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-data-placeholders/tags/test-hello/renderer.js b/test/autotests/render/custom-tag-data-placeholders/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag-data-placeholders/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag-data-placeholders/template.marko b/test/autotests/render/custom-tag-data-placeholders/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-placeholders/template.marko rename to test/autotests/render/custom-tag-data-placeholders/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-data-placeholders/test.js b/test/autotests/render/custom-tag-data-placeholders/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-data-placeholders/test.js rename to test/autotests/render/custom-tag-data-placeholders/test.js diff --git a/test/fixtures/render/autotest/custom-tag-declared-attributes/expected.html b/test/autotests/render/custom-tag-declared-attributes/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-declared-attributes/expected.html rename to test/autotests/render/custom-tag-declared-attributes/expected.html diff --git a/test/autotests/render/custom-tag-declared-attributes/marko.json b/test/autotests/render/custom-tag-declared-attributes/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-declared-attributes/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-declared-attributes/tags/test-declared-attributes/marko-tag.json b/test/autotests/render/custom-tag-declared-attributes/tags/test-declared-attributes/marko-tag.json new file mode 100644 index 000000000..4b18cf6bc --- /dev/null +++ b/test/autotests/render/custom-tag-declared-attributes/tags/test-declared-attributes/marko-tag.json @@ -0,0 +1,4 @@ +{ + "renderer": "./renderer.js", + "@name": "string" +} \ No newline at end of file diff --git a/test/fixtures/taglib/test-declared-attributes/renderer.js b/test/autotests/render/custom-tag-declared-attributes/tags/test-declared-attributes/renderer.js similarity index 100% rename from test/fixtures/taglib/test-declared-attributes/renderer.js rename to test/autotests/render/custom-tag-declared-attributes/tags/test-declared-attributes/renderer.js diff --git a/test/fixtures/render/autotest/custom-tag-declared-attributes/template.marko b/test/autotests/render/custom-tag-declared-attributes/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-declared-attributes/template.marko rename to test/autotests/render/custom-tag-declared-attributes/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-declared-attributes/test.js b/test/autotests/render/custom-tag-declared-attributes/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-declared-attributes/test.js rename to test/autotests/render/custom-tag-declared-attributes/test.js diff --git a/test/fixtures/render/autotest/custom-tag-hyphen-attrs/custom-tag.js b/test/autotests/render/custom-tag-hyphen-attrs/custom-tag.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-hyphen-attrs/custom-tag.js rename to test/autotests/render/custom-tag-hyphen-attrs/custom-tag.js diff --git a/test/fixtures/render/autotest/custom-tag-hyphen-attrs/expected.html b/test/autotests/render/custom-tag-hyphen-attrs/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-hyphen-attrs/expected.html rename to test/autotests/render/custom-tag-hyphen-attrs/expected.html diff --git a/test/fixtures/render/autotest/custom-tag-hyphen-attrs/marko.json b/test/autotests/render/custom-tag-hyphen-attrs/marko.json similarity index 100% rename from test/fixtures/render/autotest/custom-tag-hyphen-attrs/marko.json rename to test/autotests/render/custom-tag-hyphen-attrs/marko.json diff --git a/test/fixtures/render/autotest/custom-tag-hyphen-attrs/template.marko b/test/autotests/render/custom-tag-hyphen-attrs/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-hyphen-attrs/template.marko rename to test/autotests/render/custom-tag-hyphen-attrs/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-hyphen-attrs/test.js b/test/autotests/render/custom-tag-hyphen-attrs/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-hyphen-attrs/test.js rename to test/autotests/render/custom-tag-hyphen-attrs/test.js diff --git a/test/fixtures/render/autotest/custom-tag-open-tag-only/expected.html b/test/autotests/render/custom-tag-open-tag-only/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-open-tag-only/expected.html rename to test/autotests/render/custom-tag-open-tag-only/expected.html diff --git a/test/fixtures/render/autotest/custom-tag-open-tag-only/marko.json b/test/autotests/render/custom-tag-open-tag-only/marko.json similarity index 100% rename from test/fixtures/render/autotest/custom-tag-open-tag-only/marko.json rename to test/autotests/render/custom-tag-open-tag-only/marko.json diff --git a/test/fixtures/render/autotest/custom-tag-open-tag-only/open-tag-only-tag.js b/test/autotests/render/custom-tag-open-tag-only/open-tag-only-tag.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-open-tag-only/open-tag-only-tag.js rename to test/autotests/render/custom-tag-open-tag-only/open-tag-only-tag.js diff --git a/test/fixtures/render/autotest/custom-tag-open-tag-only/template.marko b/test/autotests/render/custom-tag-open-tag-only/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-open-tag-only/template.marko rename to test/autotests/render/custom-tag-open-tag-only/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-open-tag-only/test.js b/test/autotests/render/custom-tag-open-tag-only/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-open-tag-only/test.js rename to test/autotests/render/custom-tag-open-tag-only/test.js diff --git a/test/fixtures/render/autotest/custom-tag-target-property/expected.html b/test/autotests/render/custom-tag-target-property/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-target-property/expected.html rename to test/autotests/render/custom-tag-target-property/expected.html diff --git a/test/autotests/render/custom-tag-target-property/marko.json b/test/autotests/render/custom-tag-target-property/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-target-property/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-target-property/tags/test-target-property/marko-tag.json b/test/autotests/render/custom-tag-target-property/tags/test-target-property/marko-tag.json new file mode 100644 index 000000000..b7eba5e13 --- /dev/null +++ b/test/autotests/render/custom-tag-target-property/tags/test-target-property/marko-tag.json @@ -0,0 +1,6 @@ +{ + "renderer": "./renderer", + "@name-foo": { + "target-property": "name" + } +} \ No newline at end of file diff --git a/test/fixtures/taglib/test-target-property/renderer.js b/test/autotests/render/custom-tag-target-property/tags/test-target-property/renderer.js similarity index 100% rename from test/fixtures/taglib/test-target-property/renderer.js rename to test/autotests/render/custom-tag-target-property/tags/test-target-property/renderer.js diff --git a/test/fixtures/render/autotest/custom-tag-target-property/template.marko b/test/autotests/render/custom-tag-target-property/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-target-property/template.marko rename to test/autotests/render/custom-tag-target-property/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-target-property/test.js b/test/autotests/render/custom-tag-target-property/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-target-property/test.js rename to test/autotests/render/custom-tag-target-property/test.js diff --git a/test/fixtures/render/autotest/custom-tag-with-directives/expected.html b/test/autotests/render/custom-tag-with-directives/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag-with-directives/expected.html rename to test/autotests/render/custom-tag-with-directives/expected.html diff --git a/test/autotests/render/custom-tag-with-directives/marko.json b/test/autotests/render/custom-tag-with-directives/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag-with-directives/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-with-directives/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag-with-directives/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag-with-directives/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag-with-directives/tags/test-hello/renderer.js b/test/autotests/render/custom-tag-with-directives/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag-with-directives/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag-with-directives/template.marko b/test/autotests/render/custom-tag-with-directives/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag-with-directives/template.marko rename to test/autotests/render/custom-tag-with-directives/template.marko diff --git a/test/fixtures/render/autotest/custom-tag-with-directives/test.js b/test/autotests/render/custom-tag-with-directives/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag-with-directives/test.js rename to test/autotests/render/custom-tag-with-directives/test.js diff --git a/test/fixtures/render/autotest/custom-tag/expected.html b/test/autotests/render/custom-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/custom-tag/expected.html rename to test/autotests/render/custom-tag/expected.html diff --git a/test/autotests/render/custom-tag/marko.json b/test/autotests/render/custom-tag/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/custom-tag/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag/tags/test-hello/marko-tag.json b/test/autotests/render/custom-tag/tags/test-hello/marko-tag.json new file mode 100644 index 000000000..e83d0748c --- /dev/null +++ b/test/autotests/render/custom-tag/tags/test-hello/marko-tag.json @@ -0,0 +1,5 @@ +{ + "renderer": "./renderer.js", + "@name": "string", + "@adult": "boolean" +} \ No newline at end of file diff --git a/test/autotests/render/custom-tag/tags/test-hello/renderer.js b/test/autotests/render/custom-tag/tags/test-hello/renderer.js new file mode 100644 index 000000000..eff3f3789 --- /dev/null +++ b/test/autotests/render/custom-tag/tags/test-hello/renderer.js @@ -0,0 +1,14 @@ +exports.render = function(input, out) { + out.write('Hello ' + input.name + '!'); + if (input.adult === true) { + out.write(' (adult)'); + } else if (input.adult === false) { + out.write(' (child)'); + } + + if (input.renderBody) { + out.write(' BODY: '); + input.renderBody(out); + } + +}; \ No newline at end of file diff --git a/test/fixtures/render/autotest/custom-tag/template.marko b/test/autotests/render/custom-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/custom-tag/template.marko rename to test/autotests/render/custom-tag/template.marko diff --git a/test/fixtures/render/autotest/custom-tag/test.js b/test/autotests/render/custom-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/custom-tag/test.js rename to test/autotests/render/custom-tag/test.js diff --git a/test/fixtures/render/autotest/default-attributes/expected.html b/test/autotests/render/default-attributes/expected.html similarity index 100% rename from test/fixtures/render/autotest/default-attributes/expected.html rename to test/autotests/render/default-attributes/expected.html diff --git a/test/autotests/render/default-attributes/marko.json b/test/autotests/render/default-attributes/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/default-attributes/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-default-attributes/marko-tag.json b/test/autotests/render/default-attributes/tags/test-default-attributes/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-default-attributes/marko-tag.json rename to test/autotests/render/default-attributes/tags/test-default-attributes/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-default-attributes/renderer.js b/test/autotests/render/default-attributes/tags/test-default-attributes/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-default-attributes/renderer.js rename to test/autotests/render/default-attributes/tags/test-default-attributes/renderer.js diff --git a/test/fixtures/render/autotest/default-attributes/template.marko b/test/autotests/render/default-attributes/template.marko similarity index 100% rename from test/fixtures/render/autotest/default-attributes/template.marko rename to test/autotests/render/default-attributes/template.marko diff --git a/test/fixtures/render/autotest/default-attributes/test.js b/test/autotests/render/default-attributes/test.js similarity index 100% rename from test/fixtures/render/autotest/default-attributes/test.js rename to test/autotests/render/default-attributes/test.js diff --git a/test/fixtures/render/autotest/div-self-closed/expected.html b/test/autotests/render/div-self-closed/expected.html similarity index 100% rename from test/fixtures/render/autotest/div-self-closed/expected.html rename to test/autotests/render/div-self-closed/expected.html diff --git a/test/fixtures/render/autotest/div-self-closed/template.marko b/test/autotests/render/div-self-closed/template.marko similarity index 100% rename from test/fixtures/render/autotest/div-self-closed/template.marko rename to test/autotests/render/div-self-closed/template.marko diff --git a/test/fixtures/render/autotest/div-self-closed/test.js b/test/autotests/render/div-self-closed/test.js similarity index 100% rename from test/fixtures/render/autotest/div-self-closed/test.js rename to test/autotests/render/div-self-closed/test.js diff --git a/test/fixtures/render/autotest/doctype/expected.html b/test/autotests/render/doctype/expected.html similarity index 100% rename from test/fixtures/render/autotest/doctype/expected.html rename to test/autotests/render/doctype/expected.html diff --git a/test/fixtures/render/autotest/doctype/template.marko b/test/autotests/render/doctype/template.marko similarity index 100% rename from test/fixtures/render/autotest/doctype/template.marko rename to test/autotests/render/doctype/template.marko diff --git a/test/fixtures/render/autotest/doctype/test.js b/test/autotests/render/doctype/test.js similarity index 100% rename from test/fixtures/render/autotest/doctype/test.js rename to test/autotests/render/doctype/test.js diff --git a/test/fixtures/render/autotest/dtd/expected.html b/test/autotests/render/dtd/expected.html similarity index 100% rename from test/fixtures/render/autotest/dtd/expected.html rename to test/autotests/render/dtd/expected.html diff --git a/test/fixtures/render/autotest/dtd/template.marko b/test/autotests/render/dtd/template.marko similarity index 100% rename from test/fixtures/render/autotest/dtd/template.marko rename to test/autotests/render/dtd/template.marko diff --git a/test/fixtures/render/autotest/dtd/test.js b/test/autotests/render/dtd/test.js similarity index 100% rename from test/fixtures/render/autotest/dtd/test.js rename to test/autotests/render/dtd/test.js diff --git a/test/fixtures/render/autotest/dynamic-attributes-string/expected.html b/test/autotests/render/dynamic-attributes-string/expected.html similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes-string/expected.html rename to test/autotests/render/dynamic-attributes-string/expected.html diff --git a/test/fixtures/render/autotest/dynamic-attributes-string/template.marko b/test/autotests/render/dynamic-attributes-string/template.marko similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes-string/template.marko rename to test/autotests/render/dynamic-attributes-string/template.marko diff --git a/test/fixtures/render/autotest/dynamic-attributes-string/test.js b/test/autotests/render/dynamic-attributes-string/test.js similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes-string/test.js rename to test/autotests/render/dynamic-attributes-string/test.js diff --git a/test/fixtures/render/autotest/dynamic-attributes/expected.html b/test/autotests/render/dynamic-attributes/expected.html similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes/expected.html rename to test/autotests/render/dynamic-attributes/expected.html diff --git a/test/autotests/render/dynamic-attributes/marko.json b/test/autotests/render/dynamic-attributes/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/dynamic-attributes/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-dynamic-attributes/marko-tag.json b/test/autotests/render/dynamic-attributes/tags/test-dynamic-attributes/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-dynamic-attributes/marko-tag.json rename to test/autotests/render/dynamic-attributes/tags/test-dynamic-attributes/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-dynamic-attributes/renderer.js b/test/autotests/render/dynamic-attributes/tags/test-dynamic-attributes/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-dynamic-attributes/renderer.js rename to test/autotests/render/dynamic-attributes/tags/test-dynamic-attributes/renderer.js diff --git a/test/fixtures/render/autotest/dynamic-attributes/template.marko b/test/autotests/render/dynamic-attributes/template.marko similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes/template.marko rename to test/autotests/render/dynamic-attributes/template.marko diff --git a/test/fixtures/render/autotest/dynamic-attributes/test.js b/test/autotests/render/dynamic-attributes/test.js similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes/test.js rename to test/autotests/render/dynamic-attributes/test.js diff --git a/test/fixtures/render/autotest/dynamic-attributes2/expected.html b/test/autotests/render/dynamic-attributes2/expected.html similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes2/expected.html rename to test/autotests/render/dynamic-attributes2/expected.html diff --git a/test/autotests/render/dynamic-attributes2/marko.json b/test/autotests/render/dynamic-attributes2/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/dynamic-attributes2/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-dynamic-attributes2/marko-tag.json b/test/autotests/render/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-dynamic-attributes2/marko-tag.json rename to test/autotests/render/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-dynamic-attributes2/renderer.js b/test/autotests/render/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-dynamic-attributes2/renderer.js rename to test/autotests/render/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js diff --git a/test/fixtures/render/autotest/dynamic-attributes2/template.marko b/test/autotests/render/dynamic-attributes2/template.marko similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes2/template.marko rename to test/autotests/render/dynamic-attributes2/template.marko diff --git a/test/fixtures/render/autotest/dynamic-attributes2/test.js b/test/autotests/render/dynamic-attributes2/test.js similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes2/test.js rename to test/autotests/render/dynamic-attributes2/test.js diff --git a/test/fixtures/render/autotest/dynamic-attributes3/expected.html b/test/autotests/render/dynamic-attributes3/expected.html similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes3/expected.html rename to test/autotests/render/dynamic-attributes3/expected.html diff --git a/test/autotests/render/dynamic-attributes3/marko.json b/test/autotests/render/dynamic-attributes3/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/dynamic-attributes3/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-dynamic-attributes3/marko-tag.json b/test/autotests/render/dynamic-attributes3/tags/test-dynamic-attributes3/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-dynamic-attributes3/marko-tag.json rename to test/autotests/render/dynamic-attributes3/tags/test-dynamic-attributes3/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-dynamic-attributes3/renderer.js b/test/autotests/render/dynamic-attributes3/tags/test-dynamic-attributes3/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-dynamic-attributes3/renderer.js rename to test/autotests/render/dynamic-attributes3/tags/test-dynamic-attributes3/renderer.js diff --git a/test/fixtures/render/autotest/dynamic-attributes3/template.marko b/test/autotests/render/dynamic-attributes3/template.marko similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes3/template.marko rename to test/autotests/render/dynamic-attributes3/template.marko diff --git a/test/fixtures/render/autotest/dynamic-attributes3/test.js b/test/autotests/render/dynamic-attributes3/test.js similarity index 100% rename from test/fixtures/render/autotest/dynamic-attributes3/test.js rename to test/autotests/render/dynamic-attributes3/test.js diff --git a/test/fixtures/render/autotest/dynamic-tag-name/expected.html b/test/autotests/render/dynamic-tag-name/expected.html similarity index 100% rename from test/fixtures/render/autotest/dynamic-tag-name/expected.html rename to test/autotests/render/dynamic-tag-name/expected.html diff --git a/test/fixtures/render/autotest/dynamic-tag-name/template.marko b/test/autotests/render/dynamic-tag-name/template.marko similarity index 100% rename from test/fixtures/render/autotest/dynamic-tag-name/template.marko rename to test/autotests/render/dynamic-tag-name/template.marko diff --git a/test/fixtures/render/autotest/dynamic-tag-name/test.js b/test/autotests/render/dynamic-tag-name/test.js similarity index 100% rename from test/fixtures/render/autotest/dynamic-tag-name/test.js rename to test/autotests/render/dynamic-tag-name/test.js diff --git a/test/fixtures/render/autotest/empty-close-tag/expected.html b/test/autotests/render/empty-close-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/empty-close-tag/expected.html rename to test/autotests/render/empty-close-tag/expected.html diff --git a/test/fixtures/render/autotest/empty-close-tag/template.marko b/test/autotests/render/empty-close-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/empty-close-tag/template.marko rename to test/autotests/render/empty-close-tag/template.marko diff --git a/test/fixtures/render/autotest/empty-close-tag/test.js b/test/autotests/render/empty-close-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/empty-close-tag/test.js rename to test/autotests/render/empty-close-tag/test.js diff --git a/test/fixtures/render/autotest/entities/expected.html b/test/autotests/render/entities/expected.html similarity index 100% rename from test/fixtures/render/autotest/entities/expected.html rename to test/autotests/render/entities/expected.html diff --git a/test/fixtures/render/autotest/entities/template.marko b/test/autotests/render/entities/template.marko similarity index 100% rename from test/fixtures/render/autotest/entities/template.marko rename to test/autotests/render/entities/template.marko diff --git a/test/fixtures/render/autotest/entities/test.js b/test/autotests/render/entities/test.js similarity index 100% rename from test/fixtures/render/autotest/entities/test.js rename to test/autotests/render/entities/test.js diff --git a/test/fixtures/render/autotest/error-bad-expression/marko.json b/test/autotests/render/error-bad-expression/marko.json similarity index 100% rename from test/fixtures/render/autotest/error-bad-expression/marko.json rename to test/autotests/render/error-bad-expression/marko.json diff --git a/test/fixtures/render/autotest/error-bad-expression/template.marko b/test/autotests/render/error-bad-expression/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-bad-expression/template.marko rename to test/autotests/render/error-bad-expression/template.marko diff --git a/test/fixtures/render/autotest/error-bad-expression/test.js b/test/autotests/render/error-bad-expression/test.js similarity index 100% rename from test/fixtures/render/autotest/error-bad-expression/test.js rename to test/autotests/render/error-bad-expression/test.js diff --git a/test/autotests/render/error-invalid-attr/marko.json b/test/autotests/render/error-invalid-attr/marko.json new file mode 100644 index 000000000..819b12064 --- /dev/null +++ b/test/autotests/render/error-invalid-attr/marko.json @@ -0,0 +1,5 @@ +{ + "": { + "@foo": "string" + } +} diff --git a/test/fixtures/render/autotest/error-invalid-attr/template.marko b/test/autotests/render/error-invalid-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-attr/template.marko rename to test/autotests/render/error-invalid-attr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-attr/test.js b/test/autotests/render/error-invalid-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-attr/test.js rename to test/autotests/render/error-invalid-attr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-else-if-tag/template.marko b/test/autotests/render/error-invalid-else-if-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-else-if-tag/template.marko rename to test/autotests/render/error-invalid-else-if-tag/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-else-if-tag/test.js b/test/autotests/render/error-invalid-else-if-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-else-if-tag/test.js rename to test/autotests/render/error-invalid-else-if-tag/test.js diff --git a/test/fixtures/render/autotest/error-invalid-for-attr-separator/template.marko b/test/autotests/render/error-invalid-for-attr-separator/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-attr-separator/template.marko rename to test/autotests/render/error-invalid-for-attr-separator/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-for-attr-separator/test.js b/test/autotests/render/error-invalid-for-attr-separator/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-attr-separator/test.js rename to test/autotests/render/error-invalid-for-attr-separator/test.js diff --git a/test/fixtures/render/autotest/error-invalid-for-attr/template.marko b/test/autotests/render/error-invalid-for-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-attr/template.marko rename to test/autotests/render/error-invalid-for-attr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-for-attr/test.js b/test/autotests/render/error-invalid-for-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-attr/test.js rename to test/autotests/render/error-invalid-for-attr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-for-props/template.marko b/test/autotests/render/error-invalid-for-props/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-props/template.marko rename to test/autotests/render/error-invalid-for-props/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-for-props/test.js b/test/autotests/render/error-invalid-for-props/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-props/test.js rename to test/autotests/render/error-invalid-for-props/test.js diff --git a/test/fixtures/render/autotest/error-invalid-for-range-step/template.marko b/test/autotests/render/error-invalid-for-range-step/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-range-step/template.marko rename to test/autotests/render/error-invalid-for-range-step/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-for-range-step/test.js b/test/autotests/render/error-invalid-for-range-step/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-range-step/test.js rename to test/autotests/render/error-invalid-for-range-step/test.js diff --git a/test/fixtures/render/autotest/error-invalid-for-range-to-expr/template.marko b/test/autotests/render/error-invalid-for-range-to-expr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-range-to-expr/template.marko rename to test/autotests/render/error-invalid-for-range-to-expr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-for-range-to-expr/test.js b/test/autotests/render/error-invalid-for-range-to-expr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-range-to-expr/test.js rename to test/autotests/render/error-invalid-for-range-to-expr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-for-range/template.marko b/test/autotests/render/error-invalid-for-range/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-range/template.marko rename to test/autotests/render/error-invalid-for-range/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-for-range/test.js b/test/autotests/render/error-invalid-for-range/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-for-range/test.js rename to test/autotests/render/error-invalid-for-range/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-attr/template.marko b/test/autotests/render/error-invalid-if-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-attr/template.marko rename to test/autotests/render/error-invalid-if-attr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-attr/test.js b/test/autotests/render/error-invalid-if-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-attr/test.js rename to test/autotests/render/error-invalid-if-attr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-else-attr/template.marko b/test/autotests/render/error-invalid-if-else-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-attr/template.marko rename to test/autotests/render/error-invalid-if-else-attr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-else-attr/test.js b/test/autotests/render/error-invalid-if-else-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-attr/test.js rename to test/autotests/render/error-invalid-if-else-attr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-attr/template.marko b/test/autotests/render/error-invalid-if-else-if-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-attr/template.marko rename to test/autotests/render/error-invalid-if-else-if-attr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-attr/test.js b/test/autotests/render/error-invalid-if-else-if-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-attr/test.js rename to test/autotests/render/error-invalid-if-else-if-attr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-else-attr/template.marko b/test/autotests/render/error-invalid-if-else-if-else-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-else-attr/template.marko rename to test/autotests/render/error-invalid-if-else-if-else-attr/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-else-attr/test.js b/test/autotests/render/error-invalid-if-else-if-else-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-else-attr/test.js rename to test/autotests/render/error-invalid-if-else-if-else-attr/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-else-tag/template.marko b/test/autotests/render/error-invalid-if-else-if-else-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-else-tag/template.marko rename to test/autotests/render/error-invalid-if-else-if-else-tag/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-else-tag/test.js b/test/autotests/render/error-invalid-if-else-if-else-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-else-tag/test.js rename to test/autotests/render/error-invalid-if-else-if-else-tag/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-tag/template.marko b/test/autotests/render/error-invalid-if-else-if-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-tag/template.marko rename to test/autotests/render/error-invalid-if-else-if-tag/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-else-if-tag/test.js b/test/autotests/render/error-invalid-if-else-if-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-if-tag/test.js rename to test/autotests/render/error-invalid-if-else-if-tag/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-else-tag/template.marko b/test/autotests/render/error-invalid-if-else-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-tag/template.marko rename to test/autotests/render/error-invalid-if-else-tag/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-else-tag/test.js b/test/autotests/render/error-invalid-if-else-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-else-tag/test.js rename to test/autotests/render/error-invalid-if-else-tag/test.js diff --git a/test/fixtures/render/autotest/error-invalid-if-tag/template.marko b/test/autotests/render/error-invalid-if-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-tag/template.marko rename to test/autotests/render/error-invalid-if-tag/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-if-tag/test.js b/test/autotests/render/error-invalid-if-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-if-tag/test.js rename to test/autotests/render/error-invalid-if-tag/test.js diff --git a/test/fixtures/render/autotest/error-invalid-unless-tag/template.marko b/test/autotests/render/error-invalid-unless-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-invalid-unless-tag/template.marko rename to test/autotests/render/error-invalid-unless-tag/template.marko diff --git a/test/fixtures/render/autotest/error-invalid-unless-tag/test.js b/test/autotests/render/error-invalid-unless-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/error-invalid-unless-tag/test.js rename to test/autotests/render/error-invalid-unless-tag/test.js diff --git a/test/fixtures/render/autotest/error-mismatched-tags/expected.html b/test/autotests/render/error-mismatched-tags/expected.html similarity index 100% rename from test/fixtures/render/autotest/error-mismatched-tags/expected.html rename to test/autotests/render/error-mismatched-tags/expected.html diff --git a/test/fixtures/render/autotest/error-mismatched-tags/template.marko b/test/autotests/render/error-mismatched-tags/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-mismatched-tags/template.marko rename to test/autotests/render/error-mismatched-tags/template.marko diff --git a/test/fixtures/render/autotest/error-mismatched-tags/test.js b/test/autotests/render/error-mismatched-tags/test.js similarity index 100% rename from test/fixtures/render/autotest/error-mismatched-tags/test.js rename to test/autotests/render/error-mismatched-tags/test.js diff --git a/test/autotests/render/error-missing-required-attr/marko.json b/test/autotests/render/error-missing-required-attr/marko.json new file mode 100644 index 000000000..0214c70ae --- /dev/null +++ b/test/autotests/render/error-missing-required-attr/marko.json @@ -0,0 +1,7 @@ +{ + "": { + "@name": { + "required": true + } + } +} diff --git a/test/fixtures/render/autotest/error-missing-required-attr/template.marko b/test/autotests/render/error-missing-required-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-missing-required-attr/template.marko rename to test/autotests/render/error-missing-required-attr/template.marko diff --git a/test/fixtures/render/autotest/error-missing-required-attr/test.js b/test/autotests/render/error-missing-required-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/error-missing-required-attr/test.js rename to test/autotests/render/error-missing-required-attr/test.js diff --git a/test/fixtures/render/autotest/error-open-tag-only-concise/marko.json b/test/autotests/render/error-open-tag-only-concise/marko.json similarity index 100% rename from test/fixtures/render/autotest/error-open-tag-only-concise/marko.json rename to test/autotests/render/error-open-tag-only-concise/marko.json diff --git a/test/fixtures/render/autotest/error-open-tag-only-concise/template.marko b/test/autotests/render/error-open-tag-only-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-open-tag-only-concise/template.marko rename to test/autotests/render/error-open-tag-only-concise/template.marko diff --git a/test/fixtures/render/autotest/error-open-tag-only-concise/test.js b/test/autotests/render/error-open-tag-only-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/error-open-tag-only-concise/test.js rename to test/autotests/render/error-open-tag-only-concise/test.js diff --git a/test/fixtures/render/autotest/error-open-tag-only-html/marko.json b/test/autotests/render/error-open-tag-only-html/marko.json similarity index 100% rename from test/fixtures/render/autotest/error-open-tag-only-html/marko.json rename to test/autotests/render/error-open-tag-only-html/marko.json diff --git a/test/fixtures/render/autotest/error-open-tag-only-html/template.marko b/test/autotests/render/error-open-tag-only-html/template.marko similarity index 100% rename from test/fixtures/render/autotest/error-open-tag-only-html/template.marko rename to test/autotests/render/error-open-tag-only-html/template.marko diff --git a/test/fixtures/render/autotest/error-open-tag-only-html/test.js b/test/autotests/render/error-open-tag-only-html/test.js similarity index 100% rename from test/fixtures/render/autotest/error-open-tag-only-html/test.js rename to test/autotests/render/error-open-tag-only-html/test.js diff --git a/test/fixtures/render/autotest/escaped-dollar/expected.html b/test/autotests/render/escaped-dollar/expected.html similarity index 100% rename from test/fixtures/render/autotest/escaped-dollar/expected.html rename to test/autotests/render/escaped-dollar/expected.html diff --git a/test/fixtures/render/autotest/escaped-dollar/template.marko b/test/autotests/render/escaped-dollar/template.marko similarity index 100% rename from test/fixtures/render/autotest/escaped-dollar/template.marko rename to test/autotests/render/escaped-dollar/template.marko diff --git a/test/fixtures/render/autotest/escaped-dollar/test.js b/test/autotests/render/escaped-dollar/test.js similarity index 100% rename from test/fixtures/render/autotest/escaped-dollar/test.js rename to test/autotests/render/escaped-dollar/test.js diff --git a/test/fixtures/render/autotest/for-attr-separator-status-var/expected.html b/test/autotests/render/for-attr-separator-status-var/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-attr-separator-status-var/expected.html rename to test/autotests/render/for-attr-separator-status-var/expected.html diff --git a/test/fixtures/render/autotest/for-attr-separator-status-var/template.marko b/test/autotests/render/for-attr-separator-status-var/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-attr-separator-status-var/template.marko rename to test/autotests/render/for-attr-separator-status-var/template.marko diff --git a/test/fixtures/render/autotest/for-attr-separator-status-var/test.js b/test/autotests/render/for-attr-separator-status-var/test.js similarity index 100% rename from test/fixtures/render/autotest/for-attr-separator-status-var/test.js rename to test/autotests/render/for-attr-separator-status-var/test.js diff --git a/test/fixtures/render/autotest/for-attr-separator/expected.html b/test/autotests/render/for-attr-separator/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-attr-separator/expected.html rename to test/autotests/render/for-attr-separator/expected.html diff --git a/test/fixtures/render/autotest/for-attr-separator/template.marko b/test/autotests/render/for-attr-separator/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-attr-separator/template.marko rename to test/autotests/render/for-attr-separator/template.marko diff --git a/test/fixtures/render/autotest/for-attr-separator/test.js b/test/autotests/render/for-attr-separator/test.js similarity index 100% rename from test/fixtures/render/autotest/for-attr-separator/test.js rename to test/autotests/render/for-attr-separator/test.js diff --git a/test/fixtures/render/autotest/for-attr-status-var-string/expected.html b/test/autotests/render/for-attr-status-var-string/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-attr-status-var-string/expected.html rename to test/autotests/render/for-attr-status-var-string/expected.html diff --git a/test/fixtures/render/autotest/for-attr-status-var-string/template.marko b/test/autotests/render/for-attr-status-var-string/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-attr-status-var-string/template.marko rename to test/autotests/render/for-attr-status-var-string/template.marko diff --git a/test/fixtures/render/autotest/for-attr-status-var-string/test.js b/test/autotests/render/for-attr-status-var-string/test.js similarity index 100% rename from test/fixtures/render/autotest/for-attr-status-var-string/test.js rename to test/autotests/render/for-attr-status-var-string/test.js diff --git a/test/fixtures/render/autotest/for-attr/expected.html b/test/autotests/render/for-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-attr/expected.html rename to test/autotests/render/for-attr/expected.html diff --git a/test/fixtures/render/autotest/for-attr/template.marko b/test/autotests/render/for-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-attr/template.marko rename to test/autotests/render/for-attr/template.marko diff --git a/test/fixtures/render/autotest/for-attr/test.js b/test/autotests/render/for-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-attr/test.js rename to test/autotests/render/for-attr/test.js diff --git a/test/fixtures/render/autotest/for-if-attr/expected.html b/test/autotests/render/for-if-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-if-attr/expected.html rename to test/autotests/render/for-if-attr/expected.html diff --git a/test/fixtures/render/autotest/for-if-attr/template.marko b/test/autotests/render/for-if-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-if-attr/template.marko rename to test/autotests/render/for-if-attr/template.marko diff --git a/test/fixtures/render/autotest/for-if-attr/test.js b/test/autotests/render/for-if-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-if-attr/test.js rename to test/autotests/render/for-if-attr/test.js diff --git a/test/fixtures/render/autotest/for-iterator-as-target/expected.html b/test/autotests/render/for-iterator-as-target/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-iterator-as-target/expected.html rename to test/autotests/render/for-iterator-as-target/expected.html diff --git a/test/fixtures/render/autotest/for-iterator-as-target/template.marko b/test/autotests/render/for-iterator-as-target/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-iterator-as-target/template.marko rename to test/autotests/render/for-iterator-as-target/template.marko diff --git a/test/fixtures/render/autotest/for-iterator-as-target/test.js b/test/autotests/render/for-iterator-as-target/test.js similarity index 100% rename from test/fixtures/render/autotest/for-iterator-as-target/test.js rename to test/autotests/render/for-iterator-as-target/test.js diff --git a/test/fixtures/render/autotest/for-iterator-attr/expected.html b/test/autotests/render/for-iterator-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-iterator-attr/expected.html rename to test/autotests/render/for-iterator-attr/expected.html diff --git a/test/fixtures/render/autotest/for-iterator-attr/template.marko b/test/autotests/render/for-iterator-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-iterator-attr/template.marko rename to test/autotests/render/for-iterator-attr/template.marko diff --git a/test/fixtures/render/autotest/for-iterator-attr/test.js b/test/autotests/render/for-iterator-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-iterator-attr/test.js rename to test/autotests/render/for-iterator-attr/test.js diff --git a/test/fixtures/render/autotest/for-iterator-status-var-attr/expected.html b/test/autotests/render/for-iterator-status-var-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-iterator-status-var-attr/expected.html rename to test/autotests/render/for-iterator-status-var-attr/expected.html diff --git a/test/fixtures/render/autotest/for-iterator-status-var-attr/template.marko b/test/autotests/render/for-iterator-status-var-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-iterator-status-var-attr/template.marko rename to test/autotests/render/for-iterator-status-var-attr/template.marko diff --git a/test/fixtures/render/autotest/for-iterator-status-var-attr/test.js b/test/autotests/render/for-iterator-status-var-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-iterator-status-var-attr/test.js rename to test/autotests/render/for-iterator-status-var-attr/test.js diff --git a/test/fixtures/render/autotest/for-iterator-status-var/expected.html b/test/autotests/render/for-iterator-status-var/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-iterator-status-var/expected.html rename to test/autotests/render/for-iterator-status-var/expected.html diff --git a/test/fixtures/render/autotest/for-iterator-status-var/template.marko b/test/autotests/render/for-iterator-status-var/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-iterator-status-var/template.marko rename to test/autotests/render/for-iterator-status-var/template.marko diff --git a/test/fixtures/render/autotest/for-iterator-status-var/test.js b/test/autotests/render/for-iterator-status-var/test.js similarity index 100% rename from test/fixtures/render/autotest/for-iterator-status-var/test.js rename to test/autotests/render/for-iterator-status-var/test.js diff --git a/test/fixtures/render/autotest/for-iterator/expected.html b/test/autotests/render/for-iterator/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-iterator/expected.html rename to test/autotests/render/for-iterator/expected.html diff --git a/test/fixtures/render/autotest/for-iterator/template.marko b/test/autotests/render/for-iterator/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-iterator/template.marko rename to test/autotests/render/for-iterator/template.marko diff --git a/test/fixtures/render/autotest/for-iterator/test.js b/test/autotests/render/for-iterator/test.js similarity index 100% rename from test/fixtures/render/autotest/for-iterator/test.js rename to test/autotests/render/for-iterator/test.js diff --git a/test/fixtures/render/autotest/for-native/expected.html b/test/autotests/render/for-native/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-native/expected.html rename to test/autotests/render/for-native/expected.html diff --git a/test/fixtures/render/autotest/for-native/template.marko b/test/autotests/render/for-native/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-native/template.marko rename to test/autotests/render/for-native/template.marko diff --git a/test/fixtures/render/autotest/for-native/test.js b/test/autotests/render/for-native/test.js similarity index 100% rename from test/fixtures/render/autotest/for-native/test.js rename to test/autotests/render/for-native/test.js diff --git a/test/fixtures/render/autotest/for-props-attr/expected.html b/test/autotests/render/for-props-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-props-attr/expected.html rename to test/autotests/render/for-props-attr/expected.html diff --git a/test/fixtures/render/autotest/for-props-attr/template.marko b/test/autotests/render/for-props-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-props-attr/template.marko rename to test/autotests/render/for-props-attr/template.marko diff --git a/test/fixtures/render/autotest/for-props-attr/test.js b/test/autotests/render/for-props-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-props-attr/test.js rename to test/autotests/render/for-props-attr/test.js diff --git a/test/fixtures/render/autotest/for-props/expected.html b/test/autotests/render/for-props/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-props/expected.html rename to test/autotests/render/for-props/expected.html diff --git a/test/fixtures/render/autotest/for-props/template.marko b/test/autotests/render/for-props/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-props/template.marko rename to test/autotests/render/for-props/template.marko diff --git a/test/fixtures/render/autotest/for-props/test.js b/test/autotests/render/for-props/test.js similarity index 100% rename from test/fixtures/render/autotest/for-props/test.js rename to test/autotests/render/for-props/test.js diff --git a/test/fixtures/render/autotest/for-range-descending-step/expected.html b/test/autotests/render/for-range-descending-step/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range-descending-step/expected.html rename to test/autotests/render/for-range-descending-step/expected.html diff --git a/test/fixtures/render/autotest/for-range-descending-step/template.marko b/test/autotests/render/for-range-descending-step/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range-descending-step/template.marko rename to test/autotests/render/for-range-descending-step/template.marko diff --git a/test/fixtures/render/autotest/for-range-descending-step/test.js b/test/autotests/render/for-range-descending-step/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range-descending-step/test.js rename to test/autotests/render/for-range-descending-step/test.js diff --git a/test/fixtures/render/autotest/for-range-descending/expected.html b/test/autotests/render/for-range-descending/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range-descending/expected.html rename to test/autotests/render/for-range-descending/expected.html diff --git a/test/fixtures/render/autotest/for-range-descending/template.marko b/test/autotests/render/for-range-descending/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range-descending/template.marko rename to test/autotests/render/for-range-descending/template.marko diff --git a/test/fixtures/render/autotest/for-range-descending/test.js b/test/autotests/render/for-range-descending/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range-descending/test.js rename to test/autotests/render/for-range-descending/test.js diff --git a/test/fixtures/render/autotest/for-range-from-to-expr/expected.html b/test/autotests/render/for-range-from-to-expr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range-from-to-expr/expected.html rename to test/autotests/render/for-range-from-to-expr/expected.html diff --git a/test/fixtures/render/autotest/for-range-from-to-expr/template.marko b/test/autotests/render/for-range-from-to-expr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range-from-to-expr/template.marko rename to test/autotests/render/for-range-from-to-expr/template.marko diff --git a/test/fixtures/render/autotest/for-range-from-to-expr/test.js b/test/autotests/render/for-range-from-to-expr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range-from-to-expr/test.js rename to test/autotests/render/for-range-from-to-expr/test.js diff --git a/test/fixtures/render/autotest/for-range-step-2/expected.html b/test/autotests/render/for-range-step-2/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range-step-2/expected.html rename to test/autotests/render/for-range-step-2/expected.html diff --git a/test/fixtures/render/autotest/for-range-step-2/template.marko b/test/autotests/render/for-range-step-2/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range-step-2/template.marko rename to test/autotests/render/for-range-step-2/template.marko diff --git a/test/fixtures/render/autotest/for-range-step-2/test.js b/test/autotests/render/for-range-step-2/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range-step-2/test.js rename to test/autotests/render/for-range-step-2/test.js diff --git a/test/fixtures/render/autotest/for-range-step-neg2/expected.html b/test/autotests/render/for-range-step-neg2/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range-step-neg2/expected.html rename to test/autotests/render/for-range-step-neg2/expected.html diff --git a/test/fixtures/render/autotest/for-range-step-neg2/template.marko b/test/autotests/render/for-range-step-neg2/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range-step-neg2/template.marko rename to test/autotests/render/for-range-step-neg2/template.marko diff --git a/test/fixtures/render/autotest/for-range-step-neg2/test.js b/test/autotests/render/for-range-step-neg2/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range-step-neg2/test.js rename to test/autotests/render/for-range-step-neg2/test.js diff --git a/test/fixtures/render/autotest/for-range-to-expr/expected.html b/test/autotests/render/for-range-to-expr/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range-to-expr/expected.html rename to test/autotests/render/for-range-to-expr/expected.html diff --git a/test/fixtures/render/autotest/for-range-to-expr/template.marko b/test/autotests/render/for-range-to-expr/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range-to-expr/template.marko rename to test/autotests/render/for-range-to-expr/template.marko diff --git a/test/fixtures/render/autotest/for-range-to-expr/test.js b/test/autotests/render/for-range-to-expr/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range-to-expr/test.js rename to test/autotests/render/for-range-to-expr/test.js diff --git a/test/fixtures/render/autotest/for-range/expected.html b/test/autotests/render/for-range/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-range/expected.html rename to test/autotests/render/for-range/expected.html diff --git a/test/fixtures/render/autotest/for-range/template.marko b/test/autotests/render/for-range/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-range/template.marko rename to test/autotests/render/for-range/template.marko diff --git a/test/fixtures/render/autotest/for-range/test.js b/test/autotests/render/for-range/test.js similarity index 100% rename from test/fixtures/render/autotest/for-range/test.js rename to test/autotests/render/for-range/test.js diff --git a/test/fixtures/render/autotest/for-tag-invalid-option/expected.html b/test/autotests/render/for-tag-invalid-option/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-tag-invalid-option/expected.html rename to test/autotests/render/for-tag-invalid-option/expected.html diff --git a/test/fixtures/render/autotest/for-tag-invalid-option/template.marko b/test/autotests/render/for-tag-invalid-option/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-tag-invalid-option/template.marko rename to test/autotests/render/for-tag-invalid-option/template.marko diff --git a/test/fixtures/render/autotest/for-tag-invalid-option/test.js b/test/autotests/render/for-tag-invalid-option/test.js similarity index 100% rename from test/fixtures/render/autotest/for-tag-invalid-option/test.js rename to test/autotests/render/for-tag-invalid-option/test.js diff --git a/test/fixtures/render/autotest/for-tag-native/expected.html b/test/autotests/render/for-tag-native/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-tag-native/expected.html rename to test/autotests/render/for-tag-native/expected.html diff --git a/test/fixtures/render/autotest/for-tag-native/template.marko b/test/autotests/render/for-tag-native/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-tag-native/template.marko rename to test/autotests/render/for-tag-native/template.marko diff --git a/test/fixtures/render/autotest/for-tag-native/test.js b/test/autotests/render/for-tag-native/test.js similarity index 100% rename from test/fixtures/render/autotest/for-tag-native/test.js rename to test/autotests/render/for-tag-native/test.js diff --git a/test/fixtures/render/autotest/for-tag-separator-status-var/expected.html b/test/autotests/render/for-tag-separator-status-var/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-tag-separator-status-var/expected.html rename to test/autotests/render/for-tag-separator-status-var/expected.html diff --git a/test/fixtures/render/autotest/for-tag-separator-status-var/template.marko b/test/autotests/render/for-tag-separator-status-var/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-tag-separator-status-var/template.marko rename to test/autotests/render/for-tag-separator-status-var/template.marko diff --git a/test/fixtures/render/autotest/for-tag-separator-status-var/test.js b/test/autotests/render/for-tag-separator-status-var/test.js similarity index 100% rename from test/fixtures/render/autotest/for-tag-separator-status-var/test.js rename to test/autotests/render/for-tag-separator-status-var/test.js diff --git a/test/fixtures/render/autotest/for-tag-separator/expected.html b/test/autotests/render/for-tag-separator/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-tag-separator/expected.html rename to test/autotests/render/for-tag-separator/expected.html diff --git a/test/fixtures/render/autotest/for-tag-separator/template.marko b/test/autotests/render/for-tag-separator/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-tag-separator/template.marko rename to test/autotests/render/for-tag-separator/template.marko diff --git a/test/fixtures/render/autotest/for-tag-separator/test.js b/test/autotests/render/for-tag-separator/test.js similarity index 100% rename from test/fixtures/render/autotest/for-tag-separator/test.js rename to test/autotests/render/for-tag-separator/test.js diff --git a/test/fixtures/render/autotest/for-tag/expected.html b/test/autotests/render/for-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/for-tag/expected.html rename to test/autotests/render/for-tag/expected.html diff --git a/test/fixtures/render/autotest/for-tag/template.marko b/test/autotests/render/for-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/for-tag/template.marko rename to test/autotests/render/for-tag/template.marko diff --git a/test/fixtures/render/autotest/for-tag/test.js b/test/autotests/render/for-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/for-tag/test.js rename to test/autotests/render/for-tag/test.js diff --git a/test/fixtures/render/autotest/global-data/expected.html b/test/autotests/render/global-data/expected.html similarity index 100% rename from test/fixtures/render/autotest/global-data/expected.html rename to test/autotests/render/global-data/expected.html diff --git a/test/fixtures/render/autotest/global-data/template.marko b/test/autotests/render/global-data/template.marko similarity index 100% rename from test/fixtures/render/autotest/global-data/template.marko rename to test/autotests/render/global-data/template.marko diff --git a/test/fixtures/render/autotest/global-data/test.js b/test/autotests/render/global-data/test.js similarity index 100% rename from test/fixtures/render/autotest/global-data/test.js rename to test/autotests/render/global-data/test.js diff --git a/test/fixtures/render/autotest/hello-dynamic/expected.html b/test/autotests/render/hello-dynamic/expected.html similarity index 100% rename from test/fixtures/render/autotest/hello-dynamic/expected.html rename to test/autotests/render/hello-dynamic/expected.html diff --git a/test/fixtures/render/autotest/hello-dynamic/hello-dynamic.marko.expected.js b/test/autotests/render/hello-dynamic/hello-dynamic.marko.expected.js similarity index 100% rename from test/fixtures/render/autotest/hello-dynamic/hello-dynamic.marko.expected.js rename to test/autotests/render/hello-dynamic/hello-dynamic.marko.expected.js diff --git a/test/fixtures/render/autotest/hello-dynamic/template.marko b/test/autotests/render/hello-dynamic/template.marko similarity index 100% rename from test/fixtures/render/autotest/hello-dynamic/template.marko rename to test/autotests/render/hello-dynamic/template.marko diff --git a/test/fixtures/render/autotest/hello-dynamic/test.js b/test/autotests/render/hello-dynamic/test.js similarity index 100% rename from test/fixtures/render/autotest/hello-dynamic/test.js rename to test/autotests/render/hello-dynamic/test.js diff --git a/test/fixtures/render/autotest/hello-static/expected.html b/test/autotests/render/hello-static/expected.html similarity index 100% rename from test/fixtures/render/autotest/hello-static/expected.html rename to test/autotests/render/hello-static/expected.html diff --git a/test/fixtures/render/autotest/hello-static/template.marko b/test/autotests/render/hello-static/template.marko similarity index 100% rename from test/fixtures/render/autotest/hello-static/template.marko rename to test/autotests/render/hello-static/template.marko diff --git a/test/fixtures/render/autotest/hello-static/test.js b/test/autotests/render/hello-static/test.js similarity index 100% rename from test/fixtures/render/autotest/hello-static/test.js rename to test/autotests/render/hello-static/test.js diff --git a/test/fixtures/render/autotest/html-comment-tag/expected.html b/test/autotests/render/html-comment-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/html-comment-tag/expected.html rename to test/autotests/render/html-comment-tag/expected.html diff --git a/test/fixtures/render/autotest/html-comment-tag/template.marko b/test/autotests/render/html-comment-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/html-comment-tag/template.marko rename to test/autotests/render/html-comment-tag/template.marko diff --git a/test/fixtures/render/autotest/html-comment-tag/test.js b/test/autotests/render/html-comment-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/html-comment-tag/test.js rename to test/autotests/render/html-comment-tag/test.js diff --git a/test/fixtures/render/autotest/html-entities-body/expected.html b/test/autotests/render/html-entities-body/expected.html similarity index 100% rename from test/fixtures/render/autotest/html-entities-body/expected.html rename to test/autotests/render/html-entities-body/expected.html diff --git a/test/fixtures/render/autotest/html-entities-body/template.marko b/test/autotests/render/html-entities-body/template.marko similarity index 100% rename from test/fixtures/render/autotest/html-entities-body/template.marko rename to test/autotests/render/html-entities-body/template.marko diff --git a/test/fixtures/render/autotest/html-entities-body/test.js b/test/autotests/render/html-entities-body/test.js similarity index 100% rename from test/fixtures/render/autotest/html-entities-body/test.js rename to test/autotests/render/html-entities-body/test.js diff --git a/test/fixtures/render/autotest/html/expected.html b/test/autotests/render/html/expected.html similarity index 100% rename from test/fixtures/render/autotest/html/expected.html rename to test/autotests/render/html/expected.html diff --git a/test/fixtures/render/autotest/html/template.marko b/test/autotests/render/html/template.marko similarity index 100% rename from test/fixtures/render/autotest/html/template.marko rename to test/autotests/render/html/template.marko diff --git a/test/fixtures/render/autotest/html/test.js b/test/autotests/render/html/test.js similarity index 100% rename from test/fixtures/render/autotest/html/test.js rename to test/autotests/render/html/test.js diff --git a/test/fixtures/render/autotest/if-attr/expected.html b/test/autotests/render/if-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-attr/expected.html rename to test/autotests/render/if-attr/expected.html diff --git a/test/fixtures/render/autotest/if-attr/template.marko b/test/autotests/render/if-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-attr/template.marko rename to test/autotests/render/if-attr/template.marko diff --git a/test/fixtures/render/autotest/if-attr/test.js b/test/autotests/render/if-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/if-attr/test.js rename to test/autotests/render/if-attr/test.js diff --git a/test/fixtures/render/autotest/if-concise/expected.html b/test/autotests/render/if-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-concise/expected.html rename to test/autotests/render/if-concise/expected.html diff --git a/test/fixtures/render/autotest/if-concise/template.marko b/test/autotests/render/if-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-concise/template.marko rename to test/autotests/render/if-concise/template.marko diff --git a/test/fixtures/render/autotest/if-concise/test.js b/test/autotests/render/if-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/if-concise/test.js rename to test/autotests/render/if-concise/test.js diff --git a/test/fixtures/render/autotest/if-else-attr/expected.html b/test/autotests/render/if-else-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-attr/expected.html rename to test/autotests/render/if-else-attr/expected.html diff --git a/test/fixtures/render/autotest/if-else-attr/template.marko b/test/autotests/render/if-else-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-attr/template.marko rename to test/autotests/render/if-else-attr/template.marko diff --git a/test/fixtures/render/autotest/if-else-attr/test.js b/test/autotests/render/if-else-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-attr/test.js rename to test/autotests/render/if-else-attr/test.js diff --git a/test/fixtures/render/autotest/if-else-concise/expected.html b/test/autotests/render/if-else-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-concise/expected.html rename to test/autotests/render/if-else-concise/expected.html diff --git a/test/fixtures/render/autotest/if-else-concise/template.marko b/test/autotests/render/if-else-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-concise/template.marko rename to test/autotests/render/if-else-concise/template.marko diff --git a/test/fixtures/render/autotest/if-else-concise/test.js b/test/autotests/render/if-else-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-concise/test.js rename to test/autotests/render/if-else-concise/test.js diff --git a/test/fixtures/render/autotest/if-else-if-attr/expected.html b/test/autotests/render/if-else-if-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-if-attr/expected.html rename to test/autotests/render/if-else-if-attr/expected.html diff --git a/test/fixtures/render/autotest/if-else-if-attr/template.marko b/test/autotests/render/if-else-if-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-if-attr/template.marko rename to test/autotests/render/if-else-if-attr/template.marko diff --git a/test/fixtures/render/autotest/if-else-if-attr/test.js b/test/autotests/render/if-else-if-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-if-attr/test.js rename to test/autotests/render/if-else-if-attr/test.js diff --git a/test/fixtures/render/autotest/if-else-if-concise/expected.html b/test/autotests/render/if-else-if-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-if-concise/expected.html rename to test/autotests/render/if-else-if-concise/expected.html diff --git a/test/fixtures/render/autotest/if-else-if-concise/template.marko b/test/autotests/render/if-else-if-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-if-concise/template.marko rename to test/autotests/render/if-else-if-concise/template.marko diff --git a/test/fixtures/render/autotest/if-else-if-concise/test.js b/test/autotests/render/if-else-if-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-if-concise/test.js rename to test/autotests/render/if-else-if-concise/test.js diff --git a/test/fixtures/render/autotest/if-else-if-else-attr/expected.html b/test/autotests/render/if-else-if-else-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else-attr/expected.html rename to test/autotests/render/if-else-if-else-attr/expected.html diff --git a/test/fixtures/render/autotest/if-else-if-else-attr/template.marko b/test/autotests/render/if-else-if-else-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else-attr/template.marko rename to test/autotests/render/if-else-if-else-attr/template.marko diff --git a/test/fixtures/render/autotest/if-else-if-else-attr/test.js b/test/autotests/render/if-else-if-else-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else-attr/test.js rename to test/autotests/render/if-else-if-else-attr/test.js diff --git a/test/fixtures/render/autotest/if-else-if-else-concise/expected.html b/test/autotests/render/if-else-if-else-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else-concise/expected.html rename to test/autotests/render/if-else-if-else-concise/expected.html diff --git a/test/fixtures/render/autotest/if-else-if-else-concise/template.marko b/test/autotests/render/if-else-if-else-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else-concise/template.marko rename to test/autotests/render/if-else-if-else-concise/template.marko diff --git a/test/fixtures/render/autotest/if-else-if-else-concise/test.js b/test/autotests/render/if-else-if-else-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else-concise/test.js rename to test/autotests/render/if-else-if-else-concise/test.js diff --git a/test/fixtures/render/autotest/if-else-if-else/expected.html b/test/autotests/render/if-else-if-else/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else/expected.html rename to test/autotests/render/if-else-if-else/expected.html diff --git a/test/fixtures/render/autotest/if-else-if-else/template.marko b/test/autotests/render/if-else-if-else/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else/template.marko rename to test/autotests/render/if-else-if-else/template.marko diff --git a/test/fixtures/render/autotest/if-else-if-else/test.js b/test/autotests/render/if-else-if-else/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-if-else/test.js rename to test/autotests/render/if-else-if-else/test.js diff --git a/test/fixtures/render/autotest/if-else-if/expected.html b/test/autotests/render/if-else-if/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else-if/expected.html rename to test/autotests/render/if-else-if/expected.html diff --git a/test/fixtures/render/autotest/if-else-if/template.marko b/test/autotests/render/if-else-if/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else-if/template.marko rename to test/autotests/render/if-else-if/template.marko diff --git a/test/fixtures/render/autotest/if-else-if/test.js b/test/autotests/render/if-else-if/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else-if/test.js rename to test/autotests/render/if-else-if/test.js diff --git a/test/fixtures/render/autotest/if-else/expected.html b/test/autotests/render/if-else/expected.html similarity index 100% rename from test/fixtures/render/autotest/if-else/expected.html rename to test/autotests/render/if-else/expected.html diff --git a/test/fixtures/render/autotest/if-else/template.marko b/test/autotests/render/if-else/template.marko similarity index 100% rename from test/fixtures/render/autotest/if-else/template.marko rename to test/autotests/render/if-else/template.marko diff --git a/test/fixtures/render/autotest/if-else/test.js b/test/autotests/render/if-else/test.js similarity index 100% rename from test/fixtures/render/autotest/if-else/test.js rename to test/autotests/render/if-else/test.js diff --git a/test/fixtures/render/autotest/if/expected.html b/test/autotests/render/if/expected.html similarity index 100% rename from test/fixtures/render/autotest/if/expected.html rename to test/autotests/render/if/expected.html diff --git a/test/fixtures/render/autotest/if/template.marko b/test/autotests/render/if/template.marko similarity index 100% rename from test/fixtures/render/autotest/if/template.marko rename to test/autotests/render/if/template.marko diff --git a/test/fixtures/render/autotest/if/test.js b/test/autotests/render/if/test.js similarity index 100% rename from test/fixtures/render/autotest/if/test.js rename to test/autotests/render/if/test.js diff --git a/test/fixtures/render/autotest/img/expected.html b/test/autotests/render/img/expected.html similarity index 100% rename from test/fixtures/render/autotest/img/expected.html rename to test/autotests/render/img/expected.html diff --git a/test/fixtures/render/autotest/img/template.marko b/test/autotests/render/img/template.marko similarity index 100% rename from test/fixtures/render/autotest/img/template.marko rename to test/autotests/render/img/template.marko diff --git a/test/fixtures/render/autotest/img/test.js b/test/autotests/render/img/test.js similarity index 100% rename from test/fixtures/render/autotest/img/test.js rename to test/autotests/render/img/test.js diff --git a/test/fixtures/render/autotest/include-body-empty/expected.html b/test/autotests/render/include-body-empty/expected.html similarity index 100% rename from test/fixtures/render/autotest/include-body-empty/expected.html rename to test/autotests/render/include-body-empty/expected.html diff --git a/test/fixtures/render/autotest/include-body-empty/include-target.marko b/test/autotests/render/include-body-empty/include-target.marko similarity index 100% rename from test/fixtures/render/autotest/include-body-empty/include-target.marko rename to test/autotests/render/include-body-empty/include-target.marko diff --git a/test/fixtures/render/autotest/include-body-empty/template.marko b/test/autotests/render/include-body-empty/template.marko similarity index 100% rename from test/fixtures/render/autotest/include-body-empty/template.marko rename to test/autotests/render/include-body-empty/template.marko diff --git a/test/fixtures/render/autotest/include-body-empty/test.js b/test/autotests/render/include-body-empty/test.js similarity index 100% rename from test/fixtures/render/autotest/include-body-empty/test.js rename to test/autotests/render/include-body-empty/test.js diff --git a/test/fixtures/render/autotest/include-body/expected.html b/test/autotests/render/include-body/expected.html similarity index 100% rename from test/fixtures/render/autotest/include-body/expected.html rename to test/autotests/render/include-body/expected.html diff --git a/test/fixtures/render/autotest/include-body/include-target.marko b/test/autotests/render/include-body/include-target.marko similarity index 100% rename from test/fixtures/render/autotest/include-body/include-target.marko rename to test/autotests/render/include-body/include-target.marko diff --git a/test/fixtures/render/autotest/include-body/template.marko b/test/autotests/render/include-body/template.marko similarity index 100% rename from test/fixtures/render/autotest/include-body/template.marko rename to test/autotests/render/include-body/template.marko diff --git a/test/fixtures/render/autotest/include-body/test.js b/test/autotests/render/include-body/test.js similarity index 100% rename from test/fixtures/render/autotest/include-body/test.js rename to test/autotests/render/include-body/test.js diff --git a/test/fixtures/render/autotest/include-data-body/expected.html b/test/autotests/render/include-data-body/expected.html similarity index 100% rename from test/fixtures/render/autotest/include-data-body/expected.html rename to test/autotests/render/include-data-body/expected.html diff --git a/test/fixtures/render/autotest/include-data-body/include-target.marko b/test/autotests/render/include-data-body/include-target.marko similarity index 100% rename from test/fixtures/render/autotest/include-data-body/include-target.marko rename to test/autotests/render/include-data-body/include-target.marko diff --git a/test/fixtures/render/autotest/include-data-body/template.marko b/test/autotests/render/include-data-body/template.marko similarity index 100% rename from test/fixtures/render/autotest/include-data-body/template.marko rename to test/autotests/render/include-data-body/template.marko diff --git a/test/fixtures/render/autotest/include-data-body/test.js b/test/autotests/render/include-data-body/test.js similarity index 100% rename from test/fixtures/render/autotest/include-data-body/test.js rename to test/autotests/render/include-data-body/test.js diff --git a/test/fixtures/render/autotest/include-data/expected.html b/test/autotests/render/include-data/expected.html similarity index 100% rename from test/fixtures/render/autotest/include-data/expected.html rename to test/autotests/render/include-data/expected.html diff --git a/test/fixtures/render/autotest/include-data/include-target.marko b/test/autotests/render/include-data/include-target.marko similarity index 100% rename from test/fixtures/render/autotest/include-data/include-target.marko rename to test/autotests/render/include-data/include-target.marko diff --git a/test/fixtures/render/autotest/include-data/template.marko b/test/autotests/render/include-data/template.marko similarity index 100% rename from test/fixtures/render/autotest/include-data/template.marko rename to test/autotests/render/include-data/template.marko diff --git a/test/fixtures/render/autotest/include-data/test.js b/test/autotests/render/include-data/test.js similarity index 100% rename from test/fixtures/render/autotest/include-data/test.js rename to test/autotests/render/include-data/test.js diff --git a/test/fixtures/render/autotest/include-dynamic/expected.html b/test/autotests/render/include-dynamic/expected.html similarity index 100% rename from test/fixtures/render/autotest/include-dynamic/expected.html rename to test/autotests/render/include-dynamic/expected.html diff --git a/test/fixtures/render/autotest/include-dynamic/include-target.marko b/test/autotests/render/include-dynamic/include-target.marko similarity index 100% rename from test/fixtures/render/autotest/include-dynamic/include-target.marko rename to test/autotests/render/include-dynamic/include-target.marko diff --git a/test/fixtures/render/autotest/include-dynamic/template.marko b/test/autotests/render/include-dynamic/template.marko similarity index 100% rename from test/fixtures/render/autotest/include-dynamic/template.marko rename to test/autotests/render/include-dynamic/template.marko diff --git a/test/fixtures/render/autotest/include-dynamic/test.js b/test/autotests/render/include-dynamic/test.js similarity index 100% rename from test/fixtures/render/autotest/include-dynamic/test.js rename to test/autotests/render/include-dynamic/test.js diff --git a/test/fixtures/render/autotest/include-text/expected.html b/test/autotests/render/include-text/expected.html similarity index 100% rename from test/fixtures/render/autotest/include-text/expected.html rename to test/autotests/render/include-text/expected.html diff --git a/test/fixtures/render/autotest/include-text/include-resource-target.txt b/test/autotests/render/include-text/include-resource-target.txt similarity index 100% rename from test/fixtures/render/autotest/include-text/include-resource-target.txt rename to test/autotests/render/include-text/include-resource-target.txt diff --git a/test/fixtures/render/autotest/include-text/template.marko b/test/autotests/render/include-text/template.marko similarity index 100% rename from test/fixtures/render/autotest/include-text/template.marko rename to test/autotests/render/include-text/template.marko diff --git a/test/fixtures/render/autotest/include-text/test.js b/test/autotests/render/include-text/test.js similarity index 100% rename from test/fixtures/render/autotest/include-text/test.js rename to test/autotests/render/include-text/test.js diff --git a/test/fixtures/render/autotest/include/expected.html b/test/autotests/render/include/expected.html similarity index 100% rename from test/fixtures/render/autotest/include/expected.html rename to test/autotests/render/include/expected.html diff --git a/test/fixtures/render/autotest/include/include-target.marko b/test/autotests/render/include/include-target.marko similarity index 100% rename from test/fixtures/render/autotest/include/include-target.marko rename to test/autotests/render/include/include-target.marko diff --git a/test/fixtures/render/autotest/include/template.marko b/test/autotests/render/include/template.marko similarity index 100% rename from test/fixtures/render/autotest/include/template.marko rename to test/autotests/render/include/template.marko diff --git a/test/fixtures/render/autotest/include/test.js b/test/autotests/render/include/test.js similarity index 100% rename from test/fixtures/render/autotest/include/test.js rename to test/autotests/render/include/test.js diff --git a/test/fixtures/render/autotest/inline-script/expected.html b/test/autotests/render/inline-script/expected.html similarity index 100% rename from test/fixtures/render/autotest/inline-script/expected.html rename to test/autotests/render/inline-script/expected.html diff --git a/test/fixtures/render/autotest/inline-script/template.marko b/test/autotests/render/inline-script/template.marko similarity index 100% rename from test/fixtures/render/autotest/inline-script/template.marko rename to test/autotests/render/inline-script/template.marko diff --git a/test/fixtures/render/autotest/inline-script/test.js b/test/autotests/render/inline-script/test.js similarity index 100% rename from test/fixtures/render/autotest/inline-script/test.js rename to test/autotests/render/inline-script/test.js diff --git a/test/fixtures/render/autotest/invoke/expected.html b/test/autotests/render/invoke/expected.html similarity index 100% rename from test/fixtures/render/autotest/invoke/expected.html rename to test/autotests/render/invoke/expected.html diff --git a/test/fixtures/render/autotest/invoke/template.marko b/test/autotests/render/invoke/template.marko similarity index 100% rename from test/fixtures/render/autotest/invoke/template.marko rename to test/autotests/render/invoke/template.marko diff --git a/test/fixtures/render/autotest/invoke/test.js b/test/autotests/render/invoke/test.js similarity index 100% rename from test/fixtures/render/autotest/invoke/test.js rename to test/autotests/render/invoke/test.js diff --git a/test/fixtures/render/autotest/label-for/expected.html b/test/autotests/render/label-for/expected.html similarity index 100% rename from test/fixtures/render/autotest/label-for/expected.html rename to test/autotests/render/label-for/expected.html diff --git a/test/fixtures/render/autotest/label-for/template.marko b/test/autotests/render/label-for/template.marko similarity index 100% rename from test/fixtures/render/autotest/label-for/template.marko rename to test/autotests/render/label-for/template.marko diff --git a/test/fixtures/render/autotest/label-for/test.js b/test/autotests/render/label-for/test.js similarity index 100% rename from test/fixtures/render/autotest/label-for/test.js rename to test/autotests/render/label-for/test.js diff --git a/test/fixtures/render/autotest/layout-use-data-attrs/expected.html b/test/autotests/render/layout-use-data-attrs/expected.html similarity index 100% rename from test/fixtures/render/autotest/layout-use-data-attrs/expected.html rename to test/autotests/render/layout-use-data-attrs/expected.html diff --git a/test/fixtures/render/autotest/layout-use-data-attrs/layout-default.marko b/test/autotests/render/layout-use-data-attrs/layout-default.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use-data-attrs/layout-default.marko rename to test/autotests/render/layout-use-data-attrs/layout-default.marko diff --git a/test/fixtures/render/autotest/layout-use-data-attrs/template.marko b/test/autotests/render/layout-use-data-attrs/template.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use-data-attrs/template.marko rename to test/autotests/render/layout-use-data-attrs/template.marko diff --git a/test/fixtures/render/autotest/layout-use-data-attrs/test.js b/test/autotests/render/layout-use-data-attrs/test.js similarity index 100% rename from test/fixtures/render/autotest/layout-use-data-attrs/test.js rename to test/autotests/render/layout-use-data-attrs/test.js diff --git a/test/fixtures/render/autotest/layout-use-data/expected.html b/test/autotests/render/layout-use-data/expected.html similarity index 100% rename from test/fixtures/render/autotest/layout-use-data/expected.html rename to test/autotests/render/layout-use-data/expected.html diff --git a/test/fixtures/render/autotest/layout-use-data/layout-default.marko b/test/autotests/render/layout-use-data/layout-default.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use-data/layout-default.marko rename to test/autotests/render/layout-use-data/layout-default.marko diff --git a/test/fixtures/render/autotest/layout-use-data/template.marko b/test/autotests/render/layout-use-data/template.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use-data/template.marko rename to test/autotests/render/layout-use-data/template.marko diff --git a/test/fixtures/render/autotest/layout-use-data/test.js b/test/autotests/render/layout-use-data/test.js similarity index 100% rename from test/fixtures/render/autotest/layout-use-data/test.js rename to test/autotests/render/layout-use-data/test.js diff --git a/test/fixtures/render/autotest/layout-use-html-ext/.gitignore b/test/autotests/render/layout-use-html-ext/.gitignore similarity index 100% rename from test/fixtures/render/autotest/layout-use-html-ext/.gitignore rename to test/autotests/render/layout-use-html-ext/.gitignore diff --git a/test/fixtures/render/autotest/layout-use-html-ext/expected.html b/test/autotests/render/layout-use-html-ext/expected.html similarity index 100% rename from test/fixtures/render/autotest/layout-use-html-ext/expected.html rename to test/autotests/render/layout-use-html-ext/expected.html diff --git a/test/fixtures/render/autotest/layout-use-html-ext/layout-default.html b/test/autotests/render/layout-use-html-ext/layout-default.html similarity index 100% rename from test/fixtures/render/autotest/layout-use-html-ext/layout-default.html rename to test/autotests/render/layout-use-html-ext/layout-default.html diff --git a/test/fixtures/render/autotest/layout-use-html-ext/template.marko b/test/autotests/render/layout-use-html-ext/template.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use-html-ext/template.marko rename to test/autotests/render/layout-use-html-ext/template.marko diff --git a/test/fixtures/render/autotest/layout-use-html-ext/test.js b/test/autotests/render/layout-use-html-ext/test.js similarity index 100% rename from test/fixtures/render/autotest/layout-use-html-ext/test.js rename to test/autotests/render/layout-use-html-ext/test.js diff --git a/test/fixtures/render/autotest/layout-use/expected.html b/test/autotests/render/layout-use/expected.html similarity index 100% rename from test/fixtures/render/autotest/layout-use/expected.html rename to test/autotests/render/layout-use/expected.html diff --git a/test/fixtures/render/autotest/layout-use/layout-default.marko b/test/autotests/render/layout-use/layout-default.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use/layout-default.marko rename to test/autotests/render/layout-use/layout-default.marko diff --git a/test/fixtures/render/autotest/layout-use/template.marko b/test/autotests/render/layout-use/template.marko similarity index 100% rename from test/fixtures/render/autotest/layout-use/template.marko rename to test/autotests/render/layout-use/template.marko diff --git a/test/fixtures/render/autotest/layout-use/test.js b/test/autotests/render/layout-use/test.js similarity index 100% rename from test/fixtures/render/autotest/layout-use/test.js rename to test/autotests/render/layout-use/test.js diff --git a/test/fixtures/render/autotest/macro-body/expected.html b/test/autotests/render/macro-body/expected.html similarity index 100% rename from test/fixtures/render/autotest/macro-body/expected.html rename to test/autotests/render/macro-body/expected.html diff --git a/test/fixtures/render/autotest/macro-body/template.marko b/test/autotests/render/macro-body/template.marko similarity index 100% rename from test/fixtures/render/autotest/macro-body/template.marko rename to test/autotests/render/macro-body/template.marko diff --git a/test/fixtures/render/autotest/macro-body/test.js b/test/autotests/render/macro-body/test.js similarity index 100% rename from test/fixtures/render/autotest/macro-body/test.js rename to test/autotests/render/macro-body/test.js diff --git a/test/fixtures/render/autotest/macro-boolean/expected.html b/test/autotests/render/macro-boolean/expected.html similarity index 100% rename from test/fixtures/render/autotest/macro-boolean/expected.html rename to test/autotests/render/macro-boolean/expected.html diff --git a/test/fixtures/render/autotest/macro-boolean/template.marko b/test/autotests/render/macro-boolean/template.marko similarity index 100% rename from test/fixtures/render/autotest/macro-boolean/template.marko rename to test/autotests/render/macro-boolean/template.marko diff --git a/test/fixtures/render/autotest/macro-boolean/test.js b/test/autotests/render/macro-boolean/test.js similarity index 100% rename from test/fixtures/render/autotest/macro-boolean/test.js rename to test/autotests/render/macro-boolean/test.js diff --git a/test/fixtures/render/autotest/macro-no-args/expected.html b/test/autotests/render/macro-no-args/expected.html similarity index 100% rename from test/fixtures/render/autotest/macro-no-args/expected.html rename to test/autotests/render/macro-no-args/expected.html diff --git a/test/fixtures/render/autotest/macro-no-args/template.marko b/test/autotests/render/macro-no-args/template.marko similarity index 100% rename from test/fixtures/render/autotest/macro-no-args/template.marko rename to test/autotests/render/macro-no-args/template.marko diff --git a/test/fixtures/render/autotest/macro-no-args/test.js b/test/autotests/render/macro-no-args/test.js similarity index 100% rename from test/fixtures/render/autotest/macro-no-args/test.js rename to test/autotests/render/macro-no-args/test.js diff --git a/test/fixtures/render/autotest/macro-positional-args/expected.html b/test/autotests/render/macro-positional-args/expected.html similarity index 100% rename from test/fixtures/render/autotest/macro-positional-args/expected.html rename to test/autotests/render/macro-positional-args/expected.html diff --git a/test/fixtures/render/autotest/macro-positional-args/template.marko b/test/autotests/render/macro-positional-args/template.marko similarity index 100% rename from test/fixtures/render/autotest/macro-positional-args/template.marko rename to test/autotests/render/macro-positional-args/template.marko diff --git a/test/fixtures/render/autotest/macro-positional-args/test.js b/test/autotests/render/macro-positional-args/test.js similarity index 100% rename from test/fixtures/render/autotest/macro-positional-args/test.js rename to test/autotests/render/macro-positional-args/test.js diff --git a/test/fixtures/render/autotest/macro/expected.html b/test/autotests/render/macro/expected.html similarity index 100% rename from test/fixtures/render/autotest/macro/expected.html rename to test/autotests/render/macro/expected.html diff --git a/test/fixtures/render/autotest/macro/template.marko b/test/autotests/render/macro/template.marko similarity index 100% rename from test/fixtures/render/autotest/macro/template.marko rename to test/autotests/render/macro/template.marko diff --git a/test/fixtures/render/autotest/macro/test.js b/test/autotests/render/macro/test.js similarity index 100% rename from test/fixtures/render/autotest/macro/test.js rename to test/autotests/render/macro/test.js diff --git a/test/fixtures/render/autotest/marko-body-attr-parsed-text/expected.html b/test/autotests/render/marko-body-attr-parsed-text/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-body-attr-parsed-text/expected.html rename to test/autotests/render/marko-body-attr-parsed-text/expected.html diff --git a/test/fixtures/render/autotest/marko-body-attr-parsed-text/template.marko b/test/autotests/render/marko-body-attr-parsed-text/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-body-attr-parsed-text/template.marko rename to test/autotests/render/marko-body-attr-parsed-text/template.marko diff --git a/test/fixtures/render/autotest/marko-body-attr-parsed-text/test.js b/test/autotests/render/marko-body-attr-parsed-text/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-body-attr-parsed-text/test.js rename to test/autotests/render/marko-body-attr-parsed-text/test.js diff --git a/test/fixtures/render/autotest/marko-body-attr-static-text/expected.html b/test/autotests/render/marko-body-attr-static-text/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-body-attr-static-text/expected.html rename to test/autotests/render/marko-body-attr-static-text/expected.html diff --git a/test/fixtures/render/autotest/marko-body-attr-static-text/template.marko b/test/autotests/render/marko-body-attr-static-text/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-body-attr-static-text/template.marko rename to test/autotests/render/marko-body-attr-static-text/template.marko diff --git a/test/fixtures/render/autotest/marko-body-attr-static-text/test.js b/test/autotests/render/marko-body-attr-static-text/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-body-attr-static-text/test.js rename to test/autotests/render/marko-body-attr-static-text/test.js diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-comments/expected.html b/test/autotests/render/marko-compiler-options-preserve-comments/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-comments/expected.html rename to test/autotests/render/marko-compiler-options-preserve-comments/expected.html diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-comments/template.marko b/test/autotests/render/marko-compiler-options-preserve-comments/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-comments/template.marko rename to test/autotests/render/marko-compiler-options-preserve-comments/template.marko diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-comments/test.js b/test/autotests/render/marko-compiler-options-preserve-comments/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-comments/test.js rename to test/autotests/render/marko-compiler-options-preserve-comments/test.js diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace-trim/expected.html b/test/autotests/render/marko-compiler-options-preserve-whitespace-trim/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace-trim/expected.html rename to test/autotests/render/marko-compiler-options-preserve-whitespace-trim/expected.html diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace-trim/template.marko b/test/autotests/render/marko-compiler-options-preserve-whitespace-trim/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace-trim/template.marko rename to test/autotests/render/marko-compiler-options-preserve-whitespace-trim/template.marko diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace-trim/test.js b/test/autotests/render/marko-compiler-options-preserve-whitespace-trim/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace-trim/test.js rename to test/autotests/render/marko-compiler-options-preserve-whitespace-trim/test.js diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace/expected.html b/test/autotests/render/marko-compiler-options-preserve-whitespace/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace/expected.html rename to test/autotests/render/marko-compiler-options-preserve-whitespace/expected.html diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace/template.marko b/test/autotests/render/marko-compiler-options-preserve-whitespace/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace/template.marko rename to test/autotests/render/marko-compiler-options-preserve-whitespace/template.marko diff --git a/test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace/test.js b/test/autotests/render/marko-compiler-options-preserve-whitespace/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-compiler-options-preserve-whitespace/test.js rename to test/autotests/render/marko-compiler-options-preserve-whitespace/test.js diff --git a/test/fixtures/render/autotest/marko-preserve-whitespace-attr/expected.html b/test/autotests/render/marko-preserve-whitespace-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-preserve-whitespace-attr/expected.html rename to test/autotests/render/marko-preserve-whitespace-attr/expected.html diff --git a/test/fixtures/render/autotest/marko-preserve-whitespace-attr/template.marko b/test/autotests/render/marko-preserve-whitespace-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-preserve-whitespace-attr/template.marko rename to test/autotests/render/marko-preserve-whitespace-attr/template.marko diff --git a/test/fixtures/render/autotest/marko-preserve-whitespace-attr/test.js b/test/autotests/render/marko-preserve-whitespace-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-preserve-whitespace-attr/test.js rename to test/autotests/render/marko-preserve-whitespace-attr/test.js diff --git a/test/fixtures/render/autotest/marko-preserve-whitespace-tag/expected.html b/test/autotests/render/marko-preserve-whitespace-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/marko-preserve-whitespace-tag/expected.html rename to test/autotests/render/marko-preserve-whitespace-tag/expected.html diff --git a/test/fixtures/render/autotest/marko-preserve-whitespace-tag/template.marko b/test/autotests/render/marko-preserve-whitespace-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/marko-preserve-whitespace-tag/template.marko rename to test/autotests/render/marko-preserve-whitespace-tag/template.marko diff --git a/test/fixtures/render/autotest/marko-preserve-whitespace-tag/test.js b/test/autotests/render/marko-preserve-whitespace-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/marko-preserve-whitespace-tag/test.js rename to test/autotests/render/marko-preserve-whitespace-tag/test.js diff --git a/test/fixtures/render/autotest/nested-tags-concise/expected.html b/test/autotests/render/nested-tags-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags-concise/expected.html rename to test/autotests/render/nested-tags-concise/expected.html diff --git a/test/autotests/render/nested-tags-concise/marko.json b/test/autotests/render/nested-tags-concise/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags-concise/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/render/autotest/syntax-concise/tabs/marko-tag.json b/test/autotests/render/nested-tags-concise/tags/test-nested-tags-tabs/marko-tag.json similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/tabs/marko-tag.json rename to test/autotests/render/nested-tags-concise/tags/test-nested-tags-tabs/marko-tag.json diff --git a/test/fixtures/render/autotest/syntax-concise/tabs/renderer.js b/test/autotests/render/nested-tags-concise/tags/test-nested-tags-tabs/renderer.js similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/tabs/renderer.js rename to test/autotests/render/nested-tags-concise/tags/test-nested-tags-tabs/renderer.js diff --git a/test/fixtures/render/autotest/syntax-concise/tabs/template.marko b/test/autotests/render/nested-tags-concise/tags/test-nested-tags-tabs/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/tabs/template.marko rename to test/autotests/render/nested-tags-concise/tags/test-nested-tags-tabs/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-concise/template.marko b/test/autotests/render/nested-tags-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags-concise/template.marko rename to test/autotests/render/nested-tags-concise/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-concise/test.js b/test/autotests/render/nested-tags-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags-concise/test.js rename to test/autotests/render/nested-tags-concise/test.js diff --git a/test/fixtures/render/autotest/nested-tags-deep/expected.html b/test/autotests/render/nested-tags-deep/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags-deep/expected.html rename to test/autotests/render/nested-tags-deep/expected.html diff --git a/test/autotests/render/nested-tags-deep/marko.json b/test/autotests/render/nested-tags-deep/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags-deep/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-deep/marko-tag.json b/test/autotests/render/nested-tags-deep/tags/test-nested-tags-deep/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-deep/marko-tag.json rename to test/autotests/render/nested-tags-deep/tags/test-nested-tags-deep/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-deep/renderer.js b/test/autotests/render/nested-tags-deep/tags/test-nested-tags-deep/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-deep/renderer.js rename to test/autotests/render/nested-tags-deep/tags/test-nested-tags-deep/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-deep/template.marko b/test/autotests/render/nested-tags-deep/tags/test-nested-tags-deep/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-deep/template.marko rename to test/autotests/render/nested-tags-deep/tags/test-nested-tags-deep/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-deep/template.marko b/test/autotests/render/nested-tags-deep/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags-deep/template.marko rename to test/autotests/render/nested-tags-deep/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-deep/test.js b/test/autotests/render/nested-tags-deep/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags-deep/test.js rename to test/autotests/render/nested-tags-deep/test.js diff --git a/test/fixtures/render/autotest/nested-tags-empty-body/expected.html b/test/autotests/render/nested-tags-empty-body/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags-empty-body/expected.html rename to test/autotests/render/nested-tags-empty-body/expected.html diff --git a/test/autotests/render/nested-tags-empty-body/marko.json b/test/autotests/render/nested-tags-empty-body/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags-empty-body/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/render/autotest/syntax-mixed/tabs/marko-tag.json b/test/autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs/marko-tag.json similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/tabs/marko-tag.json rename to test/autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs/marko-tag.json diff --git a/test/fixtures/render/autotest/syntax-mixed/tabs/renderer.js b/test/autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs/renderer.js similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/tabs/renderer.js rename to test/autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs/renderer.js diff --git a/test/fixtures/render/autotest/syntax-mixed/tabs/template.marko b/test/autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/tabs/template.marko rename to test/autotests/render/nested-tags-empty-body/tags/test-nested-tags-tabs/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-empty-body/template.marko b/test/autotests/render/nested-tags-empty-body/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags-empty-body/template.marko rename to test/autotests/render/nested-tags-empty-body/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-empty-body/test.js b/test/autotests/render/nested-tags-empty-body/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags-empty-body/test.js rename to test/autotests/render/nested-tags-empty-body/test.js diff --git a/test/fixtures/render/autotest/nested-tags-repeated-parent/expected.html b/test/autotests/render/nested-tags-repeated-parent/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags-repeated-parent/expected.html rename to test/autotests/render/nested-tags-repeated-parent/expected.html diff --git a/test/autotests/render/nested-tags-repeated-parent/marko.json b/test/autotests/render/nested-tags-repeated-parent/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags-repeated-parent/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/marko-tag.json b/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/marko-tag.json new file mode 100644 index 000000000..9686a762c --- /dev/null +++ b/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/marko-tag.json @@ -0,0 +1,23 @@ +{ + "renderer": "./renderer", + "@header
": { + "@class": { + "type": "string", + "target-property": "className" + } + }, + "@body ": { + "@class": { + "type": "string", + "target-property": "className" + } + }, + "nested-tags": { + "footer": { + "@class": { + "type": "string", + "target-property": "className" + } + } + } +} \ No newline at end of file diff --git a/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js b/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js new file mode 100644 index 000000000..4e53ffda8 --- /dev/null +++ b/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js @@ -0,0 +1,14 @@ +var template = require('./template.marko'); + +exports.renderer = function(input, out) { + var header = input.header; + var body = input.body; + var footer = input.footer; + + template.render({ + header: header, + body: body, + footer: footer + }, out); + +}; \ No newline at end of file diff --git a/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/template.marko b/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/template.marko new file mode 100644 index 000000000..c4a7bf39e --- /dev/null +++ b/test/autotests/render/nested-tags-repeated-parent/tags/test-nested-tags-overlay/template.marko @@ -0,0 +1,13 @@ +
+
+ +
+ +
+ +
+ + +
\ No newline at end of file diff --git a/test/fixtures/render/autotest/nested-tags-repeated-parent/template.marko b/test/autotests/render/nested-tags-repeated-parent/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags-repeated-parent/template.marko rename to test/autotests/render/nested-tags-repeated-parent/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-repeated-parent/test.js b/test/autotests/render/nested-tags-repeated-parent/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags-repeated-parent/test.js rename to test/autotests/render/nested-tags-repeated-parent/test.js diff --git a/test/fixtures/render/autotest/nested-tags-repeated/expected.html b/test/autotests/render/nested-tags-repeated/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags-repeated/expected.html rename to test/autotests/render/nested-tags-repeated/expected.html diff --git a/test/autotests/render/nested-tags-repeated/marko.json b/test/autotests/render/nested-tags-repeated/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags-repeated/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/render/autotest/syntax-verbose/tabs/marko-tag.json b/test/autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs/marko-tag.json similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/tabs/marko-tag.json rename to test/autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs/marko-tag.json diff --git a/test/fixtures/render/autotest/syntax-verbose/tabs/renderer.js b/test/autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs/renderer.js similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/tabs/renderer.js rename to test/autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs/renderer.js diff --git a/test/fixtures/render/autotest/syntax-verbose/tabs/template.marko b/test/autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/tabs/template.marko rename to test/autotests/render/nested-tags-repeated/tags/test-nested-tags-tabs/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-repeated/template.marko b/test/autotests/render/nested-tags-repeated/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags-repeated/template.marko rename to test/autotests/render/nested-tags-repeated/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-repeated/test.js b/test/autotests/render/nested-tags-repeated/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags-repeated/test.js rename to test/autotests/render/nested-tags-repeated/test.js diff --git a/test/fixtures/render/autotest/nested-tags-self-closing/expected.html b/test/autotests/render/nested-tags-self-closing/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags-self-closing/expected.html rename to test/autotests/render/nested-tags-self-closing/expected.html diff --git a/test/autotests/render/nested-tags-self-closing/marko.json b/test/autotests/render/nested-tags-self-closing/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags-self-closing/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-tabs/marko-tag.json b/test/autotests/render/nested-tags-self-closing/tags/test-nested-tags-tabs/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-tabs/marko-tag.json rename to test/autotests/render/nested-tags-self-closing/tags/test-nested-tags-tabs/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-tabs/renderer.js b/test/autotests/render/nested-tags-self-closing/tags/test-nested-tags-tabs/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-tabs/renderer.js rename to test/autotests/render/nested-tags-self-closing/tags/test-nested-tags-tabs/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-nested-tags-tabs/template.marko b/test/autotests/render/nested-tags-self-closing/tags/test-nested-tags-tabs/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-nested-tags-tabs/template.marko rename to test/autotests/render/nested-tags-self-closing/tags/test-nested-tags-tabs/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-self-closing/template.marko b/test/autotests/render/nested-tags-self-closing/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags-self-closing/template.marko rename to test/autotests/render/nested-tags-self-closing/template.marko diff --git a/test/fixtures/render/autotest/nested-tags-self-closing/test.js b/test/autotests/render/nested-tags-self-closing/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags-self-closing/test.js rename to test/autotests/render/nested-tags-self-closing/test.js diff --git a/test/fixtures/render/autotest/nested-tags/expected.html b/test/autotests/render/nested-tags/expected.html similarity index 100% rename from test/fixtures/render/autotest/nested-tags/expected.html rename to test/autotests/render/nested-tags/expected.html diff --git a/test/autotests/render/nested-tags/marko.json b/test/autotests/render/nested-tags/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/nested-tags/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/marko-tag.json b/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/marko-tag.json new file mode 100644 index 000000000..9686a762c --- /dev/null +++ b/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/marko-tag.json @@ -0,0 +1,23 @@ +{ + "renderer": "./renderer", + "@header
": { + "@class": { + "type": "string", + "target-property": "className" + } + }, + "@body ": { + "@class": { + "type": "string", + "target-property": "className" + } + }, + "nested-tags": { + "footer": { + "@class": { + "type": "string", + "target-property": "className" + } + } + } +} \ No newline at end of file diff --git a/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/renderer.js b/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/renderer.js new file mode 100644 index 000000000..4e53ffda8 --- /dev/null +++ b/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/renderer.js @@ -0,0 +1,14 @@ +var template = require('./template.marko'); + +exports.renderer = function(input, out) { + var header = input.header; + var body = input.body; + var footer = input.footer; + + template.render({ + header: header, + body: body, + footer: footer + }, out); + +}; \ No newline at end of file diff --git a/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/template.marko b/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/template.marko new file mode 100644 index 000000000..c4a7bf39e --- /dev/null +++ b/test/autotests/render/nested-tags/tags/test-nested-tags-overlay/template.marko @@ -0,0 +1,13 @@ +
+
+ +
+ +
+ +
+ + +
\ No newline at end of file diff --git a/test/fixtures/render/autotest/nested-tags/template.marko b/test/autotests/render/nested-tags/template.marko similarity index 100% rename from test/fixtures/render/autotest/nested-tags/template.marko rename to test/autotests/render/nested-tags/template.marko diff --git a/test/fixtures/render/autotest/nested-tags/test.js b/test/autotests/render/nested-tags/test.js similarity index 100% rename from test/fixtures/render/autotest/nested-tags/test.js rename to test/autotests/render/nested-tags/test.js diff --git a/test/fixtures/render/autotest/open-tag-only-renderer/expected.html b/test/autotests/render/open-tag-only-renderer/expected.html similarity index 100% rename from test/fixtures/render/autotest/open-tag-only-renderer/expected.html rename to test/autotests/render/open-tag-only-renderer/expected.html diff --git a/test/fixtures/render/autotest/open-tag-only-renderer/marko.json b/test/autotests/render/open-tag-only-renderer/marko.json similarity index 100% rename from test/fixtures/render/autotest/open-tag-only-renderer/marko.json rename to test/autotests/render/open-tag-only-renderer/marko.json diff --git a/test/fixtures/render/autotest/open-tag-only-renderer/renderer.js b/test/autotests/render/open-tag-only-renderer/renderer.js similarity index 100% rename from test/fixtures/render/autotest/open-tag-only-renderer/renderer.js rename to test/autotests/render/open-tag-only-renderer/renderer.js diff --git a/test/fixtures/render/autotest/open-tag-only-renderer/template.marko b/test/autotests/render/open-tag-only-renderer/template.marko similarity index 100% rename from test/fixtures/render/autotest/open-tag-only-renderer/template.marko rename to test/autotests/render/open-tag-only-renderer/template.marko diff --git a/test/fixtures/render/autotest/open-tag-only-renderer/test.js b/test/autotests/render/open-tag-only-renderer/test.js similarity index 100% rename from test/fixtures/render/autotest/open-tag-only-renderer/test.js rename to test/autotests/render/open-tag-only-renderer/test.js diff --git a/test/fixtures/render/autotest/open-tag-only/expected.html b/test/autotests/render/open-tag-only/expected.html similarity index 100% rename from test/fixtures/render/autotest/open-tag-only/expected.html rename to test/autotests/render/open-tag-only/expected.html diff --git a/test/fixtures/render/autotest/open-tag-only/marko.json b/test/autotests/render/open-tag-only/marko.json similarity index 100% rename from test/fixtures/render/autotest/open-tag-only/marko.json rename to test/autotests/render/open-tag-only/marko.json diff --git a/test/fixtures/render/autotest/open-tag-only/template.marko b/test/autotests/render/open-tag-only/template.marko similarity index 100% rename from test/fixtures/render/autotest/open-tag-only/template.marko rename to test/autotests/render/open-tag-only/template.marko diff --git a/test/fixtures/render/autotest/open-tag-only/test.js b/test/autotests/render/open-tag-only/test.js similarity index 100% rename from test/fixtures/render/autotest/open-tag-only/test.js rename to test/autotests/render/open-tag-only/test.js diff --git a/test/fixtures/render/autotest/placeholders-body-expressions/expected.html b/test/autotests/render/placeholders-body-expressions/expected.html similarity index 100% rename from test/fixtures/render/autotest/placeholders-body-expressions/expected.html rename to test/autotests/render/placeholders-body-expressions/expected.html diff --git a/test/fixtures/render/autotest/placeholders-body-expressions/template.marko b/test/autotests/render/placeholders-body-expressions/template.marko similarity index 100% rename from test/fixtures/render/autotest/placeholders-body-expressions/template.marko rename to test/autotests/render/placeholders-body-expressions/template.marko diff --git a/test/fixtures/render/autotest/placeholders-body-expressions/test.js b/test/autotests/render/placeholders-body-expressions/test.js similarity index 100% rename from test/fixtures/render/autotest/placeholders-body-expressions/test.js rename to test/autotests/render/placeholders-body-expressions/test.js diff --git a/test/fixtures/render/autotest/preserveWhitespace-global/expected.html b/test/autotests/render/preserveWhitespace-global/expected.html similarity index 100% rename from test/fixtures/render/autotest/preserveWhitespace-global/expected.html rename to test/autotests/render/preserveWhitespace-global/expected.html diff --git a/test/fixtures/render/autotest/preserveWhitespace-global/template.marko b/test/autotests/render/preserveWhitespace-global/template.marko similarity index 100% rename from test/fixtures/render/autotest/preserveWhitespace-global/template.marko rename to test/autotests/render/preserveWhitespace-global/template.marko diff --git a/test/fixtures/render/autotest/preserveWhitespace-global/test.js b/test/autotests/render/preserveWhitespace-global/test.js similarity index 100% rename from test/fixtures/render/autotest/preserveWhitespace-global/test.js rename to test/autotests/render/preserveWhitespace-global/test.js diff --git a/test/fixtures/render/autotest/preserveWhitespace-load-option/expected.html b/test/autotests/render/preserveWhitespace-load-option/expected.html similarity index 100% rename from test/fixtures/render/autotest/preserveWhitespace-load-option/expected.html rename to test/autotests/render/preserveWhitespace-load-option/expected.html diff --git a/test/fixtures/render/autotest/preserveWhitespace-load-option/template.marko b/test/autotests/render/preserveWhitespace-load-option/template.marko similarity index 100% rename from test/fixtures/render/autotest/preserveWhitespace-load-option/template.marko rename to test/autotests/render/preserveWhitespace-load-option/template.marko diff --git a/test/fixtures/render/autotest/preserveWhitespace-load-option/test.js b/test/autotests/render/preserveWhitespace-load-option/test.js similarity index 100% rename from test/fixtures/render/autotest/preserveWhitespace-load-option/test.js rename to test/autotests/render/preserveWhitespace-load-option/test.js diff --git a/test/fixtures/render/autotest/renderer-dir-main.js/expected.html b/test/autotests/render/renderer-dir-main.js/expected.html similarity index 100% rename from test/fixtures/render/autotest/renderer-dir-main.js/expected.html rename to test/autotests/render/renderer-dir-main.js/expected.html diff --git a/test/fixtures/render/autotest/renderer-dir-main.js/index.js b/test/autotests/render/renderer-dir-main.js/index.js similarity index 100% rename from test/fixtures/render/autotest/renderer-dir-main.js/index.js rename to test/autotests/render/renderer-dir-main.js/index.js diff --git a/test/fixtures/render/autotest/renderer-dir-main.js/marko.json b/test/autotests/render/renderer-dir-main.js/marko.json similarity index 100% rename from test/fixtures/render/autotest/renderer-dir-main.js/marko.json rename to test/autotests/render/renderer-dir-main.js/marko.json diff --git a/test/fixtures/render/autotest/renderer-dir-main.js/template.marko b/test/autotests/render/renderer-dir-main.js/template.marko similarity index 100% rename from test/fixtures/render/autotest/renderer-dir-main.js/template.marko rename to test/autotests/render/renderer-dir-main.js/template.marko diff --git a/test/fixtures/render/autotest/renderer-dir-main.js/test.js b/test/autotests/render/renderer-dir-main.js/test.js similarity index 100% rename from test/fixtures/render/autotest/renderer-dir-main.js/test.js rename to test/autotests/render/renderer-dir-main.js/test.js diff --git a/test/fixtures/render/autotest/renderer-index.js/expected.html b/test/autotests/render/renderer-index.js/expected.html similarity index 100% rename from test/fixtures/render/autotest/renderer-index.js/expected.html rename to test/autotests/render/renderer-index.js/expected.html diff --git a/test/fixtures/render/autotest/renderer-index.js/marko.json b/test/autotests/render/renderer-index.js/marko.json similarity index 100% rename from test/fixtures/render/autotest/renderer-index.js/marko.json rename to test/autotests/render/renderer-index.js/marko.json diff --git a/test/fixtures/render/autotest/renderer-index.js/renderer/index.js b/test/autotests/render/renderer-index.js/renderer/index.js similarity index 100% rename from test/fixtures/render/autotest/renderer-index.js/renderer/index.js rename to test/autotests/render/renderer-index.js/renderer/index.js diff --git a/test/fixtures/render/autotest/renderer-index.js/template.marko b/test/autotests/render/renderer-index.js/template.marko similarity index 100% rename from test/fixtures/render/autotest/renderer-index.js/template.marko rename to test/autotests/render/renderer-index.js/template.marko diff --git a/test/fixtures/render/autotest/renderer-index.js/test.js b/test/autotests/render/renderer-index.js/test.js similarity index 100% rename from test/fixtures/render/autotest/renderer-index.js/test.js rename to test/autotests/render/renderer-index.js/test.js diff --git a/test/fixtures/render/autotest/require/expected.html b/test/autotests/render/require/expected.html similarity index 100% rename from test/fixtures/render/autotest/require/expected.html rename to test/autotests/render/require/expected.html diff --git a/test/fixtures/render/autotest/require/template.marko b/test/autotests/render/require/template.marko similarity index 100% rename from test/fixtures/render/autotest/require/template.marko rename to test/autotests/render/require/template.marko diff --git a/test/fixtures/render/autotest/require/test-helpers.js b/test/autotests/render/require/test-helpers.js similarity index 100% rename from test/fixtures/render/autotest/require/test-helpers.js rename to test/autotests/render/require/test-helpers.js diff --git a/test/fixtures/render/autotest/require/test.js b/test/autotests/render/require/test.js similarity index 100% rename from test/fixtures/render/autotest/require/test.js rename to test/autotests/render/require/test.js diff --git a/test/fixtures/render/autotest/reserved-words-var/expected.html b/test/autotests/render/reserved-words-var/expected.html similarity index 100% rename from test/fixtures/render/autotest/reserved-words-var/expected.html rename to test/autotests/render/reserved-words-var/expected.html diff --git a/test/fixtures/render/autotest/reserved-words-var/marko.json b/test/autotests/render/reserved-words-var/marko.json similarity index 100% rename from test/fixtures/render/autotest/reserved-words-var/marko.json rename to test/autotests/render/reserved-words-var/marko.json diff --git a/test/fixtures/render/autotest/reserved-words-var/my-custom-tag.js b/test/autotests/render/reserved-words-var/my-custom-tag.js similarity index 100% rename from test/fixtures/render/autotest/reserved-words-var/my-custom-tag.js rename to test/autotests/render/reserved-words-var/my-custom-tag.js diff --git a/test/fixtures/render/autotest/reserved-words-var/template.marko b/test/autotests/render/reserved-words-var/template.marko similarity index 100% rename from test/fixtures/render/autotest/reserved-words-var/template.marko rename to test/autotests/render/reserved-words-var/template.marko diff --git a/test/fixtures/render/autotest/reserved-words-var/test.js b/test/autotests/render/reserved-words-var/test.js similarity index 100% rename from test/fixtures/render/autotest/reserved-words-var/test.js rename to test/autotests/render/reserved-words-var/test.js diff --git a/test/fixtures/render/autotest/reserved-words/expected.html b/test/autotests/render/reserved-words/expected.html similarity index 100% rename from test/fixtures/render/autotest/reserved-words/expected.html rename to test/autotests/render/reserved-words/expected.html diff --git a/test/fixtures/render/autotest/reserved-words/marko.json b/test/autotests/render/reserved-words/marko.json similarity index 100% rename from test/fixtures/render/autotest/reserved-words/marko.json rename to test/autotests/render/reserved-words/marko.json diff --git a/test/fixtures/render/autotest/reserved-words/my-custom-tag.js b/test/autotests/render/reserved-words/my-custom-tag.js similarity index 100% rename from test/fixtures/render/autotest/reserved-words/my-custom-tag.js rename to test/autotests/render/reserved-words/my-custom-tag.js diff --git a/test/fixtures/render/autotest/reserved-words/template.marko b/test/autotests/render/reserved-words/template.marko similarity index 100% rename from test/fixtures/render/autotest/reserved-words/template.marko rename to test/autotests/render/reserved-words/template.marko diff --git a/test/fixtures/render/autotest/reserved-words/test.js b/test/autotests/render/reserved-words/test.js similarity index 100% rename from test/fixtures/render/autotest/reserved-words/test.js rename to test/autotests/render/reserved-words/test.js diff --git a/test/fixtures/render/autotest/scanned-tags/expected.html b/test/autotests/render/scanned-tags/expected.html similarity index 100% rename from test/fixtures/render/autotest/scanned-tags/expected.html rename to test/autotests/render/scanned-tags/expected.html diff --git a/test/autotests/render/scanned-tags/marko.json b/test/autotests/render/scanned-tags/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/scanned-tags/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/scanned-a/renderer.js b/test/autotests/render/scanned-tags/tags/scanned-a/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-a/renderer.js rename to test/autotests/render/scanned-tags/tags/scanned-a/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/scanned-b/template.marko b/test/autotests/render/scanned-tags/tags/scanned-b/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-b/template.marko rename to test/autotests/render/scanned-tags/tags/scanned-b/template.marko diff --git a/test/fixtures/taglib/scanned-tags/scanned-c/marko-tag.json b/test/autotests/render/scanned-tags/tags/scanned-c/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-c/marko-tag.json rename to test/autotests/render/scanned-tags/tags/scanned-c/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/scanned-c/renderer.js b/test/autotests/render/scanned-tags/tags/scanned-c/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-c/renderer.js rename to test/autotests/render/scanned-tags/tags/scanned-c/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/scanned-d/template.marko b/test/autotests/render/scanned-tags/tags/scanned-d/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-d/template.marko rename to test/autotests/render/scanned-tags/tags/scanned-d/template.marko diff --git a/test/fixtures/taglib/scanned-tags/scanned-e/renderer.js b/test/autotests/render/scanned-tags/tags/scanned-e/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-e/renderer.js rename to test/autotests/render/scanned-tags/tags/scanned-e/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/scanned-f/renderer.js b/test/autotests/render/scanned-tags/tags/scanned-f/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-f/renderer.js rename to test/autotests/render/scanned-tags/tags/scanned-f/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/scanned-g/index.js b/test/autotests/render/scanned-tags/tags/scanned-g/index.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-g/index.js rename to test/autotests/render/scanned-tags/tags/scanned-g/index.js diff --git a/test/fixtures/taglib/scanned-tags/scanned-h/index.js b/test/autotests/render/scanned-tags/tags/scanned-h/index.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/scanned-h/index.js rename to test/autotests/render/scanned-tags/tags/scanned-h/index.js diff --git a/test/fixtures/render/autotest/scanned-tags/template.marko b/test/autotests/render/scanned-tags/template.marko similarity index 100% rename from test/fixtures/render/autotest/scanned-tags/template.marko rename to test/autotests/render/scanned-tags/template.marko diff --git a/test/fixtures/render/autotest/scanned-tags/test.js b/test/autotests/render/scanned-tags/test.js similarity index 100% rename from test/fixtures/render/autotest/scanned-tags/test.js rename to test/autotests/render/scanned-tags/test.js diff --git a/test/fixtures/render/autotest/script-nonce/expected.html b/test/autotests/render/script-nonce/expected.html similarity index 100% rename from test/fixtures/render/autotest/script-nonce/expected.html rename to test/autotests/render/script-nonce/expected.html diff --git a/test/fixtures/render/autotest/script-nonce/marko.json b/test/autotests/render/script-nonce/marko.json similarity index 100% rename from test/fixtures/render/autotest/script-nonce/marko.json rename to test/autotests/render/script-nonce/marko.json diff --git a/test/fixtures/render/autotest/script-nonce/script-nonce-transformer.js b/test/autotests/render/script-nonce/script-nonce-transformer.js similarity index 100% rename from test/fixtures/render/autotest/script-nonce/script-nonce-transformer.js rename to test/autotests/render/script-nonce/script-nonce-transformer.js diff --git a/test/fixtures/render/autotest/script-nonce/template.marko b/test/autotests/render/script-nonce/template.marko similarity index 100% rename from test/fixtures/render/autotest/script-nonce/template.marko rename to test/autotests/render/script-nonce/template.marko diff --git a/test/fixtures/render/autotest/script-nonce/test.js b/test/autotests/render/script-nonce/test.js similarity index 100% rename from test/fixtures/render/autotest/script-nonce/test.js rename to test/autotests/render/script-nonce/test.js diff --git a/test/fixtures/render/autotest/script-tag-entities/expected.html b/test/autotests/render/script-tag-entities/expected.html similarity index 100% rename from test/fixtures/render/autotest/script-tag-entities/expected.html rename to test/autotests/render/script-tag-entities/expected.html diff --git a/test/fixtures/render/autotest/script-tag-entities/template.marko b/test/autotests/render/script-tag-entities/template.marko similarity index 100% rename from test/fixtures/render/autotest/script-tag-entities/template.marko rename to test/autotests/render/script-tag-entities/template.marko diff --git a/test/fixtures/render/autotest/script-tag-entities/test.js b/test/autotests/render/script-tag-entities/test.js similarity index 100% rename from test/fixtures/render/autotest/script-tag-entities/test.js rename to test/autotests/render/script-tag-entities/test.js diff --git a/test/fixtures/render/autotest/script/expected.html b/test/autotests/render/script/expected.html similarity index 100% rename from test/fixtures/render/autotest/script/expected.html rename to test/autotests/render/script/expected.html diff --git a/test/fixtures/render/autotest/script/template.marko b/test/autotests/render/script/template.marko similarity index 100% rename from test/fixtures/render/autotest/script/template.marko rename to test/autotests/render/script/template.marko diff --git a/test/fixtures/render/autotest/script/test.js b/test/autotests/render/script/test.js similarity index 100% rename from test/fixtures/render/autotest/script/test.js rename to test/autotests/render/script/test.js diff --git a/test/fixtures/render/autotest/scriptlet/expected.html b/test/autotests/render/scriptlet/expected.html similarity index 100% rename from test/fixtures/render/autotest/scriptlet/expected.html rename to test/autotests/render/scriptlet/expected.html diff --git a/test/fixtures/render/autotest/scriptlet/template.marko b/test/autotests/render/scriptlet/template.marko similarity index 100% rename from test/fixtures/render/autotest/scriptlet/template.marko rename to test/autotests/render/scriptlet/template.marko diff --git a/test/fixtures/render/autotest/scriptlet/test.js b/test/autotests/render/scriptlet/test.js similarity index 100% rename from test/fixtures/render/autotest/scriptlet/test.js rename to test/autotests/render/scriptlet/test.js diff --git a/test/fixtures/render/autotest/shorthand-class-merge/expected.html b/test/autotests/render/shorthand-class-merge/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-merge/expected.html rename to test/autotests/render/shorthand-class-merge/expected.html diff --git a/test/fixtures/render/autotest/shorthand-class-merge/template.marko b/test/autotests/render/shorthand-class-merge/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-merge/template.marko rename to test/autotests/render/shorthand-class-merge/template.marko diff --git a/test/fixtures/render/autotest/shorthand-class-merge/test.js b/test/autotests/render/shorthand-class-merge/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-merge/test.js rename to test/autotests/render/shorthand-class-merge/test.js diff --git a/test/fixtures/render/autotest/shorthand-class-merge2/expected.html b/test/autotests/render/shorthand-class-merge2/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-merge2/expected.html rename to test/autotests/render/shorthand-class-merge2/expected.html diff --git a/test/fixtures/render/autotest/shorthand-class-merge2/template.marko b/test/autotests/render/shorthand-class-merge2/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-merge2/template.marko rename to test/autotests/render/shorthand-class-merge2/template.marko diff --git a/test/fixtures/render/autotest/shorthand-class-merge2/test.js b/test/autotests/render/shorthand-class-merge2/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-merge2/test.js rename to test/autotests/render/shorthand-class-merge2/test.js diff --git a/test/fixtures/render/autotest/shorthand-class-plus-class-obj/expected.html b/test/autotests/render/shorthand-class-plus-class-obj/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-plus-class-obj/expected.html rename to test/autotests/render/shorthand-class-plus-class-obj/expected.html diff --git a/test/fixtures/render/autotest/shorthand-class-plus-class-obj/template.marko b/test/autotests/render/shorthand-class-plus-class-obj/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-plus-class-obj/template.marko rename to test/autotests/render/shorthand-class-plus-class-obj/template.marko diff --git a/test/fixtures/render/autotest/shorthand-class-plus-class-obj/test.js b/test/autotests/render/shorthand-class-plus-class-obj/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-class-plus-class-obj/test.js rename to test/autotests/render/shorthand-class-plus-class-obj/test.js diff --git a/test/fixtures/render/autotest/shorthand-div-id-dynamic/expected.html b/test/autotests/render/shorthand-div-id-dynamic/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-div-id-dynamic/expected.html rename to test/autotests/render/shorthand-div-id-dynamic/expected.html diff --git a/test/fixtures/render/autotest/shorthand-div-id-dynamic/template.marko b/test/autotests/render/shorthand-div-id-dynamic/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-div-id-dynamic/template.marko rename to test/autotests/render/shorthand-div-id-dynamic/template.marko diff --git a/test/fixtures/render/autotest/shorthand-div-id-dynamic/test.js b/test/autotests/render/shorthand-div-id-dynamic/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-div-id-dynamic/test.js rename to test/autotests/render/shorthand-div-id-dynamic/test.js diff --git a/test/fixtures/render/autotest/shorthand-div-id/expected.html b/test/autotests/render/shorthand-div-id/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-div-id/expected.html rename to test/autotests/render/shorthand-div-id/expected.html diff --git a/test/fixtures/render/autotest/shorthand-div-id/template.marko b/test/autotests/render/shorthand-div-id/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-div-id/template.marko rename to test/autotests/render/shorthand-div-id/template.marko diff --git a/test/fixtures/render/autotest/shorthand-div-id/test.js b/test/autotests/render/shorthand-div-id/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-div-id/test.js rename to test/autotests/render/shorthand-div-id/test.js diff --git a/test/fixtures/render/autotest/shorthand-div.foo/expected.html b/test/autotests/render/shorthand-div.foo/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-div.foo/expected.html rename to test/autotests/render/shorthand-div.foo/expected.html diff --git a/test/fixtures/render/autotest/shorthand-div.foo/template.marko b/test/autotests/render/shorthand-div.foo/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-div.foo/template.marko rename to test/autotests/render/shorthand-div.foo/template.marko diff --git a/test/fixtures/render/autotest/shorthand-div.foo/test.js b/test/autotests/render/shorthand-div.foo/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-div.foo/test.js rename to test/autotests/render/shorthand-div.foo/test.js diff --git a/test/fixtures/render/autotest/shorthand-id-and-classes/expected.html b/test/autotests/render/shorthand-id-and-classes/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-id-and-classes/expected.html rename to test/autotests/render/shorthand-id-and-classes/expected.html diff --git a/test/fixtures/render/autotest/shorthand-id-and-classes/template.marko b/test/autotests/render/shorthand-id-and-classes/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-id-and-classes/template.marko rename to test/autotests/render/shorthand-id-and-classes/template.marko diff --git a/test/fixtures/render/autotest/shorthand-id-and-classes/test.js b/test/autotests/render/shorthand-id-and-classes/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-id-and-classes/test.js rename to test/autotests/render/shorthand-id-and-classes/test.js diff --git a/test/fixtures/render/autotest/shorthand-verbose/expected.html b/test/autotests/render/shorthand-verbose/expected.html similarity index 100% rename from test/fixtures/render/autotest/shorthand-verbose/expected.html rename to test/autotests/render/shorthand-verbose/expected.html diff --git a/test/fixtures/render/autotest/shorthand-verbose/template.marko b/test/autotests/render/shorthand-verbose/template.marko similarity index 100% rename from test/fixtures/render/autotest/shorthand-verbose/template.marko rename to test/autotests/render/shorthand-verbose/template.marko diff --git a/test/fixtures/render/autotest/shorthand-verbose/test.js b/test/autotests/render/shorthand-verbose/test.js similarity index 100% rename from test/fixtures/render/autotest/shorthand-verbose/test.js rename to test/autotests/render/shorthand-verbose/test.js diff --git a/test/fixtures/render/autotest/simple-conditionals/expected.html b/test/autotests/render/simple-conditionals/expected.html similarity index 100% rename from test/fixtures/render/autotest/simple-conditionals/expected.html rename to test/autotests/render/simple-conditionals/expected.html diff --git a/test/fixtures/render/autotest/simple-conditionals/template.marko b/test/autotests/render/simple-conditionals/template.marko similarity index 100% rename from test/fixtures/render/autotest/simple-conditionals/template.marko rename to test/autotests/render/simple-conditionals/template.marko diff --git a/test/fixtures/render/autotest/simple-conditionals/test.js b/test/autotests/render/simple-conditionals/test.js similarity index 100% rename from test/fixtures/render/autotest/simple-conditionals/test.js rename to test/autotests/render/simple-conditionals/test.js diff --git a/test/fixtures/render/autotest/simple/expected.html b/test/autotests/render/simple/expected.html similarity index 100% rename from test/fixtures/render/autotest/simple/expected.html rename to test/autotests/render/simple/expected.html diff --git a/test/fixtures/render/autotest/simple/template.marko b/test/autotests/render/simple/template.marko similarity index 100% rename from test/fixtures/render/autotest/simple/template.marko rename to test/autotests/render/simple/template.marko diff --git a/test/fixtures/render/autotest/simple/test.js b/test/autotests/render/simple/test.js similarity index 100% rename from test/fixtures/render/autotest/simple/test.js rename to test/autotests/render/simple/test.js diff --git a/test/fixtures/render/autotest/string-expressions/expected.html b/test/autotests/render/string-expressions/expected.html similarity index 100% rename from test/fixtures/render/autotest/string-expressions/expected.html rename to test/autotests/render/string-expressions/expected.html diff --git a/test/fixtures/render/autotest/string-expressions/template.marko b/test/autotests/render/string-expressions/template.marko similarity index 100% rename from test/fixtures/render/autotest/string-expressions/template.marko rename to test/autotests/render/string-expressions/template.marko diff --git a/test/fixtures/render/autotest/string-expressions/test.js b/test/autotests/render/string-expressions/test.js similarity index 100% rename from test/fixtures/render/autotest/string-expressions/test.js rename to test/autotests/render/string-expressions/test.js diff --git a/test/fixtures/render/autotest/style-attr-object/expected.html b/test/autotests/render/style-attr-object/expected.html similarity index 100% rename from test/fixtures/render/autotest/style-attr-object/expected.html rename to test/autotests/render/style-attr-object/expected.html diff --git a/test/fixtures/render/autotest/style-attr-object/template.marko b/test/autotests/render/style-attr-object/template.marko similarity index 100% rename from test/fixtures/render/autotest/style-attr-object/template.marko rename to test/autotests/render/style-attr-object/template.marko diff --git a/test/fixtures/render/autotest/style-attr-object/test.js b/test/autotests/render/style-attr-object/test.js similarity index 100% rename from test/fixtures/render/autotest/style-attr-object/test.js rename to test/autotests/render/style-attr-object/test.js diff --git a/test/fixtures/render/autotest/style-attr-string-dynamic/expected.html b/test/autotests/render/style-attr-string-dynamic/expected.html similarity index 100% rename from test/fixtures/render/autotest/style-attr-string-dynamic/expected.html rename to test/autotests/render/style-attr-string-dynamic/expected.html diff --git a/test/fixtures/render/autotest/style-attr-string-dynamic/template.marko b/test/autotests/render/style-attr-string-dynamic/template.marko similarity index 100% rename from test/fixtures/render/autotest/style-attr-string-dynamic/template.marko rename to test/autotests/render/style-attr-string-dynamic/template.marko diff --git a/test/fixtures/render/autotest/style-attr-string-dynamic/test.js b/test/autotests/render/style-attr-string-dynamic/test.js similarity index 100% rename from test/fixtures/render/autotest/style-attr-string-dynamic/test.js rename to test/autotests/render/style-attr-string-dynamic/test.js diff --git a/test/fixtures/render/autotest/style-attr-string/expected.html b/test/autotests/render/style-attr-string/expected.html similarity index 100% rename from test/fixtures/render/autotest/style-attr-string/expected.html rename to test/autotests/render/style-attr-string/expected.html diff --git a/test/fixtures/render/autotest/style-attr-string/template.marko b/test/autotests/render/style-attr-string/template.marko similarity index 100% rename from test/fixtures/render/autotest/style-attr-string/template.marko rename to test/autotests/render/style-attr-string/template.marko diff --git a/test/fixtures/render/autotest/style-attr-string/test.js b/test/autotests/render/style-attr-string/test.js similarity index 100% rename from test/fixtures/render/autotest/style-attr-string/test.js rename to test/autotests/render/style-attr-string/test.js diff --git a/test/fixtures/render/autotest/syntax-concise/expected.html b/test/autotests/render/syntax-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/expected.html rename to test/autotests/render/syntax-concise/expected.html diff --git a/test/fixtures/render/autotest/syntax-concise/marko.json b/test/autotests/render/syntax-concise/marko.json similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/marko.json rename to test/autotests/render/syntax-concise/marko.json diff --git a/test/autotests/render/syntax-concise/tabs/marko-tag.json b/test/autotests/render/syntax-concise/tabs/marko-tag.json new file mode 100644 index 000000000..39d0e5fd9 --- /dev/null +++ b/test/autotests/render/syntax-concise/tabs/marko-tag.json @@ -0,0 +1,7 @@ +{ + "renderer": "./renderer", + "@orientation": "string", + "@tabs []": { + "@title": "string" + } +} \ No newline at end of file diff --git a/test/autotests/render/syntax-concise/tabs/renderer.js b/test/autotests/render/syntax-concise/tabs/renderer.js new file mode 100644 index 000000000..c84483a98 --- /dev/null +++ b/test/autotests/render/syntax-concise/tabs/renderer.js @@ -0,0 +1,9 @@ +var template =require('./template.marko'); + +exports.renderer = function(input, out) { + var tabs = input.tabs; + + template.render({ + tabs: tabs + }, out); +}; \ No newline at end of file diff --git a/test/autotests/render/syntax-concise/tabs/template.marko b/test/autotests/render/syntax-concise/tabs/template.marko new file mode 100644 index 000000000..0fd426ed6 --- /dev/null +++ b/test/autotests/render/syntax-concise/tabs/template.marko @@ -0,0 +1,14 @@ + + +
+
    +
  • + ${tab.title} +
  • +
+
+
+ +
+
+
\ No newline at end of file diff --git a/test/fixtures/render/autotest/syntax-concise/template.marko b/test/autotests/render/syntax-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/template.marko rename to test/autotests/render/syntax-concise/template.marko diff --git a/test/fixtures/render/autotest/syntax-concise/test.js b/test/autotests/render/syntax-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/syntax-concise/test.js rename to test/autotests/render/syntax-concise/test.js diff --git a/test/fixtures/render/autotest/syntax-mixed/expected.html b/test/autotests/render/syntax-mixed/expected.html similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/expected.html rename to test/autotests/render/syntax-mixed/expected.html diff --git a/test/fixtures/render/autotest/syntax-mixed/marko.json b/test/autotests/render/syntax-mixed/marko.json similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/marko.json rename to test/autotests/render/syntax-mixed/marko.json diff --git a/test/autotests/render/syntax-mixed/tabs/marko-tag.json b/test/autotests/render/syntax-mixed/tabs/marko-tag.json new file mode 100644 index 000000000..39d0e5fd9 --- /dev/null +++ b/test/autotests/render/syntax-mixed/tabs/marko-tag.json @@ -0,0 +1,7 @@ +{ + "renderer": "./renderer", + "@orientation": "string", + "@tabs []": { + "@title": "string" + } +} \ No newline at end of file diff --git a/test/autotests/render/syntax-mixed/tabs/renderer.js b/test/autotests/render/syntax-mixed/tabs/renderer.js new file mode 100644 index 000000000..c84483a98 --- /dev/null +++ b/test/autotests/render/syntax-mixed/tabs/renderer.js @@ -0,0 +1,9 @@ +var template =require('./template.marko'); + +exports.renderer = function(input, out) { + var tabs = input.tabs; + + template.render({ + tabs: tabs + }, out); +}; \ No newline at end of file diff --git a/test/autotests/render/syntax-mixed/tabs/template.marko b/test/autotests/render/syntax-mixed/tabs/template.marko new file mode 100644 index 000000000..0fd426ed6 --- /dev/null +++ b/test/autotests/render/syntax-mixed/tabs/template.marko @@ -0,0 +1,14 @@ + + +
+
    +
  • + ${tab.title} +
  • +
+
+
+ +
+
+
\ No newline at end of file diff --git a/test/fixtures/render/autotest/syntax-mixed/template.marko b/test/autotests/render/syntax-mixed/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/template.marko rename to test/autotests/render/syntax-mixed/template.marko diff --git a/test/fixtures/render/autotest/syntax-mixed/test.js b/test/autotests/render/syntax-mixed/test.js similarity index 100% rename from test/fixtures/render/autotest/syntax-mixed/test.js rename to test/autotests/render/syntax-mixed/test.js diff --git a/test/fixtures/render/autotest/syntax-simple-concise/expected.html b/test/autotests/render/syntax-simple-concise/expected.html similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-concise/expected.html rename to test/autotests/render/syntax-simple-concise/expected.html diff --git a/test/fixtures/render/autotest/syntax-simple-concise/template.marko b/test/autotests/render/syntax-simple-concise/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-concise/template.marko rename to test/autotests/render/syntax-simple-concise/template.marko diff --git a/test/fixtures/render/autotest/syntax-simple-concise/test.js b/test/autotests/render/syntax-simple-concise/test.js similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-concise/test.js rename to test/autotests/render/syntax-simple-concise/test.js diff --git a/test/fixtures/render/autotest/syntax-simple-mixed/expected.html b/test/autotests/render/syntax-simple-mixed/expected.html similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-mixed/expected.html rename to test/autotests/render/syntax-simple-mixed/expected.html diff --git a/test/fixtures/render/autotest/syntax-simple-mixed/template.marko b/test/autotests/render/syntax-simple-mixed/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-mixed/template.marko rename to test/autotests/render/syntax-simple-mixed/template.marko diff --git a/test/fixtures/render/autotest/syntax-simple-mixed/test.js b/test/autotests/render/syntax-simple-mixed/test.js similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-mixed/test.js rename to test/autotests/render/syntax-simple-mixed/test.js diff --git a/test/fixtures/render/autotest/syntax-simple-verbose/expected.html b/test/autotests/render/syntax-simple-verbose/expected.html similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-verbose/expected.html rename to test/autotests/render/syntax-simple-verbose/expected.html diff --git a/test/fixtures/render/autotest/syntax-simple-verbose/template.marko b/test/autotests/render/syntax-simple-verbose/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-verbose/template.marko rename to test/autotests/render/syntax-simple-verbose/template.marko diff --git a/test/fixtures/render/autotest/syntax-simple-verbose/test.js b/test/autotests/render/syntax-simple-verbose/test.js similarity index 100% rename from test/fixtures/render/autotest/syntax-simple-verbose/test.js rename to test/autotests/render/syntax-simple-verbose/test.js diff --git a/test/fixtures/render/autotest/syntax-verbose/expected.html b/test/autotests/render/syntax-verbose/expected.html similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/expected.html rename to test/autotests/render/syntax-verbose/expected.html diff --git a/test/fixtures/render/autotest/syntax-verbose/marko.json b/test/autotests/render/syntax-verbose/marko.json similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/marko.json rename to test/autotests/render/syntax-verbose/marko.json diff --git a/test/autotests/render/syntax-verbose/tabs/marko-tag.json b/test/autotests/render/syntax-verbose/tabs/marko-tag.json new file mode 100644 index 000000000..39d0e5fd9 --- /dev/null +++ b/test/autotests/render/syntax-verbose/tabs/marko-tag.json @@ -0,0 +1,7 @@ +{ + "renderer": "./renderer", + "@orientation": "string", + "@tabs []": { + "@title": "string" + } +} \ No newline at end of file diff --git a/test/autotests/render/syntax-verbose/tabs/renderer.js b/test/autotests/render/syntax-verbose/tabs/renderer.js new file mode 100644 index 000000000..c84483a98 --- /dev/null +++ b/test/autotests/render/syntax-verbose/tabs/renderer.js @@ -0,0 +1,9 @@ +var template =require('./template.marko'); + +exports.renderer = function(input, out) { + var tabs = input.tabs; + + template.render({ + tabs: tabs + }, out); +}; \ No newline at end of file diff --git a/test/autotests/render/syntax-verbose/tabs/template.marko b/test/autotests/render/syntax-verbose/tabs/template.marko new file mode 100644 index 000000000..0fd426ed6 --- /dev/null +++ b/test/autotests/render/syntax-verbose/tabs/template.marko @@ -0,0 +1,14 @@ + + +
+
    +
  • + ${tab.title} +
  • +
+
+
+ +
+
+
\ No newline at end of file diff --git a/test/fixtures/render/autotest/syntax-verbose/template.marko b/test/autotests/render/syntax-verbose/template.marko similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/template.marko rename to test/autotests/render/syntax-verbose/template.marko diff --git a/test/fixtures/render/autotest/syntax-verbose/test.js b/test/autotests/render/syntax-verbose/test.js similarity index 100% rename from test/fixtures/render/autotest/syntax-verbose/test.js rename to test/autotests/render/syntax-verbose/test.js diff --git a/test/fixtures/render/autotest/tabs-tab-new/expected.html b/test/autotests/render/tabs-tab-new/expected.html similarity index 100% rename from test/fixtures/render/autotest/tabs-tab-new/expected.html rename to test/autotests/render/tabs-tab-new/expected.html diff --git a/test/autotests/render/tabs-tab-new/marko.json b/test/autotests/render/tabs-tab-new/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/tabs-tab-new/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-tab-new/marko-tag.json b/test/autotests/render/tabs-tab-new/tags/test-tab-new/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tab-new/marko-tag.json rename to test/autotests/render/tabs-tab-new/tags/test-tab-new/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-tab-new/renderer.js b/test/autotests/render/tabs-tab-new/tags/test-tab-new/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tab-new/renderer.js rename to test/autotests/render/tabs-tab-new/tags/test-tab-new/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-tabs-new/marko-tag.json b/test/autotests/render/tabs-tab-new/tags/test-tabs-new/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tabs-new/marko-tag.json rename to test/autotests/render/tabs-tab-new/tags/test-tabs-new/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-tabs-new/renderer.js b/test/autotests/render/tabs-tab-new/tags/test-tabs-new/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tabs-new/renderer.js rename to test/autotests/render/tabs-tab-new/tags/test-tabs-new/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-tabs-new/template.marko b/test/autotests/render/tabs-tab-new/tags/test-tabs-new/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tabs-new/template.marko rename to test/autotests/render/tabs-tab-new/tags/test-tabs-new/template.marko diff --git a/test/fixtures/render/autotest/tabs-tab-new/template.marko b/test/autotests/render/tabs-tab-new/template.marko similarity index 100% rename from test/fixtures/render/autotest/tabs-tab-new/template.marko rename to test/autotests/render/tabs-tab-new/template.marko diff --git a/test/fixtures/render/autotest/tabs-tab-new/test.js b/test/autotests/render/tabs-tab-new/test.js similarity index 100% rename from test/fixtures/render/autotest/tabs-tab-new/test.js rename to test/autotests/render/tabs-tab-new/test.js diff --git a/test/fixtures/render/autotest/tabs-tab/expected.html b/test/autotests/render/tabs-tab/expected.html similarity index 100% rename from test/fixtures/render/autotest/tabs-tab/expected.html rename to test/autotests/render/tabs-tab/expected.html diff --git a/test/autotests/render/tabs-tab/marko.json b/test/autotests/render/tabs-tab/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/tabs-tab/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-tab/marko-tag.json b/test/autotests/render/tabs-tab/tags/test-tab/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tab/marko-tag.json rename to test/autotests/render/tabs-tab/tags/test-tab/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-tab/renderer.js b/test/autotests/render/tabs-tab/tags/test-tab/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tab/renderer.js rename to test/autotests/render/tabs-tab/tags/test-tab/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-tabs/marko-tag.json b/test/autotests/render/tabs-tab/tags/test-tabs/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tabs/marko-tag.json rename to test/autotests/render/tabs-tab/tags/test-tabs/marko-tag.json diff --git a/test/fixtures/taglib/scanned-tags/test-tabs/renderer.js b/test/autotests/render/tabs-tab/tags/test-tabs/renderer.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tabs/renderer.js rename to test/autotests/render/tabs-tab/tags/test-tabs/renderer.js diff --git a/test/fixtures/taglib/scanned-tags/test-tabs/template.marko b/test/autotests/render/tabs-tab/tags/test-tabs/template.marko similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tabs/template.marko rename to test/autotests/render/tabs-tab/tags/test-tabs/template.marko diff --git a/test/fixtures/render/autotest/tabs-tab/template.marko b/test/autotests/render/tabs-tab/template.marko similarity index 100% rename from test/fixtures/render/autotest/tabs-tab/template.marko rename to test/autotests/render/tabs-tab/template.marko diff --git a/test/fixtures/render/autotest/tabs-tab/test.js b/test/autotests/render/tabs-tab/test.js similarity index 100% rename from test/fixtures/render/autotest/tabs-tab/test.js rename to test/autotests/render/tabs-tab/test.js diff --git a/test/fixtures/render/autotest/tag-code-generator-return-array/expected.html b/test/autotests/render/tag-code-generator-return-array/expected.html similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-array/expected.html rename to test/autotests/render/tag-code-generator-return-array/expected.html diff --git a/test/autotests/render/tag-code-generator-return-array/marko.json b/test/autotests/render/tag-code-generator-return-array/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/tag-code-generator-return-array/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-array/code-generator.js b/test/autotests/render/tag-code-generator-return-array/tags/test-tag-code-generator-return-array/code-generator.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-array/code-generator.js rename to test/autotests/render/tag-code-generator-return-array/tags/test-tag-code-generator-return-array/code-generator.js diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-array/marko-tag.json b/test/autotests/render/tag-code-generator-return-array/tags/test-tag-code-generator-return-array/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-array/marko-tag.json rename to test/autotests/render/tag-code-generator-return-array/tags/test-tag-code-generator-return-array/marko-tag.json diff --git a/test/fixtures/render/autotest/tag-code-generator-return-array/template.marko b/test/autotests/render/tag-code-generator-return-array/template.marko similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-array/template.marko rename to test/autotests/render/tag-code-generator-return-array/template.marko diff --git a/test/fixtures/render/autotest/tag-code-generator-return-array/test.js b/test/autotests/render/tag-code-generator-return-array/test.js similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-array/test.js rename to test/autotests/render/tag-code-generator-return-array/test.js diff --git a/test/fixtures/render/autotest/tag-code-generator-return-node/expected.html b/test/autotests/render/tag-code-generator-return-node/expected.html similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-node/expected.html rename to test/autotests/render/tag-code-generator-return-node/expected.html diff --git a/test/autotests/render/tag-code-generator-return-node/marko.json b/test/autotests/render/tag-code-generator-return-node/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/tag-code-generator-return-node/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-node/code-generator.js b/test/autotests/render/tag-code-generator-return-node/tags/test-tag-code-generator-return-node/code-generator.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-node/code-generator.js rename to test/autotests/render/tag-code-generator-return-node/tags/test-tag-code-generator-return-node/code-generator.js diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-node/marko-tag.json b/test/autotests/render/tag-code-generator-return-node/tags/test-tag-code-generator-return-node/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-node/marko-tag.json rename to test/autotests/render/tag-code-generator-return-node/tags/test-tag-code-generator-return-node/marko-tag.json diff --git a/test/fixtures/render/autotest/tag-code-generator-return-node/template.marko b/test/autotests/render/tag-code-generator-return-node/template.marko similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-node/template.marko rename to test/autotests/render/tag-code-generator-return-node/template.marko diff --git a/test/fixtures/render/autotest/tag-code-generator-return-node/test.js b/test/autotests/render/tag-code-generator-return-node/test.js similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-node/test.js rename to test/autotests/render/tag-code-generator-return-node/test.js diff --git a/test/fixtures/render/autotest/tag-code-generator-return-self/expected.html b/test/autotests/render/tag-code-generator-return-self/expected.html similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-self/expected.html rename to test/autotests/render/tag-code-generator-return-self/expected.html diff --git a/test/autotests/render/tag-code-generator-return-self/marko.json b/test/autotests/render/tag-code-generator-return-self/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/tag-code-generator-return-self/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-self/code-generator.js b/test/autotests/render/tag-code-generator-return-self/tags/test-tag-code-generator-return-self/code-generator.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-self/code-generator.js rename to test/autotests/render/tag-code-generator-return-self/tags/test-tag-code-generator-return-self/code-generator.js diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-self/marko-tag.json b/test/autotests/render/tag-code-generator-return-self/tags/test-tag-code-generator-return-self/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-self/marko-tag.json rename to test/autotests/render/tag-code-generator-return-self/tags/test-tag-code-generator-return-self/marko-tag.json diff --git a/test/fixtures/render/autotest/tag-code-generator-return-self/template.marko b/test/autotests/render/tag-code-generator-return-self/template.marko similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-self/template.marko rename to test/autotests/render/tag-code-generator-return-self/template.marko diff --git a/test/fixtures/render/autotest/tag-code-generator-return-self/test.js b/test/autotests/render/tag-code-generator-return-self/test.js similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-self/test.js rename to test/autotests/render/tag-code-generator-return-self/test.js diff --git a/test/fixtures/render/autotest/tag-code-generator-return-tree/expected.html b/test/autotests/render/tag-code-generator-return-tree/expected.html similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-tree/expected.html rename to test/autotests/render/tag-code-generator-return-tree/expected.html diff --git a/test/autotests/render/tag-code-generator-return-tree/marko.json b/test/autotests/render/tag-code-generator-return-tree/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/tag-code-generator-return-tree/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-tree/code-generator.js b/test/autotests/render/tag-code-generator-return-tree/tags/test-tag-code-generator-return-tree/code-generator.js similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-tree/code-generator.js rename to test/autotests/render/tag-code-generator-return-tree/tags/test-tag-code-generator-return-tree/code-generator.js diff --git a/test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-tree/marko-tag.json b/test/autotests/render/tag-code-generator-return-tree/tags/test-tag-code-generator-return-tree/marko-tag.json similarity index 100% rename from test/fixtures/taglib/scanned-tags/test-tag-code-generator-return-tree/marko-tag.json rename to test/autotests/render/tag-code-generator-return-tree/tags/test-tag-code-generator-return-tree/marko-tag.json diff --git a/test/fixtures/render/autotest/tag-code-generator-return-tree/template.marko b/test/autotests/render/tag-code-generator-return-tree/template.marko similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-tree/template.marko rename to test/autotests/render/tag-code-generator-return-tree/template.marko diff --git a/test/fixtures/render/autotest/tag-code-generator-return-tree/test.js b/test/autotests/render/tag-code-generator-return-tree/test.js similarity index 100% rename from test/fixtures/render/autotest/tag-code-generator-return-tree/test.js rename to test/autotests/render/tag-code-generator-return-tree/test.js diff --git a/test/fixtures/render/autotest/taglib-imports-nested/expected.html b/test/autotests/render/taglib-imports-nested/expected.html similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/expected.html rename to test/autotests/render/taglib-imports-nested/expected.html diff --git a/test/fixtures/render/autotest/taglib-imports-nested/marko.json b/test/autotests/render/taglib-imports-nested/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/marko.json rename to test/autotests/render/taglib-imports-nested/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/icon-list/marko-tag.json b/test/autotests/render/taglib-imports-nested/nested-import/components/list/icon-list/marko-tag.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/icon-list/marko-tag.json rename to test/autotests/render/taglib-imports-nested/nested-import/components/list/icon-list/marko-tag.json diff --git a/test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/icon-list/renderer.js b/test/autotests/render/taglib-imports-nested/nested-import/components/list/icon-list/renderer.js similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/icon-list/renderer.js rename to test/autotests/render/taglib-imports-nested/nested-import/components/list/icon-list/renderer.js diff --git a/test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/icon-list/template.marko b/test/autotests/render/taglib-imports-nested/nested-import/components/list/icon-list/template.marko similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/icon-list/template.marko rename to test/autotests/render/taglib-imports-nested/nested-import/components/list/icon-list/template.marko diff --git a/test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/marko.json b/test/autotests/render/taglib-imports-nested/nested-import/components/list/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/list/marko.json rename to test/autotests/render/taglib-imports-nested/nested-import/components/list/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/marko.json b/test/autotests/render/taglib-imports-nested/nested-import/components/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/nested-import/components/marko.json rename to test/autotests/render/taglib-imports-nested/nested-import/components/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-nested/nested-import/marko.json b/test/autotests/render/taglib-imports-nested/nested-import/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/nested-import/marko.json rename to test/autotests/render/taglib-imports-nested/nested-import/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-nested/template.marko b/test/autotests/render/taglib-imports-nested/template.marko similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/template.marko rename to test/autotests/render/taglib-imports-nested/template.marko diff --git a/test/fixtures/render/autotest/taglib-imports-nested/test.js b/test/autotests/render/taglib-imports-nested/test.js similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-nested/test.js rename to test/autotests/render/taglib-imports-nested/test.js diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/expected.html b/test/autotests/render/taglib-imports-package-json/expected.html similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/expected.html rename to test/autotests/render/taglib-imports-package-json/expected.html diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/marko.json b/test/autotests/render/taglib-imports-package-json/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/marko.json rename to test/autotests/render/taglib-imports-package-json/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-bar/marko.json b/test/autotests/render/taglib-imports-package-json/node_modules/imported-bar/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-bar/marko.json rename to test/autotests/render/taglib-imports-package-json/node_modules/imported-bar/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-bar/package.json b/test/autotests/render/taglib-imports-package-json/node_modules/imported-bar/package.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-bar/package.json rename to test/autotests/render/taglib-imports-package-json/node_modules/imported-bar/package.json diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-bar/renderer.js b/test/autotests/render/taglib-imports-package-json/node_modules/imported-bar/renderer.js similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-bar/renderer.js rename to test/autotests/render/taglib-imports-package-json/node_modules/imported-bar/renderer.js diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-foo/marko.json b/test/autotests/render/taglib-imports-package-json/node_modules/imported-foo/marko.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-foo/marko.json rename to test/autotests/render/taglib-imports-package-json/node_modules/imported-foo/marko.json diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-foo/package.json b/test/autotests/render/taglib-imports-package-json/node_modules/imported-foo/package.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-foo/package.json rename to test/autotests/render/taglib-imports-package-json/node_modules/imported-foo/package.json diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-foo/renderer.js b/test/autotests/render/taglib-imports-package-json/node_modules/imported-foo/renderer.js similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/node_modules/imported-foo/renderer.js rename to test/autotests/render/taglib-imports-package-json/node_modules/imported-foo/renderer.js diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/package.json b/test/autotests/render/taglib-imports-package-json/package.json similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/package.json rename to test/autotests/render/taglib-imports-package-json/package.json diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/template.marko b/test/autotests/render/taglib-imports-package-json/template.marko similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/template.marko rename to test/autotests/render/taglib-imports-package-json/template.marko diff --git a/test/fixtures/render/autotest/taglib-imports-package-json/test.js b/test/autotests/render/taglib-imports-package-json/test.js similarity index 100% rename from test/fixtures/render/autotest/taglib-imports-package-json/test.js rename to test/autotests/render/taglib-imports-package-json/test.js diff --git a/test/fixtures/render/autotest/template-tag-dynamic-attributes/expected.html b/test/autotests/render/template-tag-dynamic-attributes/expected.html similarity index 100% rename from test/fixtures/render/autotest/template-tag-dynamic-attributes/expected.html rename to test/autotests/render/template-tag-dynamic-attributes/expected.html diff --git a/test/autotests/render/template-tag-dynamic-attributes/marko.json b/test/autotests/render/template-tag-dynamic-attributes/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/render/template-tag-dynamic-attributes/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/fixtures/taglib/test-template-as-tag/template.marko b/test/autotests/render/template-tag-dynamic-attributes/tags/test-template-tag-dynamic-attributes/template.marko similarity index 100% rename from test/fixtures/taglib/test-template-as-tag/template.marko rename to test/autotests/render/template-tag-dynamic-attributes/tags/test-template-tag-dynamic-attributes/template.marko diff --git a/test/fixtures/render/autotest/template-tag-dynamic-attributes/template.marko b/test/autotests/render/template-tag-dynamic-attributes/template.marko similarity index 100% rename from test/fixtures/render/autotest/template-tag-dynamic-attributes/template.marko rename to test/autotests/render/template-tag-dynamic-attributes/template.marko diff --git a/test/fixtures/render/autotest/template-tag-dynamic-attributes/test.js b/test/autotests/render/template-tag-dynamic-attributes/test.js similarity index 100% rename from test/fixtures/render/autotest/template-tag-dynamic-attributes/test.js rename to test/autotests/render/template-tag-dynamic-attributes/test.js diff --git a/test/fixtures/render/autotest/text-replacement/expected.html b/test/autotests/render/text-replacement/expected.html similarity index 100% rename from test/fixtures/render/autotest/text-replacement/expected.html rename to test/autotests/render/text-replacement/expected.html diff --git a/test/fixtures/render/autotest/text-replacement/template.marko b/test/autotests/render/text-replacement/template.marko similarity index 100% rename from test/fixtures/render/autotest/text-replacement/template.marko rename to test/autotests/render/text-replacement/template.marko diff --git a/test/fixtures/render/autotest/text-replacement/test.js b/test/autotests/render/text-replacement/test.js similarity index 100% rename from test/fixtures/render/autotest/text-replacement/test.js rename to test/autotests/render/text-replacement/test.js diff --git a/test/fixtures/render/autotest/unless-else/expected.html b/test/autotests/render/unless-else/expected.html similarity index 100% rename from test/fixtures/render/autotest/unless-else/expected.html rename to test/autotests/render/unless-else/expected.html diff --git a/test/fixtures/render/autotest/unless-else/template.marko b/test/autotests/render/unless-else/template.marko similarity index 100% rename from test/fixtures/render/autotest/unless-else/template.marko rename to test/autotests/render/unless-else/template.marko diff --git a/test/fixtures/render/autotest/unless-else/test.js b/test/autotests/render/unless-else/test.js similarity index 100% rename from test/fixtures/render/autotest/unless-else/test.js rename to test/autotests/render/unless-else/test.js diff --git a/test/fixtures/render/autotest/var-assign/expected.html b/test/autotests/render/var-assign/expected.html similarity index 100% rename from test/fixtures/render/autotest/var-assign/expected.html rename to test/autotests/render/var-assign/expected.html diff --git a/test/fixtures/render/autotest/var-assign/template.marko b/test/autotests/render/var-assign/template.marko similarity index 100% rename from test/fixtures/render/autotest/var-assign/template.marko rename to test/autotests/render/var-assign/template.marko diff --git a/test/fixtures/render/autotest/var-assign/test.js b/test/autotests/render/var-assign/test.js similarity index 100% rename from test/fixtures/render/autotest/var-assign/test.js rename to test/autotests/render/var-assign/test.js diff --git a/test/fixtures/render/autotest/var-scoped/expected.html b/test/autotests/render/var-scoped/expected.html similarity index 100% rename from test/fixtures/render/autotest/var-scoped/expected.html rename to test/autotests/render/var-scoped/expected.html diff --git a/test/fixtures/render/autotest/var-scoped/template.marko b/test/autotests/render/var-scoped/template.marko similarity index 100% rename from test/fixtures/render/autotest/var-scoped/template.marko rename to test/autotests/render/var-scoped/template.marko diff --git a/test/fixtures/render/autotest/var-scoped/test.js b/test/autotests/render/var-scoped/test.js similarity index 100% rename from test/fixtures/render/autotest/var-scoped/test.js rename to test/autotests/render/var-scoped/test.js diff --git a/test/fixtures/render/autotest/var-scoped2/expected.html b/test/autotests/render/var-scoped2/expected.html similarity index 100% rename from test/fixtures/render/autotest/var-scoped2/expected.html rename to test/autotests/render/var-scoped2/expected.html diff --git a/test/fixtures/render/autotest/var-scoped2/template.marko b/test/autotests/render/var-scoped2/template.marko similarity index 100% rename from test/fixtures/render/autotest/var-scoped2/template.marko rename to test/autotests/render/var-scoped2/template.marko diff --git a/test/fixtures/render/autotest/var-scoped2/test.js b/test/autotests/render/var-scoped2/test.js similarity index 100% rename from test/fixtures/render/autotest/var-scoped2/test.js rename to test/autotests/render/var-scoped2/test.js diff --git a/test/fixtures/render/autotest/var/expected.html b/test/autotests/render/var/expected.html similarity index 100% rename from test/fixtures/render/autotest/var/expected.html rename to test/autotests/render/var/expected.html diff --git a/test/fixtures/render/autotest/var/template.marko b/test/autotests/render/var/template.marko similarity index 100% rename from test/fixtures/render/autotest/var/template.marko rename to test/autotests/render/var/template.marko diff --git a/test/fixtures/render/autotest/var/test.js b/test/autotests/render/var/test.js similarity index 100% rename from test/fixtures/render/autotest/var/test.js rename to test/autotests/render/var/test.js diff --git a/test/fixtures/render/autotest/while-attr/expected.html b/test/autotests/render/while-attr/expected.html similarity index 100% rename from test/fixtures/render/autotest/while-attr/expected.html rename to test/autotests/render/while-attr/expected.html diff --git a/test/fixtures/render/autotest/while-attr/template.marko b/test/autotests/render/while-attr/template.marko similarity index 100% rename from test/fixtures/render/autotest/while-attr/template.marko rename to test/autotests/render/while-attr/template.marko diff --git a/test/fixtures/render/autotest/while-attr/test.js b/test/autotests/render/while-attr/test.js similarity index 100% rename from test/fixtures/render/autotest/while-attr/test.js rename to test/autotests/render/while-attr/test.js diff --git a/test/fixtures/render/autotest/while-tag/expected.html b/test/autotests/render/while-tag/expected.html similarity index 100% rename from test/fixtures/render/autotest/while-tag/expected.html rename to test/autotests/render/while-tag/expected.html diff --git a/test/fixtures/render/autotest/while-tag/template.marko b/test/autotests/render/while-tag/template.marko similarity index 100% rename from test/fixtures/render/autotest/while-tag/template.marko rename to test/autotests/render/while-tag/template.marko diff --git a/test/fixtures/render/autotest/while-tag/test.js b/test/autotests/render/while-tag/test.js similarity index 100% rename from test/fixtures/render/autotest/while-tag/test.js rename to test/autotests/render/while-tag/test.js diff --git a/test/fixtures/render/autotest/whitespace-contentplaceholder-literal-string/expected.html b/test/autotests/render/whitespace-contentplaceholder-literal-string/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace-contentplaceholder-literal-string/expected.html rename to test/autotests/render/whitespace-contentplaceholder-literal-string/expected.html diff --git a/test/fixtures/render/autotest/whitespace-contentplaceholder-literal-string/template.marko b/test/autotests/render/whitespace-contentplaceholder-literal-string/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace-contentplaceholder-literal-string/template.marko rename to test/autotests/render/whitespace-contentplaceholder-literal-string/template.marko diff --git a/test/fixtures/render/autotest/whitespace-contentplaceholder-literal-string/test.js b/test/autotests/render/whitespace-contentplaceholder-literal-string/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace-contentplaceholder-literal-string/test.js rename to test/autotests/render/whitespace-contentplaceholder-literal-string/test.js diff --git a/test/fixtures/render/autotest/whitespace-inline-elements/expected.html b/test/autotests/render/whitespace-inline-elements/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace-inline-elements/expected.html rename to test/autotests/render/whitespace-inline-elements/expected.html diff --git a/test/fixtures/render/autotest/whitespace-inline-elements/template.marko b/test/autotests/render/whitespace-inline-elements/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace-inline-elements/template.marko rename to test/autotests/render/whitespace-inline-elements/template.marko diff --git a/test/fixtures/render/autotest/whitespace-inline-elements/test.js b/test/autotests/render/whitespace-inline-elements/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace-inline-elements/test.js rename to test/autotests/render/whitespace-inline-elements/test.js diff --git a/test/fixtures/render/autotest/whitespace-pre/expected.html b/test/autotests/render/whitespace-pre/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace-pre/expected.html rename to test/autotests/render/whitespace-pre/expected.html diff --git a/test/fixtures/render/autotest/whitespace-pre/template.marko b/test/autotests/render/whitespace-pre/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace-pre/template.marko rename to test/autotests/render/whitespace-pre/template.marko diff --git a/test/fixtures/render/autotest/whitespace-pre/test.js b/test/autotests/render/whitespace-pre/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace-pre/test.js rename to test/autotests/render/whitespace-pre/test.js diff --git a/test/fixtures/render/autotest/whitespace-script/expected.html b/test/autotests/render/whitespace-script/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace-script/expected.html rename to test/autotests/render/whitespace-script/expected.html diff --git a/test/fixtures/render/autotest/whitespace-script/template.marko b/test/autotests/render/whitespace-script/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace-script/template.marko rename to test/autotests/render/whitespace-script/template.marko diff --git a/test/fixtures/render/autotest/whitespace-script/test.js b/test/autotests/render/whitespace-script/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace-script/test.js rename to test/autotests/render/whitespace-script/test.js diff --git a/test/fixtures/render/autotest/whitespace-textarea-capitalized/expected.html b/test/autotests/render/whitespace-textarea-capitalized/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace-textarea-capitalized/expected.html rename to test/autotests/render/whitespace-textarea-capitalized/expected.html diff --git a/test/fixtures/render/autotest/whitespace-textarea-capitalized/template.marko b/test/autotests/render/whitespace-textarea-capitalized/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace-textarea-capitalized/template.marko rename to test/autotests/render/whitespace-textarea-capitalized/template.marko diff --git a/test/fixtures/render/autotest/whitespace-textarea-capitalized/test.js b/test/autotests/render/whitespace-textarea-capitalized/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace-textarea-capitalized/test.js rename to test/autotests/render/whitespace-textarea-capitalized/test.js diff --git a/test/fixtures/render/autotest/whitespace-textarea/expected.html b/test/autotests/render/whitespace-textarea/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace-textarea/expected.html rename to test/autotests/render/whitespace-textarea/expected.html diff --git a/test/fixtures/render/autotest/whitespace-textarea/template.marko b/test/autotests/render/whitespace-textarea/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace-textarea/template.marko rename to test/autotests/render/whitespace-textarea/template.marko diff --git a/test/fixtures/render/autotest/whitespace-textarea/test.js b/test/autotests/render/whitespace-textarea/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace-textarea/test.js rename to test/autotests/render/whitespace-textarea/test.js diff --git a/test/fixtures/render/autotest/whitespace/expected.html b/test/autotests/render/whitespace/expected.html similarity index 100% rename from test/fixtures/render/autotest/whitespace/expected.html rename to test/autotests/render/whitespace/expected.html diff --git a/test/fixtures/render/autotest/whitespace/template.marko b/test/autotests/render/whitespace/template.marko similarity index 100% rename from test/fixtures/render/autotest/whitespace/template.marko rename to test/autotests/render/whitespace/template.marko diff --git a/test/fixtures/render/autotest/whitespace/test.js b/test/autotests/render/whitespace/test.js similarity index 100% rename from test/fixtures/render/autotest/whitespace/test.js rename to test/autotests/render/whitespace/test.js diff --git a/test/fixtures/render/autotest/xml-escaping/expected.html b/test/autotests/render/xml-escaping/expected.html similarity index 100% rename from test/fixtures/render/autotest/xml-escaping/expected.html rename to test/autotests/render/xml-escaping/expected.html diff --git a/test/fixtures/render/autotest/xml-escaping/template.marko b/test/autotests/render/xml-escaping/template.marko similarity index 100% rename from test/fixtures/render/autotest/xml-escaping/template.marko rename to test/autotests/render/xml-escaping/template.marko diff --git a/test/fixtures/render/autotest/xml-escaping/test.js b/test/autotests/render/xml-escaping/test.js similarity index 100% rename from test/fixtures/render/autotest/xml-escaping/test.js rename to test/autotests/render/xml-escaping/test.js diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-gaps/a/b/c/marko.json b/test/autotests/taglib-finder/deeply-nested-gaps/a/b/c/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-gaps/a/b/c/marko.json rename to test/autotests/taglib-finder/deeply-nested-gaps/a/b/c/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-gaps/a/marko.json b/test/autotests/taglib-finder/deeply-nested-gaps/a/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-gaps/a/marko.json rename to test/autotests/taglib-finder/deeply-nested-gaps/a/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-gaps/expected.json b/test/autotests/taglib-finder/deeply-nested-gaps/expected.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-gaps/expected.json rename to test/autotests/taglib-finder/deeply-nested-gaps/expected.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-gaps/package.json b/test/autotests/taglib-finder/deeply-nested-gaps/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-gaps/package.json rename to test/autotests/taglib-finder/deeply-nested-gaps/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-gaps/test.js b/test/autotests/taglib-finder/deeply-nested-gaps/test.js similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-gaps/test.js rename to test/autotests/taglib-finder/deeply-nested-gaps/test.js diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/a/b/c/marko.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/a/b/c/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/a/b/c/marko.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/a/b/c/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/a/b/marko.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/a/b/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/a/b/marko.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/a/b/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/a/marko.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/a/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/a/marko.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/a/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/expected.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/expected.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/expected.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/expected.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dependency-with-taglib/marko.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dependency-with-taglib/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dependency-with-taglib/marko.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dependency-with-taglib/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dependency-with-taglib/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dependency-with-taglib/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dependency-with-taglib/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dependency-with-taglib/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dependency-without-taglib/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dependency-without-taglib/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dependency-without-taglib/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dependency-without-taglib/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/marko.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/marko.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dev-dependency-with-taglib/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dev-dependency-without-taglib/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dev-dependency-without-taglib/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/dev-dependency-without-taglib/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/dev-dependency-without-taglib/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/marko.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/marko.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/peer-dependency-with-taglib/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/peer-dependency-without-taglib/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/peer-dependency-without-taglib/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/node_modules/peer-dependency-without-taglib/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/node_modules/peer-dependency-without-taglib/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/package.json b/test/autotests/taglib-finder/deeply-nested-plus-installed/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/package.json rename to test/autotests/taglib-finder/deeply-nested-plus-installed/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/test.js b/test/autotests/taglib-finder/deeply-nested-plus-installed/test.js similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested-plus-installed/test.js rename to test/autotests/taglib-finder/deeply-nested-plus-installed/test.js diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested/a/b/c/marko.json b/test/autotests/taglib-finder/deeply-nested/a/b/c/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested/a/b/c/marko.json rename to test/autotests/taglib-finder/deeply-nested/a/b/c/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested/a/b/marko.json b/test/autotests/taglib-finder/deeply-nested/a/b/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested/a/b/marko.json rename to test/autotests/taglib-finder/deeply-nested/a/b/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested/a/marko.json b/test/autotests/taglib-finder/deeply-nested/a/marko.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested/a/marko.json rename to test/autotests/taglib-finder/deeply-nested/a/marko.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested/expected.json b/test/autotests/taglib-finder/deeply-nested/expected.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested/expected.json rename to test/autotests/taglib-finder/deeply-nested/expected.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested/package.json b/test/autotests/taglib-finder/deeply-nested/package.json similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested/package.json rename to test/autotests/taglib-finder/deeply-nested/package.json diff --git a/test/fixtures/taglib-finder/autotest/deeply-nested/test.js b/test/autotests/taglib-finder/deeply-nested/test.js similarity index 100% rename from test/fixtures/taglib-finder/autotest/deeply-nested/test.js rename to test/autotests/taglib-finder/deeply-nested/test.js diff --git a/test/autotests/taglib-loader/custom-extensions/marko.json b/test/autotests/taglib-loader/custom-extensions/marko.json new file mode 100644 index 000000000..e85a78200 --- /dev/null +++ b/test/autotests/taglib-loader/custom-extensions/marko.json @@ -0,0 +1,3 @@ +{ + "tags-dir": "./tags" +} \ No newline at end of file diff --git a/test/autotests/taglib-loader/custom-extensions/tags/test-declared-attributes/renderer.js b/test/autotests/taglib-loader/custom-extensions/tags/test-declared-attributes/renderer.js new file mode 100644 index 000000000..fb402864c --- /dev/null +++ b/test/autotests/taglib-loader/custom-extensions/tags/test-declared-attributes/renderer.js @@ -0,0 +1,4 @@ +module.exports = function simple(input, out) { + var daysOld = input.age * 365; + out.write('Hello ' + input.name + '! You are ' + daysOld + ' days old.'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-loader/custom-extensions/test.js b/test/autotests/taglib-loader/custom-extensions/test.js new file mode 100644 index 000000000..e8e6562a2 --- /dev/null +++ b/test/autotests/taglib-loader/custom-extensions/test.js @@ -0,0 +1,8 @@ +var nodePath = require('path'); + +exports.check = function(taglibLoader, expect) { + var taglib = taglibLoader.load(nodePath.join(__dirname, 'marko.json')); + + expect(taglib != null).to.equal(true); + expect(taglib).to.have.deep.property("tags.test-declared-attributes.renderer").to.have.string('renderer.js'); +}; \ No newline at end of file diff --git a/test/fixtures/taglib-shorthand/marko.json b/test/autotests/taglib-loader/shorthand-attrs-and-tags/marko.json similarity index 100% rename from test/fixtures/taglib-shorthand/marko.json rename to test/autotests/taglib-loader/shorthand-attrs-and-tags/marko.json diff --git a/test/autotests/taglib-loader/shorthand-attrs-and-tags/test.js b/test/autotests/taglib-loader/shorthand-attrs-and-tags/test.js new file mode 100644 index 000000000..2dc4517fa --- /dev/null +++ b/test/autotests/taglib-loader/shorthand-attrs-and-tags/test.js @@ -0,0 +1,22 @@ +var nodePath = require('path'); + +exports.check = function(taglibLoader, expect) { + var taglib = taglibLoader.load(nodePath.join(__dirname, 'marko.json')); + expect(taglib != null).to.equal(true); + + var shorthandCheckbox = taglib.tags['shorthand-checkbox']; + expect(shorthandCheckbox.attributes.checked.type).to.equal('boolean'); + expect(shorthandCheckbox.attributes.label.type).to.equal('string'); + expect(shorthandCheckbox.nestedTags.label.type).to.equal('string'); + expect(shorthandCheckbox.nestedTags.checked.type).to.equal('boolean'); + + var shorthandTabsTag = taglib.tags['shorthand-tabs']; + expect(shorthandTabsTag.attributes.orientation != null).to.equal(true); + expect(shorthandTabsTag.attributes.orientation.type).to.equal('string'); + expect(shorthandTabsTag.attributes.tabs.type).to.equal('expression'); + + var nestedTabTag = shorthandTabsTag.nestedTags.tab; + expect(nestedTabTag.attributes.label != null).to.equal(true); + expect(nestedTabTag.isRepeated).to.equal(true); + expect(nestedTabTag.targetProperty).to.equal('tabs'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/cache-lookup/baz/baz-tag.js b/test/autotests/taglib-lookup/cache-lookup/baz/baz-tag.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/autotests/taglib-lookup/cache-lookup/baz/marko.json b/test/autotests/taglib-lookup/cache-lookup/baz/marko.json new file mode 100644 index 000000000..8f6c0129d --- /dev/null +++ b/test/autotests/taglib-lookup/cache-lookup/baz/marko.json @@ -0,0 +1,5 @@ +{ + "": { + "renderer": "./baz-tag.js" + } +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/cache-lookup/foo/foo-tag.js b/test/autotests/taglib-lookup/cache-lookup/foo/foo-tag.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/autotests/taglib-lookup/cache-lookup/foo/marko.json b/test/autotests/taglib-lookup/cache-lookup/foo/marko.json new file mode 100644 index 000000000..4b268a5d7 --- /dev/null +++ b/test/autotests/taglib-lookup/cache-lookup/foo/marko.json @@ -0,0 +1,5 @@ +{ + "": { + "renderer": "./foo-tag.js" + } +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/cache-lookup/test.js b/test/autotests/taglib-lookup/cache-lookup/test.js new file mode 100644 index 000000000..70af97850 --- /dev/null +++ b/test/autotests/taglib-lookup/cache-lookup/test.js @@ -0,0 +1,11 @@ +var nodePath = require('path'); + +exports.check = function(taglibLookup, expect) { + var lookup1 = taglibLookup.buildLookup(nodePath.join(__dirname, 'foo')); + var lookup2 = taglibLookup.buildLookup(nodePath.join(__dirname, 'foo')); + var lookup3 = taglibLookup.buildLookup(nodePath.join(__dirname, 'foo/empty')); + var lookup4 = taglibLookup.buildLookup(nodePath.join(__dirname, 'baz')); + expect(lookup1).to.equal(lookup2); + expect(lookup2).to.equal(lookup3); + expect(lookup1).to.not.equal(lookup4); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/core-attributes/expected.js b/test/autotests/taglib-lookup/core-attributes/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/core-attributes/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/autotests/taglib-lookup/core-attributes/test.js b/test/autotests/taglib-lookup/core-attributes/test.js new file mode 100644 index 000000000..a228c7e99 --- /dev/null +++ b/test/autotests/taglib-lookup/core-attributes/test.js @@ -0,0 +1,7 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + // console.log('LOOKUP: ', Object.keys(lookup.attributes)); + var ifAttr = lookup.getAttribute('div', 'if'); + expect(ifAttr != null).to.equal(true); + expect(ifAttr.type).to.equal('argument'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/core-tag/expected.js b/test/autotests/taglib-lookup/core-tag/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/core-tag/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/autotests/taglib-lookup/core-tag/test.js b/test/autotests/taglib-lookup/core-tag/test.js new file mode 100644 index 000000000..6494f6463 --- /dev/null +++ b/test/autotests/taglib-lookup/core-tag/test.js @@ -0,0 +1,6 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + var ifTag = lookup.getTag('if'); + expect(ifTag != null).to.equal(true); + expect(ifTag.name).to.equal('if'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/custom-tag/marko.json b/test/autotests/taglib-lookup/custom-tag/marko.json new file mode 100644 index 000000000..0433c6aa8 --- /dev/null +++ b/test/autotests/taglib-lookup/custom-tag/marko.json @@ -0,0 +1,3 @@ +{ + "": "taglib/test-hello/marko-tag.json" +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/custom-tag/taglib/test-hello/marko-tag.json b/test/autotests/taglib-lookup/custom-tag/taglib/test-hello/marko-tag.json new file mode 100644 index 000000000..4b5607da1 --- /dev/null +++ b/test/autotests/taglib-lookup/custom-tag/taglib/test-hello/marko-tag.json @@ -0,0 +1,3 @@ +{ + "renderer": "./renderer.js" +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/custom-tag/taglib/test-hello/renderer.js b/test/autotests/taglib-lookup/custom-tag/taglib/test-hello/renderer.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/autotests/taglib-lookup/custom-tag/test.js b/test/autotests/taglib-lookup/custom-tag/test.js new file mode 100644 index 000000000..b0c97e8a0 --- /dev/null +++ b/test/autotests/taglib-lookup/custom-tag/test.js @@ -0,0 +1,7 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + var tag = lookup.getTag('test-hello'); + // console.log(Object.keys(lookup.tags)); + expect(tag != null).to.equal(true); + expect(tag.name).to.equal('test-hello'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/de-dupe/expected.js b/test/autotests/taglib-lookup/de-dupe/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/de-dupe/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/fixtures/taglib-duplicate/foo-renderer.js b/test/autotests/taglib-lookup/de-dupe/foo-renderer.js similarity index 100% rename from test/fixtures/taglib-duplicate/foo-renderer.js rename to test/autotests/taglib-lookup/de-dupe/foo-renderer.js diff --git a/test/fixtures/taglib-duplicate/marko.json b/test/autotests/taglib-lookup/de-dupe/marko.json similarity index 100% rename from test/fixtures/taglib-duplicate/marko.json rename to test/autotests/taglib-lookup/de-dupe/marko.json diff --git a/test/fixtures/taglib-duplicate/taglib-duplicate/bar-renderer.js b/test/autotests/taglib-lookup/de-dupe/taglib-duplicate/bar-renderer.js similarity index 100% rename from test/fixtures/taglib-duplicate/taglib-duplicate/bar-renderer.js rename to test/autotests/taglib-lookup/de-dupe/taglib-duplicate/bar-renderer.js diff --git a/test/fixtures/taglib-duplicate/taglib-duplicate/marko.json b/test/autotests/taglib-lookup/de-dupe/taglib-duplicate/marko.json similarity index 100% rename from test/fixtures/taglib-duplicate/taglib-duplicate/marko.json rename to test/autotests/taglib-lookup/de-dupe/taglib-duplicate/marko.json diff --git a/test/autotests/taglib-lookup/de-dupe/test.js b/test/autotests/taglib-lookup/de-dupe/test.js new file mode 100644 index 000000000..775bb3273 --- /dev/null +++ b/test/autotests/taglib-lookup/de-dupe/test.js @@ -0,0 +1,16 @@ +var nodePath = require('path'); + +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'taglib-duplicate')); + + // The "duplicate-bar" tag was declared in the lower + // taglib so it should have been found since the taglib + // should not have been de-duped. + var barTag = lookup.getTag('duplicate-bar'); + expect(barTag != null).to.equal(true); + + // The "duplicate-foo" tag was declared in the higher + // up taglib so it should have been discarded + var fooTag = lookup.getTag('duplicate-foo'); + expect(fooTag == null).to.equal(true); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/declared-and-dynamic-attrs/expected.js b/test/autotests/taglib-lookup/declared-and-dynamic-attrs/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/declared-and-dynamic-attrs/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/fixtures/taglib-dynamic-attribute/marko.json b/test/autotests/taglib-lookup/declared-and-dynamic-attrs/marko.json similarity index 100% rename from test/fixtures/taglib-dynamic-attribute/marko.json rename to test/autotests/taglib-lookup/declared-and-dynamic-attrs/marko.json diff --git a/test/fixtures/taglib-dynamic-attribute/renderer.js b/test/autotests/taglib-lookup/declared-and-dynamic-attrs/renderer.js similarity index 100% rename from test/fixtures/taglib-dynamic-attribute/renderer.js rename to test/autotests/taglib-lookup/declared-and-dynamic-attrs/renderer.js diff --git a/test/autotests/taglib-lookup/declared-and-dynamic-attrs/test.js b/test/autotests/taglib-lookup/declared-and-dynamic-attrs/test.js new file mode 100644 index 000000000..2a1e1333c --- /dev/null +++ b/test/autotests/taglib-lookup/declared-and-dynamic-attrs/test.js @@ -0,0 +1,12 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + // console.log(Object.keys(lookup.attributes)); + var attr = lookup.getAttribute('test-dynamic-attribute', 'DYNAMIC'); + expect(attr != null).to.equal(true); + expect(attr.type).to.equal('boolean'); + expect(attr.name).to.equal('*'); + + attr = lookup.getAttribute('test-dynamic-attribute', 'foo'); + expect(attr != null).to.equal(true); + expect(attr.type).to.equal('string'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/global-attrs/expected.js b/test/autotests/taglib-lookup/global-attrs/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/global-attrs/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/fixtures/taglib-custom-attribute/marko.json b/test/autotests/taglib-lookup/global-attrs/marko.json similarity index 100% rename from test/fixtures/taglib-custom-attribute/marko.json rename to test/autotests/taglib-lookup/global-attrs/marko.json diff --git a/test/autotests/taglib-lookup/global-attrs/test.js b/test/autotests/taglib-lookup/global-attrs/test.js new file mode 100644 index 000000000..1b2bc5b31 --- /dev/null +++ b/test/autotests/taglib-lookup/global-attrs/test.js @@ -0,0 +1,7 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + // console.log('LOOKUP: ', Object.keys(lookup.attributes)); + var attrDef = lookup.getAttribute('test-dynamic-attributes', 'global-attribute'); + expect(attrDef != null).to.equal(true); + expect(attrDef.type).to.equal('boolean'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/nested-tags-attrs/expected.js b/test/autotests/taglib-lookup/nested-tags-attrs/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/nested-tags-attrs/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/fixtures/taglib-nested/foo-renderer.js b/test/autotests/taglib-lookup/nested-tags-attrs/foo-renderer.js similarity index 100% rename from test/fixtures/taglib-nested/foo-renderer.js rename to test/autotests/taglib-lookup/nested-tags-attrs/foo-renderer.js diff --git a/test/fixtures/taglib-nested/marko.json b/test/autotests/taglib-lookup/nested-tags-attrs/marko.json similarity index 100% rename from test/fixtures/taglib-nested/marko.json rename to test/autotests/taglib-lookup/nested-tags-attrs/marko.json diff --git a/test/autotests/taglib-lookup/nested-tags-attrs/test.js b/test/autotests/taglib-lookup/nested-tags-attrs/test.js new file mode 100644 index 000000000..c0296c57d --- /dev/null +++ b/test/autotests/taglib-lookup/nested-tags-attrs/test.js @@ -0,0 +1,7 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + // console.log(Object.keys(lookup.attributes)); + var attr = lookup.getAttribute('nested-foo', 'attr1'); + expect(attr != null).to.equal(true); + expect(attr.type).to.equal('string'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/nested-tags/expected.js b/test/autotests/taglib-lookup/nested-tags/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/nested-tags/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/autotests/taglib-lookup/nested-tags/foo-renderer.js b/test/autotests/taglib-lookup/nested-tags/foo-renderer.js new file mode 100644 index 000000000..7ba89a90b --- /dev/null +++ b/test/autotests/taglib-lookup/nested-tags/foo-renderer.js @@ -0,0 +1,3 @@ +exports.render = function(input, out) { + out.write('nested/a'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/nested-tags/marko.json b/test/autotests/taglib-lookup/nested-tags/marko.json new file mode 100644 index 000000000..db511eda3 --- /dev/null +++ b/test/autotests/taglib-lookup/nested-tags/marko.json @@ -0,0 +1,10 @@ +{ + "tags": { + "nested-foo": { + "renderer": "./foo-renderer.js", + "attributes": { + "attr1": "string" + } + } + } +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/nested-tags/test.js b/test/autotests/taglib-lookup/nested-tags/test.js new file mode 100644 index 000000000..ff42319bc --- /dev/null +++ b/test/autotests/taglib-lookup/nested-tags/test.js @@ -0,0 +1,7 @@ +exports.check = function(taglibLookup, expect) { + var lookup = taglibLookup.buildLookup(__dirname); + var tag = lookup.getTag('nested-foo'); + + expect(tag != null).to.equal(true); + expect(tag.name).to.equal('nested-foo'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-core-only/foo-renderer.js b/test/autotests/taglib-lookup/transformers-core-only/foo-renderer.js new file mode 100644 index 000000000..7ba89a90b --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-core-only/foo-renderer.js @@ -0,0 +1,3 @@ +exports.render = function(input, out) { + out.write('nested/a'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-core-only/marko.json b/test/autotests/taglib-lookup/transformers-core-only/marko.json new file mode 100644 index 000000000..db511eda3 --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-core-only/marko.json @@ -0,0 +1,10 @@ +{ + "tags": { + "nested-foo": { + "renderer": "./foo-renderer.js", + "attributes": { + "attr1": "string" + } + } + } +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-core-only/test.js b/test/autotests/taglib-lookup/transformers-core-only/test.js new file mode 100644 index 000000000..0d23dd9e6 --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-core-only/test.js @@ -0,0 +1,12 @@ +exports.check = function(taglibLookup, expect) { + var transformers = []; + + + var lookup = taglibLookup.buildLookup(__dirname); + + lookup.forEachTagTransformer('div', function(transformer) { + transformers.push(transformer); + }); + + expect(transformers.length).to.equal(1); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-custom-node/expected.js b/test/autotests/taglib-lookup/transformers-custom-node/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-custom-node/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-custom-node/foo-renderer.js b/test/autotests/taglib-lookup/transformers-custom-node/foo-renderer.js new file mode 100644 index 000000000..7ba89a90b --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-custom-node/foo-renderer.js @@ -0,0 +1,3 @@ +exports.render = function(input, out) { + out.write('nested/a'); +}; \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-custom-node/marko.json b/test/autotests/taglib-lookup/transformers-custom-node/marko.json new file mode 100644 index 000000000..db511eda3 --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-custom-node/marko.json @@ -0,0 +1,10 @@ +{ + "tags": { + "nested-foo": { + "renderer": "./foo-renderer.js", + "attributes": { + "attr1": "string" + } + } + } +} \ No newline at end of file diff --git a/test/autotests/taglib-lookup/transformers-custom-node/test.js b/test/autotests/taglib-lookup/transformers-custom-node/test.js new file mode 100644 index 000000000..9eeb335f7 --- /dev/null +++ b/test/autotests/taglib-lookup/transformers-custom-node/test.js @@ -0,0 +1,12 @@ +exports.check = function(taglibLookup, expect) { + var transformers = []; + + var lookup = taglibLookup.buildLookup(__dirname); + + lookup.forEachTagTransformer('else', function(transformer) { + transformers.push(transformer); + }); + + expect(transformers.length).to.equal(1); + expect(transformers[0].path.indexOf('core-transformer')).to.not.equal(-1); +}; \ No newline at end of file diff --git a/test/fixtures/taglib-transformers/bar-transformer.js b/test/autotests/taglib-lookup/transformers/bar-transformer.js similarity index 100% rename from test/fixtures/taglib-transformers/bar-transformer.js rename to test/autotests/taglib-lookup/transformers/bar-transformer.js diff --git a/test/autotests/taglib-lookup/transformers/expected.js b/test/autotests/taglib-lookup/transformers/expected.js new file mode 100644 index 000000000..2fd9f9570 --- /dev/null +++ b/test/autotests/taglib-lookup/transformers/expected.js @@ -0,0 +1 @@ +TBD \ No newline at end of file diff --git a/test/fixtures/taglib-transformers/foo-transformer.js b/test/autotests/taglib-lookup/transformers/foo-transformer.js similarity index 100% rename from test/fixtures/taglib-transformers/foo-transformer.js rename to test/autotests/taglib-lookup/transformers/foo-transformer.js diff --git a/test/fixtures/taglib-transformers/marko.json b/test/autotests/taglib-lookup/transformers/marko.json similarity index 100% rename from test/fixtures/taglib-transformers/marko.json rename to test/autotests/taglib-lookup/transformers/marko.json diff --git a/test/autotests/taglib-lookup/transformers/test.js b/test/autotests/taglib-lookup/transformers/test.js new file mode 100644 index 000000000..3e2bf40ef --- /dev/null +++ b/test/autotests/taglib-lookup/transformers/test.js @@ -0,0 +1,32 @@ +exports.check = function(taglibLookup, expect) { + var transformers; + var lookup; + // lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/nested')); + + // transformers = []; + // lookup.forEachTagTransformer('nested-foo', function(transformer) { + // transformers.push(transformer); + // }); + + // expect(transformers.length).to.equal(2); + + lookup = taglibLookup.buildLookup(__dirname); + + transformers = []; + lookup.forEachTagTransformer('transform-foo', function(transformer) { + transformers.push(transformer); + }); + + expect(transformers.length).to.equal(2); + expect(transformers[0].path.indexOf('foo')).to.not.equal(-1); + expect(transformers[1].path.indexOf('core-transformer')).to.not.equal(-1); + + transformers = []; + lookup.forEachTagTransformer('transform-bar', function(transformer) { + transformers.push(transformer); + }); + + expect(transformers.length).to.equal(2); + expect(transformers[0].path.indexOf('core-transformer')).to.not.equal(-1); + expect(transformers[1].path.indexOf('bar')).to.not.equal(-1); +}; \ No newline at end of file diff --git a/test/fixtures/transformAttrExpression/autotest/id-plus-id-plus-literal/expected.json b/test/autotests/transformAttrExpression/id-plus-id-plus-literal/expected.json similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/id-plus-id-plus-literal/expected.json rename to test/autotests/transformAttrExpression/id-plus-id-plus-literal/expected.json diff --git a/test/fixtures/transformAttrExpression/autotest/id-plus-id-plus-literal/input.txt b/test/autotests/transformAttrExpression/id-plus-id-plus-literal/input.txt similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/id-plus-id-plus-literal/input.txt rename to test/autotests/transformAttrExpression/id-plus-id-plus-literal/input.txt diff --git a/test/fixtures/transformAttrExpression/autotest/id-plus-literal/expected.json b/test/autotests/transformAttrExpression/id-plus-literal/expected.json similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/id-plus-literal/expected.json rename to test/autotests/transformAttrExpression/id-plus-literal/expected.json diff --git a/test/fixtures/transformAttrExpression/autotest/id-plus-literal/input.txt b/test/autotests/transformAttrExpression/id-plus-literal/input.txt similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/id-plus-literal/input.txt rename to test/autotests/transformAttrExpression/id-plus-literal/input.txt diff --git a/test/fixtures/transformAttrExpression/autotest/literal-plus-id-plus-id/expected.json b/test/autotests/transformAttrExpression/literal-plus-id-plus-id/expected.json similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/literal-plus-id-plus-id/expected.json rename to test/autotests/transformAttrExpression/literal-plus-id-plus-id/expected.json diff --git a/test/fixtures/transformAttrExpression/autotest/literal-plus-id-plus-id/input.txt b/test/autotests/transformAttrExpression/literal-plus-id-plus-id/input.txt similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/literal-plus-id-plus-id/input.txt rename to test/autotests/transformAttrExpression/literal-plus-id-plus-id/input.txt diff --git a/test/fixtures/transformAttrExpression/autotest/literal-plus-id/expected.json b/test/autotests/transformAttrExpression/literal-plus-id/expected.json similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/literal-plus-id/expected.json rename to test/autotests/transformAttrExpression/literal-plus-id/expected.json diff --git a/test/fixtures/transformAttrExpression/autotest/literal-plus-id/input.txt b/test/autotests/transformAttrExpression/literal-plus-id/input.txt similarity index 100% rename from test/fixtures/transformAttrExpression/autotest/literal-plus-id/input.txt rename to test/autotests/transformAttrExpression/literal-plus-id/input.txt diff --git a/test/fixtures/walker/autotest/remove-attrs/expected.json b/test/autotests/walker/remove-attrs/expected.json similarity index 100% rename from test/fixtures/walker/autotest/remove-attrs/expected.json rename to test/autotests/walker/remove-attrs/expected.json diff --git a/test/fixtures/walker/autotest/remove-attrs/index.js b/test/autotests/walker/remove-attrs/index.js similarity index 100% rename from test/fixtures/walker/autotest/remove-attrs/index.js rename to test/autotests/walker/remove-attrs/index.js diff --git a/test/fixtures/walker/autotest/remove-exit/expected.json b/test/autotests/walker/remove-exit/expected.json similarity index 100% rename from test/fixtures/walker/autotest/remove-exit/expected.json rename to test/autotests/walker/remove-exit/expected.json diff --git a/test/fixtures/walker/autotest/remove-exit/index.js b/test/autotests/walker/remove-exit/index.js similarity index 100% rename from test/fixtures/walker/autotest/remove-exit/index.js rename to test/autotests/walker/remove-exit/index.js diff --git a/test/fixtures/walker/autotest/remove-exit2/expected.json b/test/autotests/walker/remove-exit2/expected.json similarity index 100% rename from test/fixtures/walker/autotest/remove-exit2/expected.json rename to test/autotests/walker/remove-exit2/expected.json diff --git a/test/fixtures/walker/autotest/remove-exit2/index.js b/test/autotests/walker/remove-exit2/index.js similarity index 100% rename from test/fixtures/walker/autotest/remove-exit2/index.js rename to test/autotests/walker/remove-exit2/index.js diff --git a/test/fixtures/walker/autotest/remove/expected.json b/test/autotests/walker/remove/expected.json similarity index 100% rename from test/fixtures/walker/autotest/remove/expected.json rename to test/autotests/walker/remove/expected.json diff --git a/test/fixtures/walker/autotest/remove/index.js b/test/autotests/walker/remove/index.js similarity index 100% rename from test/fixtures/walker/autotest/remove/index.js rename to test/autotests/walker/remove/index.js diff --git a/test/fixtures/walker/autotest/remove2/expected.json b/test/autotests/walker/remove2/expected.json similarity index 100% rename from test/fixtures/walker/autotest/remove2/expected.json rename to test/autotests/walker/remove2/expected.json diff --git a/test/fixtures/walker/autotest/remove2/index.js b/test/autotests/walker/remove2/index.js similarity index 100% rename from test/fixtures/walker/autotest/remove2/index.js rename to test/autotests/walker/remove2/index.js diff --git a/test/fixtures/walker/autotest/replace/expected.json b/test/autotests/walker/replace/expected.json similarity index 100% rename from test/fixtures/walker/autotest/replace/expected.json rename to test/autotests/walker/replace/expected.json diff --git a/test/fixtures/walker/autotest/replace/index.js b/test/autotests/walker/replace/index.js similarity index 100% rename from test/fixtures/walker/autotest/replace/index.js rename to test/autotests/walker/replace/index.js diff --git a/test/codegen-test.js b/test/codegen-test.js index f1e4a2cf5..83848f2df 100644 --- a/test/codegen-test.js +++ b/test/codegen-test.js @@ -19,15 +19,16 @@ function createCodeGenerator() { } describe('compiler/codegen', function() { - var autoTestDir = path.join(__dirname, 'fixtures/codegen/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/codegen'); - autotest.scanDir(autoTestDir, function run(dir) { + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { var main = require(path.join(dir, 'index.js')); var generateCodeFunc = main; var codegen = createCodeGenerator(); var ast = generateCodeFunc(builder, codegen); codegen.generateCode(ast); - return codegen.getCode(); + helpers.compare(codegen.getCode(), '.js'); + done(); }); it('should not allow a return outside a function', function() { diff --git a/test/compiler-test.js b/test/compiler-test.js index 1dbfee5c9..248d52783 100644 --- a/test/compiler-test.js +++ b/test/compiler-test.js @@ -11,9 +11,9 @@ var fs = require('fs'); require('marko/node-require').install(); describe('compiler', function() { - var autoTestDir = path.join(__dirname, 'fixtures/compiler/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/compiler'); - autotest.scanDir(autoTestDir, function run(dir) { + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { var templatePath = path.join(dir, 'template.marko'); var mainPath = path.join(dir, 'test.js'); var main; @@ -21,6 +21,7 @@ describe('compiler', function() { if (fs.existsSync(mainPath)) { main = require(mainPath); } + if (main && main.checkError) { var e; @@ -35,11 +36,12 @@ describe('compiler', function() { } main.checkError(e); - return '$PASS$'; + done(); } else { var compiledSrc = compiler.compileFile(templatePath); - return compiledSrc; + helpers.compare(compiledSrc, '.js'); + done(); } }); diff --git a/test/expression-toString-test.js b/test/expression-toString-test.js index 0d5d66b8b..0784ab459 100644 --- a/test/expression-toString-test.js +++ b/test/expression-toString-test.js @@ -11,11 +11,12 @@ var autotest = require('./autotest'); var fs = require('fs'); describe('compiler/expression-toString', function() { - var autoTestDir = path.join(__dirname, 'fixtures/expression-toString/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/expression-toString'); - autotest.scanDir(autoTestDir, function run(dir) { + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { var input = fs.readFileSync(path.join(dir, 'input.js'), {encoding: 'utf8'}); var parsed = builder.parseExpression(input); - return parsed.toString(); + helpers.compare(parsed.toString(), '.js'); + done(); }); }); \ No newline at end of file diff --git a/test/fixtures/api-tests/hello-empty.marko b/test/fixtures/api-tests/hello-empty.marko deleted file mode 100644 index 92f8c66da..000000000 --- a/test/fixtures/api-tests/hello-empty.marko +++ /dev/null @@ -1 +0,0 @@ -- Hello! diff --git a/test/fixtures/marko.json b/test/fixtures/marko.json deleted file mode 100644 index 622b8a93e..000000000 --- a/test/fixtures/marko.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "": { - "renderer": "./taglib/test-declared-attributes/renderer.js", - "@name": "string" - }, - "": { - "renderer": "./taglib/test-target-property/renderer.js", - "@name-foo": { - "target-property": "name" - } - }, - "": { - "@foo": "string" - }, - "": { - "@name": { - "required": true - } - }, - "": "taglib/test-hello/marko-tag.json", - "": "taglib/test-template-as-tag/marko-tag.json", - "tags-dir": "./taglib/scanned-tags" -} diff --git a/test/fixtures/taglib/test-nested-tags-deep/marko-tag.json b/test/fixtures/taglib/test-nested-tags-deep/marko-tag.json deleted file mode 100644 index e78045946..000000000 --- a/test/fixtures/taglib/test-nested-tags-deep/marko-tag.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "renderer": "./renderer", - "@class": "string", - "@items []": { - "@foo": "string", - "@body ": { - - } - } -} \ No newline at end of file diff --git a/test/fixtures/taglib/test-nested-tags-deep/renderer.js b/test/fixtures/taglib/test-nested-tags-deep/renderer.js deleted file mode 100644 index edb0a26ca..000000000 --- a/test/fixtures/taglib/test-nested-tags-deep/renderer.js +++ /dev/null @@ -1,5 +0,0 @@ -var template = require('./template.marko'); - -module.exports = function(input, out) { - template.render(input, out); -}; \ No newline at end of file diff --git a/test/fixtures/taglib/test-nested-tags-deep/template.marko b/test/fixtures/taglib/test-nested-tags-deep/template.marko deleted file mode 100644 index ab58c75be..000000000 --- a/test/fixtures/taglib/test-nested-tags-deep/template.marko +++ /dev/null @@ -1,4 +0,0 @@ -
- Foo: ${item.foo} - Body: -
\ No newline at end of file diff --git a/test/hot-reload-test.js b/test/hot-reload-test.js index a8020fcdf..63c6458af 100644 --- a/test/hot-reload-test.js +++ b/test/hot-reload-test.js @@ -1,63 +1,23 @@ 'use strict'; require('./patch-module'); +require('../node-require').install(); var chai = require('chai'); chai.config.includeStack = true; + var expect = require('chai').expect; var nodePath = require('path'); +require('../compiler'); +var autotest = require('./autotest'); var marko = require('../'); -var fs = require('fs'); - -require('../node-require').install(); - +var hotReload = require('../hot-reload'); +hotReload.enable(); describe('hot-reload' , function() { - before(function() { - require('../hot-reload').enable(); - require('../compiler').defaultOptions.checkUpToDate = false; + var autoTestDir = nodePath.join(__dirname, 'autotests/hot-reload'); + + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { + var test = require(nodePath.join(dir, 'test.js')); + test.check(marko, hotReload, expect); + done(); }); - - it('should allow a required template to be hot reloaded', function() { - - - var srcTemplatePath = nodePath.join(__dirname, 'fixtures/hot-reload/hot-reload.marko'); - var templateSrc = fs.readFileSync(srcTemplatePath, { encoding: 'utf8' }); - - var tempTemplatePath = nodePath.join(__dirname, 'temp/hello.marko'); - fs.writeFileSync(tempTemplatePath, templateSrc, { encoding: 'utf8' }); - - var template = require(tempTemplatePath); - - expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); - - fs.writeFileSync(tempTemplatePath, templateSrc + '!', { encoding: 'utf8' }); - - expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); - - require('../hot-reload').handleFileModified(tempTemplatePath); - - expect(template.renderSync({ name: 'John' })).to.equal('Hello John!!'); - }); - - it('should allow a non-required template to be hot reloaded', function() { - - - var srcTemplatePath = nodePath.join(__dirname, 'fixtures/hot-reload/hot-reload.marko'); - var templateSrc = fs.readFileSync(srcTemplatePath, { encoding: 'utf8' }); - - var tempTemplatePath = nodePath.join(__dirname, 'temp/hello2.marko'); - fs.writeFileSync(tempTemplatePath, templateSrc, { encoding: 'utf8' }); - - var template = marko.load(tempTemplatePath); - - expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); - - fs.writeFileSync(tempTemplatePath, templateSrc + '!', { encoding: 'utf8' }); - - expect(template.renderSync({ name: 'John' })).to.equal('Hello John!'); - - require('../hot-reload').handleFileModified(tempTemplatePath); - - expect(template.renderSync({ name: 'John' })).to.equal('Hello John!!'); - }); - }); diff --git a/test/parseExpression-test.js b/test/parseExpression-test.js index 75440d00a..1676156e5 100644 --- a/test/parseExpression-test.js +++ b/test/parseExpression-test.js @@ -10,18 +10,15 @@ var compiler = require('../compiler'); describe('parseExpression' , function() { - var autoTestDir = path.join(__dirname, 'fixtures/parseExpression/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/parseExpression'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { var inputPath = path.join(dir, 'input.txt'); var input = fs.readFileSync(inputPath, {encoding: 'utf8'}); var parsed = compiler.builder.parseExpression(input); - return parsed; - }, - { - deepEqual: true, - compareExtension: '.json' + helpers.compare(parsed, '.json'); + return done(); }); }); diff --git a/test/parseFor-test.js b/test/parseFor-test.js index 797ac043b..cf98f7541 100644 --- a/test/parseFor-test.js +++ b/test/parseFor-test.js @@ -10,29 +10,28 @@ var path = require('path'); describe('parseFor' , function() { - var autoTestDir = path.join(__dirname, 'fixtures/parseFor/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/parseFor'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { let inputPath = path.join(dir, 'input.txt'); let input = fs.readFileSync(inputPath, {encoding: 'utf8'}); + try { let parsed = parseFor(input); - return parsed; + helpers.compare(parsed, '.json'); + return done(); } catch(e) { if (e.code === 'INVALID_FOR') { - return { + helpers.compare({ error: e.message - }; + }, '.json'); + return done(); } else { throw e; } } - }, - { - deepEqual: true, - compareExtension: '.json' }); }); diff --git a/test/parseJavaScriptArgs-test.js b/test/parseJavaScriptArgs-test.js index 3c238d3cc..db33ffada 100644 --- a/test/parseJavaScriptArgs-test.js +++ b/test/parseJavaScriptArgs-test.js @@ -10,18 +10,15 @@ var path = require('path'); describe('parseJavaScriptArgs' , function() { - var autoTestDir = path.join(__dirname, 'fixtures/parseJavaScriptArgs/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/parseJavaScriptArgs'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { var inputPath = path.join(dir, 'input.txt'); var input = fs.readFileSync(inputPath, {encoding: 'utf8'}); var parsed = compiler.builder.parseJavaScriptArgs(input); - return parsed; - }, - { - deepEqual: true, - compareExtension: '.json' + helpers.compare(parsed, '.json'); + return done(); }); }); diff --git a/test/parser-test.js b/test/parser-test.js index f112e1cc0..82512e18c 100644 --- a/test/parser-test.js +++ b/test/parser-test.js @@ -14,19 +14,16 @@ var Parser = require('../compiler/Parser'); var parser = new Parser(new HtmlJsParser()); describe('compiler/parser', function() { - var autoTestDir = path.join(__dirname, 'fixtures/parser/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/parser'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { var templatePath = path.join(dir, 'template.marko'); var src = fs.readFileSync(templatePath, {encoding: 'utf8'}); var context = new CompileContext(src, templatePath, builder); var ast = parser.parse(src, context); - return ast; - }, - { - deepEqual: true, - compareExtension: '.json' + helpers.compare(ast, '.json'); + return done(); }); }); \ No newline at end of file diff --git a/test/pretty-print-test.js b/test/pretty-print-test.js index 045008b79..ab3959b71 100644 --- a/test/pretty-print-test.js +++ b/test/pretty-print-test.js @@ -9,17 +9,14 @@ var builder = compiler.createBuilder(); var autotest = require('./autotest'); describe('compiler/pretty-print', function() { - var autoTestDir = path.join(__dirname, 'fixtures/pretty-print/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/pretty-print'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { var getAST = require(path.join(dir, 'index.js')); var ast = getAST(builder); - return ast; - }, - { - deepEqual: true, - compareExtension: '.json' + helpers.compare(ast, '.json'); + return done(); }); }); \ No newline at end of file diff --git a/test/render-test.js b/test/render-test.js index ce83a6c5d..1ae1965fb 100644 --- a/test/render-test.js +++ b/test/render-test.js @@ -11,11 +11,11 @@ var fs = require('fs'); require('../node-require').install(); describe('render', function() { - var autoTestDir = path.join(__dirname, 'fixtures/render/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/render'); autotest.scanDir( autoTestDir, - function run(dir) { + function run(dir, helpers, done) { var templatePath = path.join(dir, 'template.marko'); var mainPath = path.join(dir, 'test.js'); @@ -47,12 +47,13 @@ describe('render', function() { } main.checkError(e); - return '$PASS$'; + return done(); } else { var template = marko.load(templatePath, loadOptions); var templateData = main.templateData || {}; var html = template.renderSync(templateData); - return html; + helpers.compare(html, '.html'); + return done(); } } finally { if (main.writeToDisk === false) { @@ -63,8 +64,5 @@ describe('render', function() { delete require('marko/compiler').defaultOptions.preserveWhitespace; } } - }, - { - compareExtension: '.html' }); }); \ No newline at end of file diff --git a/test/taglib-finder-test.js b/test/taglib-finder-test.js index 403ea3efc..43b9818c6 100644 --- a/test/taglib-finder-test.js +++ b/test/taglib-finder-test.js @@ -13,9 +13,9 @@ var taglibFinder = require('../compiler/taglib-finder'); describe('taglib-finder' , function() { - var autoTestDir = nodePath.join(__dirname, 'fixtures/taglib-finder/autotest'); + var autoTestDir = nodePath.join(__dirname, 'autotests/taglib-finder'); - autotest.scanDir(autoTestDir, function run(dir) { + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { var test = require(nodePath.join(dir, 'test.js')); var finderDir = nodePath.join(dir, test.dir); var found = taglibFinder.find(finderDir, []) @@ -26,10 +26,8 @@ describe('taglib-finder' , function() { return 'BAD:' + taglib.path; } }); - return found; - }, - { - deepEqual: true, - compareExtension: '.json' + + helpers.compare(found, '.json'); + return done(); }); }); diff --git a/test/taglib-loader-test.js b/test/taglib-loader-test.js index c4f6efd34..719885779 100644 --- a/test/taglib-loader-test.js +++ b/test/taglib-loader-test.js @@ -3,50 +3,19 @@ require('./patch-module'); var chai = require('chai'); chai.config.includeStack = true; -require('chai').should(); + var expect = require('chai').expect; var nodePath = require('path'); +require('../compiler'); +var autotest = require('./autotest'); var taglibLoader = require('../compiler').taglibLoader; describe('taglib-loader' , function() { + var autoTestDir = nodePath.join(__dirname, 'autotests/taglib-loader'); - beforeEach(function(done) { - for (var k in require.cache) { - if (require.cache.hasOwnProperty(k)) { - delete require.cache[k]; - } - } - + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { + var test = require(nodePath.join(dir, 'test.js')); + test.check(taglibLoader, expect); done(); }); - - it('should load a taglib with shorthand attributes and tags', function() { - var taglib = taglibLoader.load(nodePath.join(__dirname, 'fixtures/taglib-shorthand/marko.json')); - expect(taglib != null).to.equal(true); - - var shorthandCheckbox = taglib.tags['shorthand-checkbox']; - expect(shorthandCheckbox.attributes.checked.type).to.equal('boolean'); - expect(shorthandCheckbox.attributes.label.type).to.equal('string'); - expect(shorthandCheckbox.nestedTags.label.type).to.equal('string'); - expect(shorthandCheckbox.nestedTags.checked.type).to.equal('boolean'); - - var shorthandTabsTag = taglib.tags['shorthand-tabs']; - expect(shorthandTabsTag.attributes.orientation != null).to.equal(true); - expect(shorthandTabsTag.attributes.orientation.type).to.equal('string'); - expect(shorthandTabsTag.attributes.tabs.type).to.equal('expression'); - - var nestedTabTag = shorthandTabsTag.nestedTags.tab; - expect(nestedTabTag.attributes.label != null).to.equal(true); - expect(nestedTabTag.isRepeated).to.equal(true); - expect(nestedTabTag.targetProperty).to.equal('tabs'); - }); - - it('should load a taglib with index.* or render.* extension', function() { - var taglib = taglibLoader.load(nodePath.join(__dirname, 'fixtures/marko.json')); - - expect(taglib).to.not.be.null; - expect(taglib).to.have.deep.property("tags.test-declared-attributes.renderer").to.have.string('renderer.js'); - }); - - }); diff --git a/test/taglib-lookup-test.js b/test/taglib-lookup-test.js index 58dc7eba8..ba52066a1 100644 --- a/test/taglib-lookup-test.js +++ b/test/taglib-lookup-test.js @@ -3,176 +3,19 @@ require('./patch-module'); var chai = require('chai'); chai.config.includeStack = true; -require('chai').should(); + var expect = require('chai').expect; var nodePath = require('path'); +require('../compiler'); +var autotest = require('./autotest'); +var taglibLookup = require('../compiler').taglibLookup; describe('taglib-lookup' , function() { + var autoTestDir = nodePath.join(__dirname, 'autotests/taglib-lookup'); - beforeEach(function(done) { - for (var k in require.cache) { - if (require.cache.hasOwnProperty(k)) { - delete require.cache[k]; - } - } - + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { + var test = require(nodePath.join(dir, 'test.js')); + test.check(taglibLookup, expect); done(); }); - - it('should lookup core attributes for top-level template', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures')); - // console.log('LOOKUP: ', Object.keys(lookup.attributes)); - var ifAttr = lookup.getAttribute('div', 'if'); - expect(ifAttr != null).to.equal(true); - expect(ifAttr.type).to.equal('argument'); - }); - - it('should lookup core tag for top-level template', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures')); - var ifTag = lookup.getTag('if'); - expect(ifTag != null).to.equal(true); - expect(ifTag.name).to.equal('if'); - }); - - it('should lookup custom tag for top-level template', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures')); - var tag = lookup.getTag('test-hello'); - // console.log(Object.keys(lookup.tags)); - expect(tag != null).to.equal(true); - expect(tag.name).to.equal('test-hello'); - }); - - it('should allow for declared and dynamic attributes', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-dynamic-attribute')); - // console.log(Object.keys(lookup.attributes)); - var attr = lookup.getAttribute('test-dynamic-attribute', 'DYNAMIC'); - expect(attr != null).to.equal(true); - expect(attr.type).to.equal('boolean'); - expect(attr.name).to.equal('*'); - - attr = lookup.getAttribute('test-dynamic-attribute', 'foo'); - expect(attr != null).to.equal(true); - expect(attr.type).to.equal('string'); - }); - - it('should lookup global attributes correctly', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-custom-attribute')); - // console.log('LOOKUP: ', Object.keys(lookup.attributes)); - var attrDef = lookup.getAttribute('test-dynamic-attributes', 'global-attribute'); - expect(attrDef != null).to.equal(true); - expect(attrDef.type).to.equal('boolean'); - }); - - it('should cache a lookup', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup1 = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures')); - var lookup2 = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures')); - var lookup3 = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-empty')); - var lookup4 = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-nested')); - expect(lookup1).to.equal(lookup2); - expect(lookup2).to.equal(lookup3); - expect(lookup1).to.not.equal(lookup4); - }); - - it('should lookup nested tags', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-nested')); - var tag = lookup.getTag('nested-foo'); - - expect(tag != null).to.equal(true); - expect(tag.name).to.equal('nested-foo'); - }); - - it('should lookup attributes for nested tags', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-nested')); - // console.log(Object.keys(lookup.attributes)); - var attr = lookup.getAttribute('nested-foo', 'attr1'); - expect(attr != null).to.equal(true); - expect(attr.type).to.equal('string'); - }); - - it('should lookup tag transformers correctly for un-namespaced tags', function() { - var transformers = []; - - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-nested')); - - lookup.forEachTagTransformer('div', function(transformer) { - transformers.push(transformer); - }); - - expect(transformers.length).to.equal(1); - }); - - it('should lookup tag transformers correctly for namespaced tag with transformer', function() { - var transformers; - - var taglibLookup = require('../compiler').taglibLookup; - var lookup; - // lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/nested')); - - // transformers = []; - // lookup.forEachTagTransformer('nested-foo', function(transformer) { - // transformers.push(transformer); - // }); - - // expect(transformers.length).to.equal(2); - - lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-transformers')); - - transformers = []; - lookup.forEachTagTransformer('transform-foo', function(transformer) { - transformers.push(transformer); - }); - - expect(transformers.length).to.equal(2); - expect(transformers[0].path.indexOf('foo')).to.not.equal(-1); - expect(transformers[1].path.indexOf('core-transformer')).to.not.equal(-1); - - transformers = []; - lookup.forEachTagTransformer('transform-bar', function(transformer) { - transformers.push(transformer); - }); - - expect(transformers.length).to.equal(2); - expect(transformers[0].path.indexOf('core-transformer')).to.not.equal(-1); - expect(transformers[1].path.indexOf('bar')).to.not.equal(-1); - }); - - it('should lookup tag transformers core tag with custom node', function() { - var transformers = []; - - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-nested')); - - lookup.forEachTagTransformer('else', function(transformer) { - transformers.push(transformer); - }); - - expect(transformers.length).to.equal(1); - expect(transformers[0].path.indexOf('core-transformer')).to.not.equal(-1); - }); - - it('should de-duplicate taglibs', function() { - var taglibLookup = require('../compiler').taglibLookup; - var lookup = taglibLookup.buildLookup(nodePath.join(__dirname, 'fixtures/taglib-duplicate/taglib-duplicate')); - - // The "duplicate-bar" tag was declared in the lower - // taglib so it should have been found since the taglib - // should not have been de-duped. - var barTag = lookup.getTag('duplicate-bar'); - expect(barTag != null).to.equal(true); - - // The "duplicate-foo" tag was declared in the higher - // up taglib so it should have been discarded - var fooTag = lookup.getTag('duplicate-foo'); - expect(fooTag == null).to.equal(true); - }); - }); diff --git a/test/temp/.gitignore b/test/temp/.gitignore deleted file mode 100644 index 86f8857ef..000000000 --- a/test/temp/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.marko \ No newline at end of file diff --git a/test/temp/hello.marko.js b/test/temp/hello.marko.js deleted file mode 100644 index 60b105712..000000000 --- a/test/temp/hello.marko.js +++ /dev/null @@ -1,14 +0,0 @@ -function create(__helpers) { - var str = __helpers.s, - empty = __helpers.e, - notEmpty = __helpers.ne, - escapeXml = __helpers.x; - - return function render(data, out) { - out.w("Hello " + - escapeXml(data.name) + - "!!"); - }; -} - -(module.exports = require("marko").c(__filename)).c(create); diff --git a/test/temp/hello2.marko.js b/test/temp/hello2.marko.js deleted file mode 100644 index 60b105712..000000000 --- a/test/temp/hello2.marko.js +++ /dev/null @@ -1,14 +0,0 @@ -function create(__helpers) { - var str = __helpers.s, - empty = __helpers.e, - notEmpty = __helpers.ne, - escapeXml = __helpers.x; - - return function render(data, out) { - out.w("Hello " + - escapeXml(data.name) + - "!!"); - }; -} - -(module.exports = require("marko").c(__filename)).c(create); diff --git a/test/walker-test.js b/test/walker-test.js index 331d006bc..1048c6fd1 100644 --- a/test/walker-test.js +++ b/test/walker-test.js @@ -9,15 +9,12 @@ var compiler = require('../compiler'); var autotest = require('./autotest'); describe('compiler/walker', function() { - var autoTestDir = path.join(__dirname, 'fixtures/walker/autotest'); + var autoTestDir = path.join(__dirname, 'autotests/walker'); - autotest.scanDir(autoTestDir, function run(dir) { + autotest.scanDir(autoTestDir, function run(dir, helpers, done) { var getAST = require(path.join(dir, 'index.js')); - return getAST(compiler); - }, - { - deepEqual: true, - compareExtension: '.json' + helpers.compare(getAST(compiler), '.json'); + return done(); }); }); \ No newline at end of file