test/validations_test.rb in fast_excel-0.4.0 vs test/validations_test.rb in fast_excel-0.4.1

- old
+ new

@@ -9,11 +9,11 @@ error = assert_raises do workbook.add_worksheet("Payments Report") end assert_equal(ArgumentError, error.class) - assert_equal("Worksheet name 'Payments Report' is already in use", error.message) + assert_equal("Invalid worksheet name 'Payments Report': (16 - error_sheetname_already_used) Worksheet name is already in use.", error.message) end it "should not raise error when worksheet name is null" do workbook = FastExcel.open(constant_memory: true) @@ -31,17 +31,28 @@ error = assert_raises do workbook.add_worksheet("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345") end assert_equal(ArgumentError, error.class) - assert_equal("Worksheet name 'ABCDEFGHIJKLMNOPQRSTUVWXYZ012345' exceeds Excel's limit of 31 characters", error.message) + assert_equal("Invalid worksheet name 'ABCDEFGHIJKLMNOPQRSTUVWXYZ012345': (13 - error_sheetname_length_exceeded) Worksheet name exceeds Excel's limit of 31 characters.", error.message) end it "should not raise error when the sheet name is at maximum length" do workbook = FastExcel.open(constant_memory: true) worksheet = workbook.add_worksheet("ABCDEFGHIJKLMNOPQRSTUVWXYZ01234") worksheet.append_row(["aaa", "bbb", "ccc"]) assert_equal("ABCDEFGHIJKLMNOPQRSTUVWXYZ01234", worksheet[:name]) + end + + it "should validate using Libxlsxwriter validation" do + workbook = FastExcel.open(constant_memory: true) + error = assert_raises do + worksheet = workbook.add_worksheet('a?') + worksheet.write_value(1, 1, 'a') # without the validation, this method will crash the process + end + + assert_equal(ArgumentError, error.class) + assert_equal("Invalid worksheet name 'a?': (14 - error_invalid_sheetname_character) Worksheet name cannot contain invalid characters: '[ ] : * ? / \\'", error.message) end end