From c26ece32ba001afd80f115aae5652110dd40b385 Mon Sep 17 00:00:00 2001 From: Dima Voytenko Date: Wed, 16 Sep 2020 13:22:43 -0700 Subject: [PATCH] amp-date-display: render via __html string (#30226) * amp-date-display: render via __html string * cleanup defaults * cleanup RendererFunctionResponseType * tests * more tests * amp-date-display has to use div * fixed tests --- build-system/externs/preact.extern.js | 5 + examples/amp-date-display.amp.html | 26 +- .../amp-date-display/1.0/amp-date-display.js | 102 ++++--- .../amp-date-display/1.0/async-render.js | 36 --- .../amp-date-display/1.0/date-display.js | 71 ++++- .../amp-date-display/1.0/date-display.type.js | 25 +- .../amp-date-display/1.0/render-dom-tree.js | 46 --- .../1.0/storybook/Basic.amp.js | 69 ++++- .../amp-date-display/1.0/storybook/Basic.js | 30 +- .../1.0/test/test-amp-date-display.js | 51 ++-- .../1.0/test/test-date-display.js | 48 +++ extensions/amp-mustache/0.1/amp-mustache.js | 19 +- .../0.1/test/test-amp-mustache.js | 166 ++++++----- extensions/amp-mustache/0.2/amp-mustache.js | 20 +- .../0.2/test/test-amp-mustache.js | 164 +++++----- src/preact/base-element.js | 164 ++++++++-- src/preact/component/component.type.js | 10 + src/preact/component/index.js | 1 + src/preact/component/renderer.js | 51 ++++ src/service/template-impl.js | 64 ++-- test/unit/preact/component/test-renderer.js | 125 ++++++++ test/unit/preact/test-base-element.js | 279 ++++++++++++------ test/unit/test-template.js | 25 +- 23 files changed, 1107 insertions(+), 490 deletions(-) delete mode 100644 extensions/amp-date-display/1.0/async-render.js delete mode 100644 extensions/amp-date-display/1.0/render-dom-tree.js create mode 100644 src/preact/component/renderer.js create mode 100644 test/unit/preact/component/test-renderer.js diff --git a/build-system/externs/preact.extern.js b/build-system/externs/preact.extern.js index ee1a43e7e1bf..1a435e13777e 100644 --- a/build-system/externs/preact.extern.js +++ b/build-system/externs/preact.extern.js @@ -55,3 +55,8 @@ PreactDef.SimpleRenderable; * @typedef {PreactDef.SimpleRenderable|!PreactDef.VNode|!Array>} */ PreactDef.Renderable; + +/** + * @typedef {{__html: ?string}} + */ +PreactDef.InnerHTML; diff --git a/examples/amp-date-display.amp.html b/examples/amp-date-display.amp.html index ac6f38b990f8..adf9a0fc6c4c 100644 --- a/examples/amp-date-display.amp.html +++ b/examples/amp-date-display.amp.html @@ -27,7 +27,7 @@

Date & time

Available variables