diff --git a/t/ui-lib-widgets.t b/t/ui-lib-widgets.t index 08d53a4da..161b7c751 100644 --- a/t/ui-lib-widgets.t +++ b/t/ui-lib-widgets.t @@ -509,6 +509,17 @@ like(main::ui_form_columns_table('x.cgi', [ [ 'go', 'Go' ] ], 0, undef, undef, is_deeply(\@disabled, [ 1, 0 ], 'themes receive the normalized disabled state'); } +# Three-argument callers retain legacy selected labels and order. +{ + my $values = [ [ 'b', 'Selected & saved' ], [ 'a', 'A' ] ]; + my $options = [ [ 'a', 'R&D' ], [ 'b', 'Available' ] ]; + my $html = main::ui_multi_select_list('short', $values, $options); + like($html, qr/name="short"[^>]*value="b\na"/, + 'omitting size preserves the supplied selection order'); + like($html, qr/>Selected & saved 3 && ref($opts) ne 'HASH'; +my $legacy = ref($opts) ne 'HASH'; if (ref($opts) ne 'HASH') { # Accept ui_multi_select's positional disabled argument. $opts = { 'disabled' => $_[5] };