From 1a4a8b5ab8eb499ee2217c966f7fbb7716adf9e9 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 19 Oct 2018 16:03:57 -0400 Subject: Client-side escaping of HTML should be prepared for structured HTML trees, not just strings (closes #141) --- lib/js/urweb.js | 2 +- tests/a_case_of_the_splits.ur | 17 +++++++++++++++++ tests/a_case_of_the_splits.urp | 4 ++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/a_case_of_the_splits.ur create mode 100644 tests/a_case_of_the_splits.urp diff --git a/lib/js/urweb.js b/lib/js/urweb.js index 199f5001..bf20cfd4 100644 --- a/lib/js/urweb.js +++ b/lib/js/urweb.js @@ -1439,7 +1439,7 @@ function eh(x) { if (x == null) return "NULL"; else - return x.split("&").join("&").split("<").join("<").split(">").join(">"); + return flattenLocal(x).split("&").join("&").split("<").join("<").split(">").join(">"); } function ts(x) { return x.toString() } diff --git a/tests/a_case_of_the_splits.ur b/tests/a_case_of_the_splits.ur new file mode 100644 index 00000000..2029729e --- /dev/null +++ b/tests/a_case_of_the_splits.ur @@ -0,0 +1,17 @@ +fun newCounter () : transaction xbody = + x <- source 0; + return + {[n]}}/> + + +fun main () : transaction page = + ls <- source ([] : list xbody); + return + +