From 49c0252ddae36be457375c550b017cb16f48269e Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Thu, 22 Aug 2024 15:44:36 -0700 Subject: [PATCH] test: add fixture test --- .../non-static-optimized/actual.html | 3 + .../non-static-optimized/ast.json | 145 ++++++++++++++++++ .../non-static-optimized/config.json | 3 + .../non-static-optimized/expected.js | 32 ++++ .../non-static-optimized/metadata.json | 3 + .../static-optimized/actual.html | 3 + .../static-optimized/ast.json | 145 ++++++++++++++++++ .../static-optimized/config.json | 3 + .../static-optimized/expected.js | 38 +++++ .../static-optimized/metadata.json | 3 + 10 files changed, 378 insertions(+) create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/actual.html create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/ast.json create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/config.json create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/expected.js create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/metadata.json create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/actual.html create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/ast.json create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/config.json create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/expected.js create mode 100644 packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/metadata.json diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/actual.html b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/actual.html new file mode 100644 index 0000000000..5a1ddded24 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/actual.html @@ -0,0 +1,3 @@ + diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/ast.json b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/ast.json new file mode 100644 index 0000000000..1cfdfcf764 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/ast.json @@ -0,0 +1,145 @@ +{ + "root": { + "type": "Root", + "location": { + "startLine": 1, + "startColumn": 1, + "endLine": 3, + "endColumn": 12, + "start": 0, + "end": 114, + "startTag": { + "startLine": 1, + "startColumn": 1, + "endLine": 1, + "endColumn": 11, + "start": 0, + "end": 10 + }, + "endTag": { + "startLine": 3, + "startColumn": 1, + "endLine": 3, + "endColumn": 12, + "start": 103, + "end": 114 + } + }, + "directives": [], + "children": [ + { + "type": "Element", + "name": "button", + "namespace": "http://www.w3.org/1999/xhtml", + "location": { + "startLine": 2, + "startColumn": 5, + "endLine": 2, + "endColumn": 92, + "start": 15, + "end": 102, + "startTag": { + "startLine": 2, + "startColumn": 5, + "endLine": 2, + "endColumn": 83, + "start": 15, + "end": 93 + }, + "endTag": { + "startLine": 2, + "startColumn": 83, + "endLine": 2, + "endColumn": 92, + "start": 93, + "end": 102 + } + }, + "attributes": [], + "properties": [], + "directives": [], + "listeners": [ + { + "type": "EventListener", + "name": "click", + "handler": { + "type": "Identifier", + "start": 1, + "end": 8, + "name": "onClick", + "location": { + "startLine": 2, + "startColumn": 13, + "endLine": 2, + "endColumn": 30, + "start": 23, + "end": 40 + } + }, + "location": { + "startLine": 2, + "startColumn": 13, + "endLine": 2, + "endColumn": 30, + "start": 23, + "end": 40 + } + }, + { + "type": "EventListener", + "name": "touchstart", + "handler": { + "type": "Identifier", + "start": 1, + "end": 13, + "name": "onTouchStart", + "location": { + "startLine": 2, + "startColumn": 31, + "endLine": 2, + "endColumn": 58, + "start": 41, + "end": 68 + } + }, + "location": { + "startLine": 2, + "startColumn": 31, + "endLine": 2, + "endColumn": 58, + "start": 41, + "end": 68 + } + }, + { + "type": "EventListener", + "name": "touchend", + "handler": { + "type": "Identifier", + "start": 1, + "end": 11, + "name": "onTouchEnd", + "location": { + "startLine": 2, + "startColumn": 59, + "endLine": 2, + "endColumn": 82, + "start": 69, + "end": 92 + } + }, + "location": { + "startLine": 2, + "startColumn": 59, + "endLine": 2, + "endColumn": 82, + "start": 69, + "end": 92 + } + } + ], + "children": [] + } + ] + } +} \ No newline at end of file diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/config.json b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/config.json new file mode 100644 index 0000000000..b5d7f0cbd0 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/config.json @@ -0,0 +1,3 @@ +{ + "enableStaticContentOptimization": false +} diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/expected.js b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/expected.js new file mode 100644 index 0000000000..4fb00ac20a --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/expected.js @@ -0,0 +1,32 @@ +import _implicitStylesheets from "./multiple-non-static-optimized.css"; +import _implicitScopedStylesheets from "./multiple-non-static-optimized.scoped.css?scoped=true"; +import { freezeTemplate, registerTemplate } from "lwc"; +function tmpl($api, $cmp, $slotset, $ctx) { + const { b: api_bind, h: api_element } = $api; + const { _m0 } = $ctx; + return [ + api_element("button", { + key: 0, + on: + _m0 || + ($ctx._m0 = { + click: api_bind($cmp.onClick), + touchstart: api_bind($cmp.onTouchStart), + touchend: api_bind($cmp.onTouchEnd), + }), + }), + ]; + /*LWC compiler vX.X.X*/ +} +export default registerTemplate(tmpl); +tmpl.stylesheets = []; +tmpl.stylesheetToken = "lwc-3c8br5010o7"; +tmpl.legacyStylesheetToken = + "x-multiple-non-static-optimized_multiple-non-static-optimized"; +if (_implicitStylesheets) { + tmpl.stylesheets.push.apply(tmpl.stylesheets, _implicitStylesheets); +} +if (_implicitScopedStylesheets) { + tmpl.stylesheets.push.apply(tmpl.stylesheets, _implicitScopedStylesheets); +} +freezeTemplate(tmpl); diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/metadata.json b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/metadata.json new file mode 100644 index 0000000000..51ec5f799c --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/non-static-optimized/metadata.json @@ -0,0 +1,3 @@ +{ + "warnings": [] +} \ No newline at end of file diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/actual.html b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/actual.html new file mode 100644 index 0000000000..5a1ddded24 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/actual.html @@ -0,0 +1,3 @@ + diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/ast.json b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/ast.json new file mode 100644 index 0000000000..1cfdfcf764 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/ast.json @@ -0,0 +1,145 @@ +{ + "root": { + "type": "Root", + "location": { + "startLine": 1, + "startColumn": 1, + "endLine": 3, + "endColumn": 12, + "start": 0, + "end": 114, + "startTag": { + "startLine": 1, + "startColumn": 1, + "endLine": 1, + "endColumn": 11, + "start": 0, + "end": 10 + }, + "endTag": { + "startLine": 3, + "startColumn": 1, + "endLine": 3, + "endColumn": 12, + "start": 103, + "end": 114 + } + }, + "directives": [], + "children": [ + { + "type": "Element", + "name": "button", + "namespace": "http://www.w3.org/1999/xhtml", + "location": { + "startLine": 2, + "startColumn": 5, + "endLine": 2, + "endColumn": 92, + "start": 15, + "end": 102, + "startTag": { + "startLine": 2, + "startColumn": 5, + "endLine": 2, + "endColumn": 83, + "start": 15, + "end": 93 + }, + "endTag": { + "startLine": 2, + "startColumn": 83, + "endLine": 2, + "endColumn": 92, + "start": 93, + "end": 102 + } + }, + "attributes": [], + "properties": [], + "directives": [], + "listeners": [ + { + "type": "EventListener", + "name": "click", + "handler": { + "type": "Identifier", + "start": 1, + "end": 8, + "name": "onClick", + "location": { + "startLine": 2, + "startColumn": 13, + "endLine": 2, + "endColumn": 30, + "start": 23, + "end": 40 + } + }, + "location": { + "startLine": 2, + "startColumn": 13, + "endLine": 2, + "endColumn": 30, + "start": 23, + "end": 40 + } + }, + { + "type": "EventListener", + "name": "touchstart", + "handler": { + "type": "Identifier", + "start": 1, + "end": 13, + "name": "onTouchStart", + "location": { + "startLine": 2, + "startColumn": 31, + "endLine": 2, + "endColumn": 58, + "start": 41, + "end": 68 + } + }, + "location": { + "startLine": 2, + "startColumn": 31, + "endLine": 2, + "endColumn": 58, + "start": 41, + "end": 68 + } + }, + { + "type": "EventListener", + "name": "touchend", + "handler": { + "type": "Identifier", + "start": 1, + "end": 11, + "name": "onTouchEnd", + "location": { + "startLine": 2, + "startColumn": 59, + "endLine": 2, + "endColumn": 82, + "start": 69, + "end": 92 + } + }, + "location": { + "startLine": 2, + "startColumn": 59, + "endLine": 2, + "endColumn": 82, + "start": 69, + "end": 92 + } + } + ], + "children": [] + } + ] + } +} \ No newline at end of file diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/config.json b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/config.json new file mode 100644 index 0000000000..e6e73eecd0 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/config.json @@ -0,0 +1,3 @@ +{ + "enableStaticContentOptimization": true +} diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/expected.js b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/expected.js new file mode 100644 index 0000000000..64075447d5 --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/expected.js @@ -0,0 +1,38 @@ +import _implicitStylesheets from "./multiple-static-optimized.css"; +import _implicitScopedStylesheets from "./multiple-static-optimized.scoped.css?scoped=true"; +import { freezeTemplate, parseFragment, registerTemplate } from "lwc"; +const $fragment1 = parseFragment``; +function tmpl($api, $cmp, $slotset, $ctx) { + const { b: api_bind, sp: api_static_part, st: api_static_fragment } = $api; + const { _m0, _m1 } = $ctx; + return [ + api_static_fragment($fragment1, 1, [ + api_static_part( + 0, + { + on: + _m1 || + ($ctx._m1 = { + click: api_bind($cmp.onClick), + touchstart: api_bind($cmp.onTouchStart), + touchend: api_bind($cmp.onTouchEnd), + }), + }, + null + ), + ]), + ]; + /*LWC compiler vX.X.X*/ +} +export default registerTemplate(tmpl); +tmpl.stylesheets = []; +tmpl.stylesheetToken = "lwc-7ppqi31636p"; +tmpl.legacyStylesheetToken = + "x-multiple-static-optimized_multiple-static-optimized"; +if (_implicitStylesheets) { + tmpl.stylesheets.push.apply(tmpl.stylesheets, _implicitStylesheets); +} +if (_implicitScopedStylesheets) { + tmpl.stylesheets.push.apply(tmpl.stylesheets, _implicitScopedStylesheets); +} +freezeTemplate(tmpl); diff --git a/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/metadata.json b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/metadata.json new file mode 100644 index 0000000000..51ec5f799c --- /dev/null +++ b/packages/@lwc/template-compiler/src/__tests__/fixtures/events/multiple-same-element/static-optimized/metadata.json @@ -0,0 +1,3 @@ +{ + "warnings": [] +} \ No newline at end of file