summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJan-Hendrik Hühne <[email protected]>2012-06-06 13:15:36 +0200
committerJan-Hendrik Hühne <[email protected]>2012-06-06 13:15:36 +0200
commit9c5810215a5934e14ad638cbc7181ed22bd218bd (patch)
treea7868f5468d88f7be298880cd456c508b75fa60b
parent152128e7989959294475bbaf133f05b7f9f36997 (diff)
downloadcaxlsx-9c5810215a5934e14ad638cbc7181ed22bd218bd.tar.gz
caxlsx-9c5810215a5934e14ad638cbc7181ed22bd218bd.zip
Missing validator tests.
-rw-r--r--lib/axlsx/util/validators.rb7
-rw-r--r--test/util/tc_validators.rb46
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