test/validations_test.rb in fast_excel-0.2.6 vs test/validations_test.rb in fast_excel-0.3.0
- old
+ new
@@ -12,16 +12,36 @@
assert_equal(ArgumentError, error.class)
assert_equal("Worksheet name 'Payments Report' is already in use", error.message)
end
- it "should not raise error when worksheet name is empty string" do
+ it "should not raise error when worksheet name is null" do
workbook = FastExcel.open(constant_memory: true)
- ws1 = workbook.add_worksheet("")
- ws2 = workbook.add_worksheet("")
+ ws1 = workbook.add_worksheet()
+ ws2 = workbook.add_worksheet()
ws2.write_value(0, 2, "aaa")
- assert_equal("", ws1[:name])
- assert_equal("", ws2[:name])
+ assert_equal("Sheet1", ws1[:name])
+ assert_equal("Sheet2", ws2[:name])
end
-end
\ No newline at end of file
+
+ it "should raise error when the sheet name exceeds maximum length" do
+ workbook = FastExcel.open(constant_memory: true)
+
+ 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)
+ 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
+end