From 94418617eff0a538d48ba8f03fbe5ed1c715a565 Mon Sep 17 00:00:00 2001 From: Andrew Gliga Date: Thu, 24 Oct 2019 12:01:36 -0700 Subject: [PATCH] Deprecated all tests that will be deprecated in v5 (#1430) --- package-lock.json | 548 +++++++++++++++--- scripts/rename-vdom-expectations.js | 25 + src/compiler/HtmlJsParser.js | 2 +- src/compiler/Parser.js | 4 + .../cache/cached-fragment-tag-transformer.js | 1 + .../handleComponentPreserve.js | 1 + src/core-tags/components/marko.json | 2 +- .../components/preserve-tag-browser.js | 2 +- src/runtime/html/escape.js | 7 +- src/taglib/taglib-loader/Tag.js | 39 ++ .../app-stateful-button/marko-tag.json | 5 +- .../app-stateful-button/marko-tag.json | 5 +- .../app-stateful-button/marko-tag.json | 5 +- .../components/app-button/marko-tag.json | 5 +- .../components/menu/marko-tag.json | 10 +- .../auto-key-els/expected.js | 4 +- .../fixtures-html/auto-key-els/expected.js | 4 +- .../components/child/marko-tag.json | 5 +- .../components/root/marko-tag.json | 5 +- .../marko-tag.json | 5 +- .../app-button-split/marko-tag.json | 5 +- .../widget-data-is-state/snapshot-expected.js | 2 +- .../attr-path/expected.html | 0 .../attr-path/foo-tag.js | 0 .../attr-path/foo.txt | 0 .../attr-path/marko.json | 0 .../attr-path/template.marko | 0 .../attr-path/vdom-expected.html | 0 .../attr-set-flag/expected.html | 0 .../attr-set-flag/marko.json | 0 .../attr-set-flag/template.marko | 0 .../attr-set-flag/transformer.js | 0 .../attr-set-flag/vdom-expected.html | 0 .../attr-template/expected.html | 0 .../attr-template/foo-tag.js | 0 .../attr-template/foo-template.marko | 0 .../attr-template/marko.json | 0 .../attr-template/template.marko | 0 .../attr-template/vdom-expected.html | 0 .../expected.html | 0 .../template.marko | 0 .../test.js | 0 .../vdom-expected.html | 0 .../cached-fragment/expected.html | 0 .../cached-fragment/template.marko | 0 .../cached-fragment/test.js | 0 .../cached-fragment/vdom-expected.html | 0 .../cdata/expected.html | 0 .../cdata/template.marko | 0 .../cdata/test.js | 0 .../cdata/vdom-expected.html | 0 .../components/foo/index.marko | 0 .../components/foo/marko-tag.json | 0 .../custom-tag-key-attr/expected.html | 0 .../custom-tag-key-attr/template.marko | 0 .../custom-tag-key-attr/vdom-expected.html | 0 .../dynamic-attributes2/expected.html | 0 .../dynamic-attributes2/marko.json | 0 .../test-dynamic-attributes2/marko-tag.json | 0 .../tags/test-dynamic-attributes2/renderer.js | 0 .../dynamic-attributes2/template.marko | 0 .../dynamic-attributes2/test.js | 0 .../dynamic-attributes2/vdom-expected.html | 0 .../entities-with-cdata/expected.html | 1 + .../entities-with-cdata/template.marko | 4 + .../entities-with-cdata/test.js | 1 + .../entities-with-cdata/vdom-expected.html | 3 + .../attr-newline-concise/expected.html | 3 +- .../attr-newline-escaped/expected.html | 3 +- .../fixtures/attr-newline/expected.html | 3 +- test/render/fixtures/bodyText/test.js | 1 + test/render/fixtures/entities/expected.html | 2 +- test/render/fixtures/entities/template.marko | 2 +- .../fixtures/entities/vdom-expected.html | 2 +- test/render/index.test.js | 4 + .../declared-and-dynamic-attrs/marko.json | 5 +- 76 files changed, 620 insertions(+), 105 deletions(-) create mode 100644 scripts/rename-vdom-expectations.js rename test/render/{fixtures => fixtures-deprecated}/attr-path/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-path/foo-tag.js (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-path/foo.txt (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-path/marko.json (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-path/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-path/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-set-flag/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-set-flag/marko.json (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-set-flag/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-set-flag/transformer.js (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-set-flag/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-template/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-template/foo-tag.js (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-template/foo-template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-template/marko.json (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-template/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/attr-template/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment-cache-manager-attr/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment-cache-manager-attr/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment-cache-manager-attr/test.js (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment-cache-manager-attr/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment/test.js (100%) rename test/render/{fixtures => fixtures-deprecated}/cached-fragment/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/cdata/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/cdata/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/cdata/test.js (100%) rename test/render/{fixtures => fixtures-deprecated}/cdata/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/custom-tag-key-attr/components/foo/index.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/custom-tag-key-attr/components/foo/marko-tag.json (100%) rename test/render/{fixtures => fixtures-deprecated}/custom-tag-key-attr/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/custom-tag-key-attr/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/custom-tag-key-attr/vdom-expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/expected.html (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/marko.json (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/template.marko (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/test.js (100%) rename test/render/{fixtures => fixtures-deprecated}/dynamic-attributes2/vdom-expected.html (100%) create mode 100644 test/render/fixtures-deprecated/entities-with-cdata/expected.html create mode 100644 test/render/fixtures-deprecated/entities-with-cdata/template.marko create mode 100644 test/render/fixtures-deprecated/entities-with-cdata/test.js create mode 100644 test/render/fixtures-deprecated/entities-with-cdata/vdom-expected.html diff --git a/package-lock.json b/package-lock.json index 38b80876f..c915da64e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,18 +14,18 @@ } }, "@babel/core": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.4.tgz", - "integrity": "sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", + "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/helpers": "^7.5.4", - "@babel/parser": "^7.5.0", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.5", "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.0", - "@babel/types": "^7.5.0", + "@babel/traverse": "^7.4.5", + "@babel/types": "^7.4.4", "convert-source-map": "^1.1.0", "debug": "^4.1.0", "json5": "^2.1.0", @@ -35,27 +35,148 @@ "source-map": "^0.5.0" }, "dependencies": { + "@babel/generator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/parser": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "dev": true + }, + "@babel/template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/traverse": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + } + }, + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true } } }, "@babel/generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.0.tgz", - "integrity": "sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.0.tgz", + "integrity": "sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==", "dev": true, "requires": { - "@babel/types": "^7.5.0", + "@babel/types": "^7.2.0", "jsesc": "^2.5.1", - "lodash": "^4.17.11", + "lodash": "^4.17.10", "source-map": "^0.5.0", "trim-right": "^1.0.1" }, "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -85,40 +206,185 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.4.tgz", - "integrity": "sha512-6LJ6xwUEJP51w0sIgKyfvFMJvIb9mWAfohJp0+m6eHJigkFdcH8duZ1sfhn0ltJRzwUIT/yqqhdSfRpCpL7oow==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", + "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", "dev": true, "requires": { "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.0", - "@babel/types": "^7.5.0" + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/parser": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "dev": true + }, + "@babel/template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/traverse": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + } + }, + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } } }, "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/parser": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.0.tgz", - "integrity": "sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.0.tgz", + "integrity": "sha512-M74+GvK4hn1eejD9lZ7967qAwvqTZayQa3g10ag4s9uewgR7TKjeaT0YMyoq+gVfKYABiWZ4MQD701/t5e1Jhg==", "dev": true }, "@babel/runtime": { @@ -131,42 +397,73 @@ } }, "@babel/template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4" + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" } }, "@babel/traverse": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.0.tgz", - "integrity": "sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.6.tgz", + "integrity": "sha512-CXedit6GpISz3sC2k2FsGCUpOhUqKdyL0lqNrImQojagnUMXf8hex4AxYFRuMkNGcvJX5QAFGzB5WJQmSv8SiQ==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.5.0", + "@babel/generator": "^7.1.6", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.5.0", - "@babel/types": "^7.5.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.6", + "@babel/types": "^7.1.6", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.11" + "lodash": "^4.17.10" + }, + "dependencies": { + "debug": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } } }, "@babel/types": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.0.tgz", - "integrity": "sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.0.tgz", + "integrity": "sha512-b4v7dyfApuKDvmPb+O488UlGuR1WbwMXFsO/cyqMrnfvRAChZKJAYeeglWTjUO1b9UghKKgepAQM5tsvBJca6A==", "dev": true, "requires": { "esutils": "^2.0.2", - "lodash": "^4.17.11", + "lodash": "^4.17.10", "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } } }, "@marko/migrate": { @@ -1564,15 +1861,6 @@ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", "dev": true }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -3784,9 +4072,9 @@ "dev": true }, "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "js-yaml": { @@ -3886,15 +4174,6 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, "jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", @@ -4194,9 +4473,9 @@ } }, "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, "lodash.sortby": { @@ -4947,6 +5226,17 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } } }, "normalize-path": { @@ -5031,6 +5321,106 @@ "yargs-parser": "^11.1.1" }, "dependencies": { + "@babel/generator": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", + "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/parser": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "dev": true + }, + "@babel/template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/traverse": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", + "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.5.5", + "@babel/types": "^7.5.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } + } + }, "ansi-regex": { "version": "3.0.0", "bundled": true, @@ -5836,6 +6226,12 @@ "bundled": true, "dev": true }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "spawn-wrap": { "version": "1.4.2", "bundled": true, @@ -6852,12 +7248,12 @@ } }, "resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.6" + "path-parse": "^1.0.5" } }, "resolve-from": { @@ -6962,9 +7358,9 @@ "dev": true }, "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", "dev": true }, "semver-compare": { diff --git a/scripts/rename-vdom-expectations.js b/scripts/rename-vdom-expectations.js new file mode 100644 index 000000000..fb9ddc32b --- /dev/null +++ b/scripts/rename-vdom-expectations.js @@ -0,0 +1,25 @@ +const fixtureDirs = [ + "test/render/fixtures", + "test/render/fixtures-async", + "test/render/fixtures-async-deprecated", + "test/render/fixtures-deprecated" +]; + +const exists = require("fs").existsSync; +const join = require("path").join; +const exec = require("child_process").execSync; + +fixtureDirs.forEach(fixtureDir => { + const fixtures = require("fs").readdirSync(fixtureDir); + fixtures.forEach(fixtureName => { + const fixturePath = join( + fixtureDir, + fixtureName, + "vdom-expected.generated.html" + ); + if (exists(fixturePath)) { + const newPath = fixturePath.replace(/\.generated/, ""); + exec(`mv ${fixturePath} ${newPath}`); + } + }); +}); diff --git a/src/compiler/HtmlJsParser.js b/src/compiler/HtmlJsParser.js index 9c4fe61b6..dc6907733 100644 --- a/src/compiler/HtmlJsParser.js +++ b/src/compiler/HtmlJsParser.js @@ -41,7 +41,7 @@ class HtmlJsParser { }, onCDATA(event) { - handlers.handleCharacters(event.value, "static-text"); + handlers.handleCharacters(event.value, "cdata"); }, onOpenTagName(event) { diff --git a/src/compiler/Parser.js b/src/compiler/Parser.js index b9a2fcb89..92fa29f73 100644 --- a/src/compiler/Parser.js +++ b/src/compiler/Parser.js @@ -124,6 +124,10 @@ class Parser { handleCharacters(text, parseMode) { var builder = this.context.builder; + if (parseMode === "cdata") { + this.context.deprecate("CDATA is deprecated"); + } + var escape = parseMode !== "html"; // NOTE: If parseMode is 'static-text' or 'parsed-text' then that means that special // HTML characters may not have been escaped on the way in so we need to escape diff --git a/src/core-tags/cache/cached-fragment-tag-transformer.js b/src/core-tags/cache/cached-fragment-tag-transformer.js index 0e5afd9b8..4dd588b6c 100644 --- a/src/core-tags/cache/cached-fragment-tag-transformer.js +++ b/src/core-tags/cache/cached-fragment-tag-transformer.js @@ -1,6 +1,7 @@ var defaultCacheManagerPath = require.resolve("./default-cache-manager"); module.exports = function(el, context) { + context.deprecate("The tag is deprecated."); if (!el.hasAttribute("cache-manager")) { var requirePath = context.getRequirePath(defaultCacheManagerPath); var defaultCacheManagerVar = context.importModule( diff --git a/src/core-tags/components/TransformHelper/handleComponentPreserve.js b/src/core-tags/components/TransformHelper/handleComponentPreserve.js index e6185c739..d26fd7424 100644 --- a/src/core-tags/components/TransformHelper/handleComponentPreserve.js +++ b/src/core-tags/components/TransformHelper/handleComponentPreserve.js @@ -22,6 +22,7 @@ function addPreserve(transformHelper, bodyOnly, condition) { if (el.type === "HtmlElement") { preserveAttrs.key = transformHelper.getIdExpression(); + preserveAttrs.preserveKey = preserveAttrs.key; } else { preserveAttrs.cid = transformHelper.getIdExpression(); } diff --git a/src/core-tags/components/marko.json b/src/core-tags/components/marko.json index 3f97a6128..834b64b0c 100644 --- a/src/core-tags/components/marko.json +++ b/src/core-tags/components/marko.json @@ -105,8 +105,8 @@ }, "<_preserve>": { "renderer": "./preserve-tag.js", - "@key": "string", "@cid": "string", + "@preserveKey": "string", "@if": "boolean", "@body-only": "boolean", "autocomplete": [] diff --git a/src/core-tags/components/preserve-tag-browser.js b/src/core-tags/components/preserve-tag-browser.js index 2a9cab02b..48c079892 100644 --- a/src/core-tags/components/preserve-tag-browser.js +++ b/src/core-tags/components/preserve-tag-browser.js @@ -12,7 +12,7 @@ module.exports = function render(input, out) { if (!("if" in input) || input["if"]) { var component = componentsContext.___componentDef.___component; var globalComponentsContext = componentsContext.___globalContext; - var key = input.key; + var key = input.preserveKey; var componentId; if (key) { diff --git a/src/runtime/html/escape.js b/src/runtime/html/escape.js index e3c36266a..624402fcd 100644 --- a/src/runtime/html/escape.js +++ b/src/runtime/html/escape.js @@ -1,14 +1,13 @@ var elTest = /[&<]/; var elTestReplace = /[&<]/g; -var attrTest = /[&<"\n]/; -var attrReplace = /[&<"\n]/g; +var attrTest = /[&<"]/; +var attrReplace = /[&<"]/g; var replacements = { "<": "<", "&": "&", '"': """, - "'": "'", - "\n": " " //Preserve new lines so that they don't get normalized as space + "'": "'" }; function replaceChar(match) { diff --git a/src/taglib/taglib-loader/Tag.js b/src/taglib/taglib-loader/Tag.js index 0344d6f30..7dd86c66e 100644 --- a/src/taglib/taglib-loader/Tag.js +++ b/src/taglib/taglib-loader/Tag.js @@ -92,8 +92,36 @@ class Tag { } return false; } + + checkDeprecatedAttr(attr) { + attr.filePath = this.filePath; + if (attr.name === "key" && !this.isCoreTag()) { + complain("@key property is deprecated", { + location: this.filePath + }); + } + // + if (attr.setFlag && attr.setFlag !== "hasComponentEvents") { + complain(`${attr.name} - : set-flag property is deprecated`, { + location: this.filePath + }); + } + if (attr.type === "template") { + complain(`${attr.name} - attribute template type is deprecated`, { + location: this.filePath + }); + } + + if (attr.type === "path") { + complain(`${attr.name} - attribute path type is deprecated`, { + location: this.filePath + }); + } + } + addAttribute(attr) { attr.filePath = this.filePath; + this.checkDeprecatedAttr(attr); if (attr.pattern) { this.patternAttributes.push(attr); @@ -107,6 +135,13 @@ class Tag { ) { attr.targetProperty = null; } else if (!attr.targetProperty) { + !this.isCoreTag() && + complain( + 'The default "targetProperty" for "@*" attribute definitions is changing from "*" to "null" (merged in with the rest of the input) in a future Marko release. In order to avoid an issue upgrading, please explicitly define the "targetProperty".', + { + location: this.filePath + } + ); attr.targetProperty = "*"; } } @@ -277,6 +312,10 @@ class Tag { this.taglibId = taglib ? taglib.id : null; this.taglibPath = taglib ? taglib.path : null; } + + isCoreTag() { + return this.filePath && this.filePath.indexOf("core-tags/") > -1; + } } module.exports = Tag; diff --git a/test/components-browser/fixtures/component-stateful-preserve-body/components/app-stateful-button/marko-tag.json b/test/components-browser/fixtures/component-stateful-preserve-body/components/app-stateful-button/marko-tag.json index fdc7ae863..fd129e265 100644 --- a/test/components-browser/fixtures/component-stateful-preserve-body/components/app-stateful-button/marko-tag.json +++ b/test/components-browser/fixtures/component-stateful-preserve-body/components/app-stateful-button/marko-tag.json @@ -14,6 +14,9 @@ "type": "string", "description": "Additional CSS class names" }, - "*": "string" + "@*": { + "type": "string", + "target-property": null + } } } diff --git a/test/components-browser/fixtures/component-stateful-update-handler-no-match/components/app-stateful-button/marko-tag.json b/test/components-browser/fixtures/component-stateful-update-handler-no-match/components/app-stateful-button/marko-tag.json index fdc7ae863..fd129e265 100644 --- a/test/components-browser/fixtures/component-stateful-update-handler-no-match/components/app-stateful-button/marko-tag.json +++ b/test/components-browser/fixtures/component-stateful-update-handler-no-match/components/app-stateful-button/marko-tag.json @@ -14,6 +14,9 @@ "type": "string", "description": "Additional CSS class names" }, - "*": "string" + "@*": { + "type": "string", + "target-property": null + } } } diff --git a/test/components-browser/fixtures/component-stateful-update-handler/components/app-stateful-button/marko-tag.json b/test/components-browser/fixtures/component-stateful-update-handler/components/app-stateful-button/marko-tag.json index fdc7ae863..b466bbc9d 100644 --- a/test/components-browser/fixtures/component-stateful-update-handler/components/app-stateful-button/marko-tag.json +++ b/test/components-browser/fixtures/component-stateful-update-handler/components/app-stateful-button/marko-tag.json @@ -14,6 +14,9 @@ "type": "string", "description": "Additional CSS class names" }, - "*": "string" + "*": { + "type": "string", + "target-property": null + } } } diff --git a/test/components-browser/fixtures/extend-component/components/app-button/marko-tag.json b/test/components-browser/fixtures/extend-component/components/app-button/marko-tag.json index 53ff1965e..216b3916b 100644 --- a/test/components-browser/fixtures/extend-component/components/app-button/marko-tag.json +++ b/test/components-browser/fixtures/extend-component/components/app-button/marko-tag.json @@ -13,5 +13,8 @@ "type": "string", "description": "Additional CSS class names" }, - "@*": "string" + "@*": { + "type": "string", + "target-property": null + } } diff --git a/test/components-browser/fixtures/prevent-input-mutation-repeated-at-tags/components/menu/marko-tag.json b/test/components-browser/fixtures/prevent-input-mutation-repeated-at-tags/components/menu/marko-tag.json index ea2535d0e..c29d4fb27 100644 --- a/test/components-browser/fixtures/prevent-input-mutation-repeated-at-tags/components/menu/marko-tag.json +++ b/test/components-browser/fixtures/prevent-input-mutation-repeated-at-tags/components/menu/marko-tag.json @@ -1,6 +1,12 @@ { "@items []": { - "@*": "expression" + "@*": { + "type": "expression", + "target-property": null + } }, - "@*": "expression" + "@*": { + "type": "expression", + "target-property": null + } } diff --git a/test/components-compilation/fixtures-html-deprecated/auto-key-els/expected.js b/test/components-compilation/fixtures-html-deprecated/auto-key-els/expected.js index f5f27b21b..454c2198e 100644 --- a/test/components-compilation/fixtures-html-deprecated/auto-key-els/expected.js +++ b/test/components-compilation/fixtures-html-deprecated/auto-key-els/expected.js @@ -38,11 +38,11 @@ function render(input, out, __component, component, state) { _preserve_tag({ bodyOnly: true, - key: $key$0, + preserveKey: $key$0, renderBody: function(out) { out.w(marko_escapeXml(Date.now())); } - }, out); + }, out, __component, $key$0); out.w("

B"); diff --git a/test/components-compilation/fixtures-html/auto-key-els/expected.js b/test/components-compilation/fixtures-html/auto-key-els/expected.js index 323b762a1..3c3912716 100644 --- a/test/components-compilation/fixtures-html/auto-key-els/expected.js +++ b/test/components-compilation/fixtures-html/auto-key-els/expected.js @@ -38,11 +38,11 @@ function render(input, out, __component, component, state) { _preserve_tag({ bodyOnly: true, - key: $key$0, + preserveKey: $key$0, renderBody: function(out) { out.w(marko_escapeXml(Date.now())); } - }, out); + }, out, __component, $key$0); out.w("

B"); diff --git a/test/components-pages/fixtures/preserve-looped-attribute-tag/components/child/marko-tag.json b/test/components-pages/fixtures/preserve-looped-attribute-tag/components/child/marko-tag.json index 2a7a67674..a9c6208c8 100644 --- a/test/components-pages/fixtures/preserve-looped-attribute-tag/components/child/marko-tag.json +++ b/test/components-pages/fixtures/preserve-looped-attribute-tag/components/child/marko-tag.json @@ -1,5 +1,8 @@ { "@items []": { - "@*": "expression" + "@*": { + "type": "expression", + "target-property": null + } } } diff --git a/test/components-pages/fixtures/preserve-looped-attribute-tag/components/root/marko-tag.json b/test/components-pages/fixtures/preserve-looped-attribute-tag/components/root/marko-tag.json index 2a7a67674..a9c6208c8 100644 --- a/test/components-pages/fixtures/preserve-looped-attribute-tag/components/root/marko-tag.json +++ b/test/components-pages/fixtures/preserve-looped-attribute-tag/components/root/marko-tag.json @@ -1,5 +1,8 @@ { "@items []": { - "@*": "expression" + "@*": { + "type": "expression", + "target-property": null + } } } diff --git a/test/components-pages/fixtures/split-component-renderer/components/app-button-split-export-class/marko-tag.json b/test/components-pages/fixtures/split-component-renderer/components/app-button-split-export-class/marko-tag.json index fdc7ae863..fd129e265 100644 --- a/test/components-pages/fixtures/split-component-renderer/components/app-button-split-export-class/marko-tag.json +++ b/test/components-pages/fixtures/split-component-renderer/components/app-button-split-export-class/marko-tag.json @@ -14,6 +14,9 @@ "type": "string", "description": "Additional CSS class names" }, - "*": "string" + "@*": { + "type": "string", + "target-property": null + } } } diff --git a/test/components-pages/fixtures/split-component-renderer/components/app-button-split/marko-tag.json b/test/components-pages/fixtures/split-component-renderer/components/app-button-split/marko-tag.json index fdc7ae863..fd129e265 100644 --- a/test/components-pages/fixtures/split-component-renderer/components/app-button-split/marko-tag.json +++ b/test/components-pages/fixtures/split-component-renderer/components/app-button-split/marko-tag.json @@ -14,6 +14,9 @@ "type": "string", "description": "Additional CSS class names" }, - "*": "string" + "@*": { + "type": "string", + "target-property": null + } } } diff --git a/test/migrate/fixtures/widget-data-is-state/snapshot-expected.js b/test/migrate/fixtures/widget-data-is-state/snapshot-expected.js index db215f2d7..39a9f0d80 100644 --- a/test/migrate/fixtures/widget-data-is-state/snapshot-expected.js +++ b/test/migrate/fixtures/widget-data-is-state/snapshot-expected.js @@ -1,7 +1,7 @@ // test/migrate/fixtures/widget-data-is-state/index.js module.exports = { - onCreate(input, out) { + onCreate(input) { this.state = { x: input.x, y: input.y diff --git a/test/render/fixtures/attr-path/expected.html b/test/render/fixtures-deprecated/attr-path/expected.html similarity index 100% rename from test/render/fixtures/attr-path/expected.html rename to test/render/fixtures-deprecated/attr-path/expected.html diff --git a/test/render/fixtures/attr-path/foo-tag.js b/test/render/fixtures-deprecated/attr-path/foo-tag.js similarity index 100% rename from test/render/fixtures/attr-path/foo-tag.js rename to test/render/fixtures-deprecated/attr-path/foo-tag.js diff --git a/test/render/fixtures/attr-path/foo.txt b/test/render/fixtures-deprecated/attr-path/foo.txt similarity index 100% rename from test/render/fixtures/attr-path/foo.txt rename to test/render/fixtures-deprecated/attr-path/foo.txt diff --git a/test/render/fixtures/attr-path/marko.json b/test/render/fixtures-deprecated/attr-path/marko.json similarity index 100% rename from test/render/fixtures/attr-path/marko.json rename to test/render/fixtures-deprecated/attr-path/marko.json diff --git a/test/render/fixtures/attr-path/template.marko b/test/render/fixtures-deprecated/attr-path/template.marko similarity index 100% rename from test/render/fixtures/attr-path/template.marko rename to test/render/fixtures-deprecated/attr-path/template.marko diff --git a/test/render/fixtures/attr-path/vdom-expected.html b/test/render/fixtures-deprecated/attr-path/vdom-expected.html similarity index 100% rename from test/render/fixtures/attr-path/vdom-expected.html rename to test/render/fixtures-deprecated/attr-path/vdom-expected.html diff --git a/test/render/fixtures/attr-set-flag/expected.html b/test/render/fixtures-deprecated/attr-set-flag/expected.html similarity index 100% rename from test/render/fixtures/attr-set-flag/expected.html rename to test/render/fixtures-deprecated/attr-set-flag/expected.html diff --git a/test/render/fixtures/attr-set-flag/marko.json b/test/render/fixtures-deprecated/attr-set-flag/marko.json similarity index 100% rename from test/render/fixtures/attr-set-flag/marko.json rename to test/render/fixtures-deprecated/attr-set-flag/marko.json diff --git a/test/render/fixtures/attr-set-flag/template.marko b/test/render/fixtures-deprecated/attr-set-flag/template.marko similarity index 100% rename from test/render/fixtures/attr-set-flag/template.marko rename to test/render/fixtures-deprecated/attr-set-flag/template.marko diff --git a/test/render/fixtures/attr-set-flag/transformer.js b/test/render/fixtures-deprecated/attr-set-flag/transformer.js similarity index 100% rename from test/render/fixtures/attr-set-flag/transformer.js rename to test/render/fixtures-deprecated/attr-set-flag/transformer.js diff --git a/test/render/fixtures/attr-set-flag/vdom-expected.html b/test/render/fixtures-deprecated/attr-set-flag/vdom-expected.html similarity index 100% rename from test/render/fixtures/attr-set-flag/vdom-expected.html rename to test/render/fixtures-deprecated/attr-set-flag/vdom-expected.html diff --git a/test/render/fixtures/attr-template/expected.html b/test/render/fixtures-deprecated/attr-template/expected.html similarity index 100% rename from test/render/fixtures/attr-template/expected.html rename to test/render/fixtures-deprecated/attr-template/expected.html diff --git a/test/render/fixtures/attr-template/foo-tag.js b/test/render/fixtures-deprecated/attr-template/foo-tag.js similarity index 100% rename from test/render/fixtures/attr-template/foo-tag.js rename to test/render/fixtures-deprecated/attr-template/foo-tag.js diff --git a/test/render/fixtures/attr-template/foo-template.marko b/test/render/fixtures-deprecated/attr-template/foo-template.marko similarity index 100% rename from test/render/fixtures/attr-template/foo-template.marko rename to test/render/fixtures-deprecated/attr-template/foo-template.marko diff --git a/test/render/fixtures/attr-template/marko.json b/test/render/fixtures-deprecated/attr-template/marko.json similarity index 100% rename from test/render/fixtures/attr-template/marko.json rename to test/render/fixtures-deprecated/attr-template/marko.json diff --git a/test/render/fixtures/attr-template/template.marko b/test/render/fixtures-deprecated/attr-template/template.marko similarity index 100% rename from test/render/fixtures/attr-template/template.marko rename to test/render/fixtures-deprecated/attr-template/template.marko diff --git a/test/render/fixtures/attr-template/vdom-expected.html b/test/render/fixtures-deprecated/attr-template/vdom-expected.html similarity index 100% rename from test/render/fixtures/attr-template/vdom-expected.html rename to test/render/fixtures-deprecated/attr-template/vdom-expected.html diff --git a/test/render/fixtures/cached-fragment-cache-manager-attr/expected.html b/test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/expected.html similarity index 100% rename from test/render/fixtures/cached-fragment-cache-manager-attr/expected.html rename to test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/expected.html diff --git a/test/render/fixtures/cached-fragment-cache-manager-attr/template.marko b/test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/template.marko similarity index 100% rename from test/render/fixtures/cached-fragment-cache-manager-attr/template.marko rename to test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/template.marko diff --git a/test/render/fixtures/cached-fragment-cache-manager-attr/test.js b/test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/test.js similarity index 100% rename from test/render/fixtures/cached-fragment-cache-manager-attr/test.js rename to test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/test.js diff --git a/test/render/fixtures/cached-fragment-cache-manager-attr/vdom-expected.html b/test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/vdom-expected.html similarity index 100% rename from test/render/fixtures/cached-fragment-cache-manager-attr/vdom-expected.html rename to test/render/fixtures-deprecated/cached-fragment-cache-manager-attr/vdom-expected.html diff --git a/test/render/fixtures/cached-fragment/expected.html b/test/render/fixtures-deprecated/cached-fragment/expected.html similarity index 100% rename from test/render/fixtures/cached-fragment/expected.html rename to test/render/fixtures-deprecated/cached-fragment/expected.html diff --git a/test/render/fixtures/cached-fragment/template.marko b/test/render/fixtures-deprecated/cached-fragment/template.marko similarity index 100% rename from test/render/fixtures/cached-fragment/template.marko rename to test/render/fixtures-deprecated/cached-fragment/template.marko diff --git a/test/render/fixtures/cached-fragment/test.js b/test/render/fixtures-deprecated/cached-fragment/test.js similarity index 100% rename from test/render/fixtures/cached-fragment/test.js rename to test/render/fixtures-deprecated/cached-fragment/test.js diff --git a/test/render/fixtures/cached-fragment/vdom-expected.html b/test/render/fixtures-deprecated/cached-fragment/vdom-expected.html similarity index 100% rename from test/render/fixtures/cached-fragment/vdom-expected.html rename to test/render/fixtures-deprecated/cached-fragment/vdom-expected.html diff --git a/test/render/fixtures/cdata/expected.html b/test/render/fixtures-deprecated/cdata/expected.html similarity index 100% rename from test/render/fixtures/cdata/expected.html rename to test/render/fixtures-deprecated/cdata/expected.html diff --git a/test/render/fixtures/cdata/template.marko b/test/render/fixtures-deprecated/cdata/template.marko similarity index 100% rename from test/render/fixtures/cdata/template.marko rename to test/render/fixtures-deprecated/cdata/template.marko diff --git a/test/render/fixtures/cdata/test.js b/test/render/fixtures-deprecated/cdata/test.js similarity index 100% rename from test/render/fixtures/cdata/test.js rename to test/render/fixtures-deprecated/cdata/test.js diff --git a/test/render/fixtures/cdata/vdom-expected.html b/test/render/fixtures-deprecated/cdata/vdom-expected.html similarity index 100% rename from test/render/fixtures/cdata/vdom-expected.html rename to test/render/fixtures-deprecated/cdata/vdom-expected.html diff --git a/test/render/fixtures/custom-tag-key-attr/components/foo/index.marko b/test/render/fixtures-deprecated/custom-tag-key-attr/components/foo/index.marko similarity index 100% rename from test/render/fixtures/custom-tag-key-attr/components/foo/index.marko rename to test/render/fixtures-deprecated/custom-tag-key-attr/components/foo/index.marko diff --git a/test/render/fixtures/custom-tag-key-attr/components/foo/marko-tag.json b/test/render/fixtures-deprecated/custom-tag-key-attr/components/foo/marko-tag.json similarity index 100% rename from test/render/fixtures/custom-tag-key-attr/components/foo/marko-tag.json rename to test/render/fixtures-deprecated/custom-tag-key-attr/components/foo/marko-tag.json diff --git a/test/render/fixtures/custom-tag-key-attr/expected.html b/test/render/fixtures-deprecated/custom-tag-key-attr/expected.html similarity index 100% rename from test/render/fixtures/custom-tag-key-attr/expected.html rename to test/render/fixtures-deprecated/custom-tag-key-attr/expected.html diff --git a/test/render/fixtures/custom-tag-key-attr/template.marko b/test/render/fixtures-deprecated/custom-tag-key-attr/template.marko similarity index 100% rename from test/render/fixtures/custom-tag-key-attr/template.marko rename to test/render/fixtures-deprecated/custom-tag-key-attr/template.marko diff --git a/test/render/fixtures/custom-tag-key-attr/vdom-expected.html b/test/render/fixtures-deprecated/custom-tag-key-attr/vdom-expected.html similarity index 100% rename from test/render/fixtures/custom-tag-key-attr/vdom-expected.html rename to test/render/fixtures-deprecated/custom-tag-key-attr/vdom-expected.html diff --git a/test/render/fixtures/dynamic-attributes2/expected.html b/test/render/fixtures-deprecated/dynamic-attributes2/expected.html similarity index 100% rename from test/render/fixtures/dynamic-attributes2/expected.html rename to test/render/fixtures-deprecated/dynamic-attributes2/expected.html diff --git a/test/render/fixtures/dynamic-attributes2/marko.json b/test/render/fixtures-deprecated/dynamic-attributes2/marko.json similarity index 100% rename from test/render/fixtures/dynamic-attributes2/marko.json rename to test/render/fixtures-deprecated/dynamic-attributes2/marko.json diff --git a/test/render/fixtures/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json b/test/render/fixtures-deprecated/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json similarity index 100% rename from test/render/fixtures/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json rename to test/render/fixtures-deprecated/dynamic-attributes2/tags/test-dynamic-attributes2/marko-tag.json diff --git a/test/render/fixtures/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js b/test/render/fixtures-deprecated/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js similarity index 100% rename from test/render/fixtures/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js rename to test/render/fixtures-deprecated/dynamic-attributes2/tags/test-dynamic-attributes2/renderer.js diff --git a/test/render/fixtures/dynamic-attributes2/template.marko b/test/render/fixtures-deprecated/dynamic-attributes2/template.marko similarity index 100% rename from test/render/fixtures/dynamic-attributes2/template.marko rename to test/render/fixtures-deprecated/dynamic-attributes2/template.marko diff --git a/test/render/fixtures/dynamic-attributes2/test.js b/test/render/fixtures-deprecated/dynamic-attributes2/test.js similarity index 100% rename from test/render/fixtures/dynamic-attributes2/test.js rename to test/render/fixtures-deprecated/dynamic-attributes2/test.js diff --git a/test/render/fixtures/dynamic-attributes2/vdom-expected.html b/test/render/fixtures-deprecated/dynamic-attributes2/vdom-expected.html similarity index 100% rename from test/render/fixtures/dynamic-attributes2/vdom-expected.html rename to test/render/fixtures-deprecated/dynamic-attributes2/vdom-expected.html diff --git a/test/render/fixtures-deprecated/entities-with-cdata/expected.html b/test/render/fixtures-deprecated/entities-with-cdata/expected.html new file mode 100644 index 000000000..6d73bcc65 --- /dev/null +++ b/test/render/fixtures-deprecated/entities-with-cdata/expected.html @@ -0,0 +1 @@ +
Hello <John>© <hello>
© \ No newline at end of file diff --git a/test/render/fixtures-deprecated/entities-with-cdata/template.marko b/test/render/fixtures-deprecated/entities-with-cdata/template.marko new file mode 100644 index 000000000..f0dc262fb --- /dev/null +++ b/test/render/fixtures-deprecated/entities-with-cdata/template.marko @@ -0,0 +1,4 @@ +
"> + Hello <John>© ]]> +
+-- © \ No newline at end of file diff --git a/test/render/fixtures-deprecated/entities-with-cdata/test.js b/test/render/fixtures-deprecated/entities-with-cdata/test.js new file mode 100644 index 000000000..c4013b344 --- /dev/null +++ b/test/render/fixtures-deprecated/entities-with-cdata/test.js @@ -0,0 +1 @@ +exports.templateData = {}; diff --git a/test/render/fixtures-deprecated/entities-with-cdata/vdom-expected.html b/test/render/fixtures-deprecated/entities-with-cdata/vdom-expected.html new file mode 100644 index 000000000..410361d37 --- /dev/null +++ b/test/render/fixtures-deprecated/entities-with-cdata/vdom-expected.html @@ -0,0 +1,3 @@ +
"> + "Hello © " +" ©" diff --git a/test/render/fixtures/attr-newline-concise/expected.html b/test/render/fixtures/attr-newline-concise/expected.html index 94e63e690..cb475029c 100644 --- a/test/render/fixtures/attr-newline-concise/expected.html +++ b/test/render/fixtures/attr-newline-concise/expected.html @@ -1 +1,2 @@ -
Hello World \ No newline at end of file +
Hello World \ No newline at end of file diff --git a/test/render/fixtures/attr-newline-escaped/expected.html b/test/render/fixtures/attr-newline-escaped/expected.html index 93fcb3e0e..4e4af653d 100644 --- a/test/render/fixtures/attr-newline-escaped/expected.html +++ b/test/render/fixtures/attr-newline-escaped/expected.html @@ -1 +1,2 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/test/render/fixtures/attr-newline/expected.html b/test/render/fixtures/attr-newline/expected.html index 6fcc6e11f..9db08d4f7 100644 --- a/test/render/fixtures/attr-newline/expected.html +++ b/test/render/fixtures/attr-newline/expected.html @@ -1 +1,2 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/test/render/fixtures/bodyText/test.js b/test/render/fixtures/bodyText/test.js index 761736115..7847cc83c 100644 --- a/test/render/fixtures/bodyText/test.js +++ b/test/render/fixtures/bodyText/test.js @@ -1,3 +1,4 @@ +// TODO should deprecate exports.templateData = { name: "John" }; diff --git a/test/render/fixtures/entities/expected.html b/test/render/fixtures/entities/expected.html index 6d73bcc65..a564dfcf8 100644 --- a/test/render/fixtures/entities/expected.html +++ b/test/render/fixtures/entities/expected.html @@ -1 +1 @@ -
Hello <John>© <hello>
© \ No newline at end of file +
Hello <John>©
© \ No newline at end of file diff --git a/test/render/fixtures/entities/template.marko b/test/render/fixtures/entities/template.marko index f0dc262fb..bb51a544b 100644 --- a/test/render/fixtures/entities/template.marko +++ b/test/render/fixtures/entities/template.marko @@ -1,4 +1,4 @@
"> - Hello <John>© ]]> + Hello <John>©
-- © \ No newline at end of file diff --git a/test/render/fixtures/entities/vdom-expected.html b/test/render/fixtures/entities/vdom-expected.html index 410361d37..13d79b748 100644 --- a/test/render/fixtures/entities/vdom-expected.html +++ b/test/render/fixtures/entities/vdom-expected.html @@ -1,3 +1,3 @@
"> - "Hello © " + "Hello ©" " ©" diff --git a/test/render/index.test.js b/test/render/index.test.js index 18ff31bdc..0cd8a300f 100644 --- a/test/render/index.test.js +++ b/test/render/index.test.js @@ -101,6 +101,10 @@ async function runRenderTest(fixture) { : marko.load(templatePath, loadOptions); let templateData = Object.assign({}, main.templateData || {}); + if (template.default) { + template = template.default; + } + let out = template.createOut(); let asyncEventsVerifier = createAsyncVerifier( main, diff --git a/test/taglib-lookup/fixtures/declared-and-dynamic-attrs/marko.json b/test/taglib-lookup/fixtures/declared-and-dynamic-attrs/marko.json index 412a4db71..63a16c6ad 100644 --- a/test/taglib-lookup/fixtures/declared-and-dynamic-attrs/marko.json +++ b/test/taglib-lookup/fixtures/declared-and-dynamic-attrs/marko.json @@ -2,6 +2,9 @@ "": { "renderer": "./renderer.js", "@foo": "string", - "@*": "boolean" + "@*": { + "type": "boolean", + "target-property": null + } } }