diff --git a/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/node.render.expected.html b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/node.render.expected.html new file mode 100644 index 0000000..496350e --- /dev/null +++ b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/node.render.expected.html @@ -0,0 +1,6 @@ +
+ 1 +
+ \ No newline at end of file diff --git a/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.render.expected.html b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.render.expected.html new file mode 100644 index 0000000..496350e --- /dev/null +++ b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.render.expected.html @@ -0,0 +1,6 @@ +
+ 1 +
+ \ No newline at end of file diff --git a/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.step-0.expected.html b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.step-0.expected.html new file mode 100644 index 0000000..248b2ac --- /dev/null +++ b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.step-0.expected.html @@ -0,0 +1,6 @@ +
+ 2 +
+ \ No newline at end of file diff --git a/src/__tests__/fixtures/get-and-set/index.test.ts b/src/__tests__/fixtures/get-and-set/index.test.ts index 42c3105..2a184d4 100644 --- a/src/__tests__/fixtures/get-and-set/index.test.ts +++ b/src/__tests__/fixtures/get-and-set/index.test.ts @@ -69,6 +69,15 @@ describe( ]) ); +describe( + " & update provided value", + fixture("./templates/update-provided-value/index.marko", [ + async ({ screen, fireEvent }) => { + await fireEvent.click(screen.getByText("increment")); + }, + ]) +); + describe( " & reference by tag name", fixture("./templates/reference-by-tag-name/index.marko") diff --git a/src/__tests__/fixtures/get-and-set/templates/update-provided-value/components/child.marko b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/components/child.marko new file mode 100644 index 0000000..2c6b64e --- /dev/null +++ b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/components/child.marko @@ -0,0 +1,2 @@ + +
${val}
\ No newline at end of file diff --git a/src/__tests__/fixtures/get-and-set/templates/update-provided-value/index.marko b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/index.marko new file mode 100644 index 0000000..3c26422 --- /dev/null +++ b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/index.marko @@ -0,0 +1,6 @@ + + + + + +
\ No newline at end of file diff --git a/src/components/get/index.marko b/src/components/get/index.marko index 5d28f43..2682144 100644 --- a/src/components/get/index.marko +++ b/src/components/get/index.marko @@ -26,7 +26,7 @@ class { if (this.provider) { if (typeof window === "object") { - this.sub = this.subscribeTo(this.provider).on("___change", this.sync); + this.sub = this.subscribeTo(this.provider).on("___changed", this.sync); } this.data = this.provider.input; diff --git a/src/components/set/index.marko b/src/components/set/index.marko index e03126c..06457ed 100644 --- a/src/components/set/index.marko +++ b/src/components/set/index.marko @@ -28,8 +28,7 @@ $ { <${input.renderBody}/> $ { - if (typeof window === "object" && !component.___rendered) { - component.___rendered = true; + if (typeof window === "object" && typeof component.emit === "function") { component.emit("___changed"); }