From 7c9349e23f337e818c7f6fb922a54360515ac0d2 Mon Sep 17 00:00:00 2001 From: Christian Schneider Date: Fri, 23 Nov 2007 13:08:17 +0000 Subject: Only split selected options on comma for multi-select --- it_html.class | 2 +- tests/it_html.t | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/it_html.class b/it_html.class index f7bff0e..35eb273 100644 --- a/it_html.class +++ b/it_html.class @@ -347,7 +347,7 @@ function select($tags, $options, $selected = null) } } - $selected = (isset($selected) && !is_array($selected)) ? explode(',', $selected) : (array)$selected; + $selected = ($tags['multiple'] && is_string($selected)) ? explode(',', $selected) : (array)$selected; $html = ""; foreach($options as $value => $option) diff --git a/tests/it_html.t b/tests/it_html.t index e87df48..b560ed1 100755 --- a/tests/it_html.t +++ b/tests/it_html.t @@ -38,6 +38,18 @@ is( "link tag with data" ); +is( + it::replace('\n+\s*' => "", select('name' => "gna", 'multiple' => true, '1:foo,2:bar', '1,2')), + '', + "select tag with multiselect", +); + +is( + it::replace('\n+\s*' => "", select('name' => "gna", array("1" => "foo", "2" => 'bar', '1,2' => "qux"), '1,2')), + '', + "link tag without multiselect", +); + # XML generation unset($GLOBALS['it_html']); new it_html(array('htmltype' => "xhtml", 'tags' => "xmltest")); -- cgit v1.2.3