From b7366c42cdfcf0498d669ed0d8599bbfff981015 Mon Sep 17 00:00:00 2001 From: Jonniek Date: Sat, 14 Mar 2020 19:36:13 +0200 Subject: [PATCH] fix ssr dropping bound value 0 Number 0 when used in the value of a binding was ignored by the server side rendering. --- src/runtime/internal/ssr.ts | 2 +- .../samples/bindings-zero/_expected.html | 2 ++ .../server-side-rendering/samples/bindings-zero/main.svelte | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/server-side-rendering/samples/bindings-zero/_expected.html create mode 100644 test/server-side-rendering/samples/bindings-zero/main.svelte diff --git a/src/runtime/internal/ssr.ts b/src/runtime/internal/ssr.ts index 646a81d817..0e03afb0db 100644 --- a/src/runtime/internal/ssr.ts +++ b/src/runtime/internal/ssr.ts @@ -128,7 +128,7 @@ export function create_ssr_component(fn) { } export function add_attribute(name, value, boolean) { - if (value == null || (boolean && !value)) return ''; + if (value == null || (boolean && !value && value !== 0)) return ''; return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `"${value}"`}`}`; } diff --git a/test/server-side-rendering/samples/bindings-zero/_expected.html b/test/server-side-rendering/samples/bindings-zero/_expected.html new file mode 100644 index 0000000000..c243e358ff --- /dev/null +++ b/test/server-side-rendering/samples/bindings-zero/_expected.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/test/server-side-rendering/samples/bindings-zero/main.svelte b/test/server-side-rendering/samples/bindings-zero/main.svelte new file mode 100644 index 0000000000..6b4c606b13 --- /dev/null +++ b/test/server-side-rendering/samples/bindings-zero/main.svelte @@ -0,0 +1,6 @@ + + + +