diff options
| author | Jan-Hendrik Hühne <[email protected]> | 2012-06-06 13:15:36 +0200 |
|---|---|---|
| committer | Jan-Hendrik Hühne <[email protected]> | 2012-06-06 13:15:36 +0200 |
| commit | 9c5810215a5934e14ad638cbc7181ed22bd218bd (patch) | |
| tree | a7868f5468d88f7be298880cd456c508b75fa60b | |
| parent | 152128e7989959294475bbaf133f05b7f9f36997 (diff) | |
| download | caxlsx-9c5810215a5934e14ad638cbc7181ed22bd218bd.tar.gz caxlsx-9c5810215a5934e14ad638cbc7181ed22bd218bd.zip | |
Missing validator tests.
| -rw-r--r-- | lib/axlsx/util/validators.rb | 7 | ||||
| -rw-r--r-- | test/util/tc_validators.rb | 46 |
2 files changed, 49 insertions, 4 deletions
diff --git a/lib/axlsx/util/validators.rb b/lib/axlsx/util/validators.rb index 4f42b29c..c7c97e78 100644 --- a/lib/axlsx/util/validators.rb +++ b/lib/axlsx/util/validators.rb @@ -112,6 +112,11 @@ module Axlsx def self.validate_scale_10_400(v) DataTypeValidator.validate "page_scale", [Fixnum, Integer], v, lambda { |arg| arg >= 10 && arg <= 400 } end + + # Requires that the value is an integer ranging from 10 to 400 or 0. + def self.validate_scale_0_10_400(v) + DataTypeValidator.validate "page_scale", [Fixnum, Integer], v, lambda { |arg| arg == 0 || (arg >= 10 && arg <= 400) } + end # Requires that the value is one of :default, :landscape, or :portrait. def self.validate_page_orientation(v) @@ -132,8 +137,6 @@ module Axlsx # thisMonth, lastMonth, nextMonth, thisWeek, lastWeek, nextWeek def self.validate_time_period_type(v) RestrictionValidator.validate :time_period_type, [:today, :yesterday, :tomorrow, :last7Days, :thisMonth, :lastMonth, :nextMonth, :thisWeek, :lastWeek, :nextWeek], v - - end # Requires that the value is one of the valid ST_IconSet types diff --git a/test/util/tc_validators.rb b/test/util/tc_validators.rb index a41620a0..f5e11391 100644 --- a/test/util/tc_validators.rb +++ b/test/util/tc_validators.rb @@ -83,7 +83,7 @@ class TestValidators < Test::Unit::TestCase assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "mm" } assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "-29cm" } - #page_scale + #scale_10_400 assert_nothing_raised { Axlsx.validate_scale_10_400 10 } assert_nothing_raised { Axlsx.validate_scale_10_400 100 } assert_nothing_raised { Axlsx.validate_scale_10_400 400 } @@ -91,7 +91,17 @@ class TestValidators < Test::Unit::TestCase assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 10.0 } assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 400.1 } assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 "99" } - + + #scale_0_10_400 + assert_nothing_raised { Axlsx.validate_scale_0_10_400 0 } + assert_nothing_raised { Axlsx.validate_scale_0_10_400 10 } + assert_nothing_raised { Axlsx.validate_scale_0_10_400 100 } + assert_nothing_raised { Axlsx.validate_scale_0_10_400 400 } + assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 9 } + assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 10.0 } + assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 400.1 } + assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 "99" } + #page_orientation assert_nothing_raised { Axlsx.validate_page_orientation :default } assert_nothing_raised { Axlsx.validate_page_orientation :landscape } @@ -99,6 +109,38 @@ class TestValidators < Test::Unit::TestCase assert_raise(ArgumentError) { Axlsx.validate_page_orientation nil } assert_raise(ArgumentError) { Axlsx.validate_page_orientation 1 } assert_raise(ArgumentError) { Axlsx.validate_page_orientation "landscape" } + + #data_validation_error_style + [:information, :stop, :warning].each do |sym| + assert_nothing_raised { Axlsx.validate_data_validation_error_style sym } + end + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'warning' } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 } + + #data_validation_operator + [:lessThan, :lessThanOrEqual, :equal, :notEqual, :greaterThanOrEqual, :greaterThan, :between, :notBetween].each do |sym| + assert_nothing_raised { Axlsx.validate_data_validation_operator sym } + end + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'lessThan' } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 } + + #data_validation_type + [:custom, :data, :decimal, :list, :none, :textLength, :time, :whole].each do |sym| + assert_nothing_raised { Axlsx.validate_data_validation_type sym } + end + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'decimal' } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 } + + #sheet_view_type + [:normal, :page_break_preview, :page_layout].each do |sym| + assert_nothing_raised { Axlsx.validate_sheet_view_type sym } + end + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'page_layout' } + assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 } end end |
