summaryrefslogtreecommitdiffhomepage
path: root/test/workbook/worksheet/tc_data_validation.rb
diff options
context:
space:
mode:
authorKoza <[email protected]>2022-07-11 10:17:27 +0200
committerStefan Daschek <[email protected]>2022-07-12 13:11:24 +0200
commite975a2451ae3c5f6eb62bfbfea33be3bb9f2cb14 (patch)
tree963e91ace302a893188d1e1a79d91958e5d11996 /test/workbook/worksheet/tc_data_validation.rb
parentb9b59ab3e115cde48252fb7f7eec741c20a31ea4 (diff)
downloadcaxlsx-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/tc_data_validation.rb')
-rw-r--r--test/workbook/worksheet/tc_data_validation.rb27
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)