diff options
| author | Koza <[email protected]> | 2022-07-11 10:17:27 +0200 |
|---|---|---|
| committer | Stefan Daschek <[email protected]> | 2022-07-12 13:11:24 +0200 |
| commit | e975a2451ae3c5f6eb62bfbfea33be3bb9f2cb14 (patch) | |
| tree | 963e91ace302a893188d1e1a79d91958e5d11996 /test/workbook/worksheet | |
| parent | b9b59ab3e115cde48252fb7f7eec741c20a31ea4 (diff) | |
| download | caxlsx-e975a2451ae3c5f6eb62bfbfea33be3bb9f2cb14.tar.gz caxlsx-e975a2451ae3c5f6eb62bfbfea33be3bb9f2cb14.zip | |
Add `hideDropDown` alias for `showDropDown` setting, as the latter is confusing to use (because its logic seems inverted).
Diffstat (limited to 'test/workbook/worksheet')
| -rw-r--r-- | test/workbook/worksheet/tc_data_validation.rb | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/test/workbook/worksheet/tc_data_validation.rb b/test/workbook/worksheet/tc_data_validation.rb index fbf31682..12fee6ef 100644 --- a/test/workbook/worksheet/tc_data_validation.rb +++ b/test/workbook/worksheet/tc_data_validation.rb @@ -1,11 +1,13 @@ # encoding: UTF-8 require 'tc_helper.rb' - +require 'support/capture_warnings' class TestDataValidation < Test::Unit::TestCase + include CaptureWarnings + def setup #inverse defaults - @boolean_options = { :allowBlank => false, :showDropDown => true, :showErrorMessage => false, :showInputMessage => true } + @boolean_options = { :allowBlank => false, :hideDropDown => true, :showErrorMessage => false, :showInputMessage => true } @nil_options = { :formula1 => 'foo', :formula2 => 'foo', :errorTitle => 'foo', :operator => :lessThan, :prompt => 'foo', :promptTitle => 'foo', :sqref => 'foo' } @type_option = { :type => :whole } @error_style_option = { :errorStyle => :warning } @@ -118,8 +120,21 @@ class TestDataValidation < Test::Unit::TestCase end def test_showDropDown - assert_raise(ArgumentError) { @dv.showDropDown = "foo´" } - assert_nothing_raised { @dv.showDropDown = false } + warnings = capture_warnings do + assert_raise(ArgumentError) { @dv.showDropDown = "foo´" } + assert_nothing_raised { @dv.showDropDown = false } + assert_equal(@dv.showDropDown, false) + end + + assert_equal 2, warnings.size + assert_includes warnings.first, 'The `showDropDown` has an inverted logic, false shows the dropdown list! You should use `hideDropDown` instead.' + end + + def test_hideDropDown + assert_raise(ArgumentError) { @dv.hideDropDown = "foo´" } + assert_nothing_raised { @dv.hideDropDown = false } + assert_equal(@dv.hideDropDown, false) + # As hideDropdown is just an alias for showDropDown, we should test the original value too assert_equal(@dv.showDropDown, false) end @@ -182,7 +197,7 @@ class TestDataValidation < Test::Unit::TestCase @ws.add_data_validation("A1", { :type => :list, :formula1 => 'A1:A5', :showErrorMessage => true, :errorTitle => 'Wrong input', :error => 'Only values from list', :errorStyle => :stop, :showInputMessage => true, :promptTitle => 'Be carful!', - :prompt => 'Only values from list', :showDropDown => true}) + :prompt => 'Only values from list', :hideDropDown => true}) doc = Nokogiri::XML.parse(@ws.to_xml_string) @@ -233,7 +248,7 @@ class TestDataValidation < Test::Unit::TestCase @ws.add_data_validation("B1", { :type => :list, :formula1 => 'A1:A5', :showErrorMessage => true, :errorTitle => 'Wrong input', :error => 'Only values from list', :errorStyle => :stop, :showInputMessage => true, :promptTitle => 'Be carful!', - :prompt => 'Only values from list', :showDropDown => true}) + :prompt => 'Only values from list', :hideDropDown => true}) doc = Nokogiri::XML.parse(@ws.to_xml_string) |
