From 26185bb4f1824d3cc96824d94f35cb241d344028 Mon Sep 17 00:00:00 2001 From: Christian Schneider Date: Tue, 14 Oct 2025 16:48:37 +0200 Subject: Simplify js() function and fix boolean attributes like 'async' => true, add tests for it --- it_html.class | 14 ++++++-------- test/it_html.t | 3 +++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/it_html.class b/it_html.class index 9bb8e7a..bab85da 100644 --- a/it_html.class +++ b/it_html.class @@ -546,18 +546,16 @@ static function U(...$args) */ function js($args) { - $args = it::map(fn($v) => it::replace(['"; - } + if (($this->p['htmltype'][0] == 'x') && strlen($base)) + $base = ""; if ($this->p['htmltype'] != "html5") - array_unshift($args, array('type' => 'text/javascript')); + $params['type'] = 'text/javascript'; - return $this->_tag('script', $args); + return $this->_tag('script', [$base, $params]); } diff --git a/test/it_html.t b/test/it_html.t index 13e2bc5..90af4b6 100755 --- a/test/it_html.t +++ b/test/it_html.t @@ -81,6 +81,8 @@ is( "leave legal utf8 intact" ); +is(js(['async' => true], 'foo'), "\n", 'boolean attribute for js script tag'); + unset($GLOBALS['debug_utf8check']); is( div(['arg' => "value \xc2", "content"]), @@ -136,6 +138,7 @@ is( "xhtml doctype" ); +is(js('foo'), "\n", "escape js script content with CDATA in xml mode"); # XML generation unset($GLOBALS['it_html']); -- cgit v1.2.3