|
2 | 2 | defmodule CompatibilityTest do
|
3 | 3 | use ExUnit.Case
|
4 | 4 |
|
| 5 | + describe "elixlsx" do |
| 6 | + test "file generated by elixlsx" do |
| 7 | + test_row = [ |
| 8 | + "string1", |
| 9 | + "", |
| 10 | + nil, |
| 11 | + :empty, |
| 12 | + "string1", |
| 13 | + "string2", |
| 14 | + 123, |
| 15 | + true, |
| 16 | + false |
| 17 | + ] |
| 18 | + |
| 19 | + workbook = %Elixlsx.Workbook{ |
| 20 | + sheets: [ |
| 21 | + %Elixlsx.Sheet{ |
| 22 | + name: "sheet1", |
| 23 | + rows: [ |
| 24 | + test_row |
| 25 | + ] |
| 26 | + }, |
| 27 | + %Elixlsx.Sheet{name: "sheet2", rows: []} |
| 28 | + ] |
| 29 | + } |
| 30 | + |
| 31 | + assert {:ok, {_filename, zip_binary}} = Elixlsx.write_to_memory(workbook, "test.xlsx") |
| 32 | + |
| 33 | + assert {:ok, package} = XlsxReader.open(zip_binary, source: :binary) |
| 34 | + |
| 35 | + assert ["sheet1", "sheet2"] = XlsxReader.sheet_names(package) |
| 36 | + |
| 37 | + assert {:ok, |
| 38 | + [ |
| 39 | + [ |
| 40 | + "string1", |
| 41 | + "", |
| 42 | + nil, |
| 43 | + nil, |
| 44 | + "string1", |
| 45 | + "string2", |
| 46 | + 123.0, |
| 47 | + true, |
| 48 | + false |
| 49 | + ] |
| 50 | + ]} = XlsxReader.sheet(package, "sheet1", blank_value: nil) |
| 51 | + |
| 52 | + assert {:ok, []} = XlsxReader.sheet(package, "sheet2") |
| 53 | + end |
| 54 | + |
| 55 | + test "sheets with dates and datetimes" do |
| 56 | + s1 = Elixlsx.Sheet.with_name("1") |> Elixlsx.Sheet.set_cell("A1", {{2015, 11, 30}, {21, 20, 38}}, datetime: true) |
| 57 | + s2 = Elixlsx.Sheet.with_name("2") |> Elixlsx.Sheet.set_cell("A1", {{2015, 11, 30}, {21, 20, 38}}, yyyymmdd: true) |
| 58 | + wk = %Elixlsx.Workbook{sheets: [s1, s2]} |
| 59 | + |
| 60 | + {:ok, {_filename, bin}} = Elixlsx.write_to_memory(wk, "test.xlsx") |
| 61 | + {:ok, package} = XlsxReader.open(bin, source: :binary) |
| 62 | + {:ok, sheets} = XlsxReader.sheets(package) |
| 63 | + |
| 64 | + assert [{"1", [[~N[2015-11-30 21:20:38]]]}, {"2", [[~D[2015-11-30]]]}] = sheets |
| 65 | + end |
| 66 | + end |
| 67 | + |
5 | 68 | test "google_spreadsheet.xlsx" do
|
6 | 69 | assert {:ok, package} =
|
7 | 70 | XlsxReader.open(
|
@@ -37,55 +100,6 @@ defmodule CompatibilityTest do
|
37 | 100 | ]} = XlsxReader.sheet(package, "merged")
|
38 | 101 | end
|
39 | 102 |
|
40 |
| - test "file generated by elixlsx" do |
41 |
| - test_row = [ |
42 |
| - "string1", |
43 |
| - "", |
44 |
| - nil, |
45 |
| - :empty, |
46 |
| - "string1", |
47 |
| - "string2", |
48 |
| - 123, |
49 |
| - true, |
50 |
| - false |
51 |
| - ] |
52 |
| - |
53 |
| - workbook = %Elixlsx.Workbook{ |
54 |
| - sheets: [ |
55 |
| - %Elixlsx.Sheet{ |
56 |
| - name: "sheet1", |
57 |
| - rows: [ |
58 |
| - test_row |
59 |
| - ] |
60 |
| - }, |
61 |
| - %Elixlsx.Sheet{name: "sheet2", rows: []} |
62 |
| - ] |
63 |
| - } |
64 |
| - |
65 |
| - assert {:ok, {_filename, zip_binary}} = Elixlsx.write_to_memory(workbook, "test.xlsx") |
66 |
| - |
67 |
| - assert {:ok, package} = XlsxReader.open(zip_binary, source: :binary) |
68 |
| - |
69 |
| - assert ["sheet1", "sheet2"] = XlsxReader.sheet_names(package) |
70 |
| - |
71 |
| - assert {:ok, |
72 |
| - [ |
73 |
| - [ |
74 |
| - "string1", |
75 |
| - "", |
76 |
| - nil, |
77 |
| - nil, |
78 |
| - "string1", |
79 |
| - "string2", |
80 |
| - 123.0, |
81 |
| - true, |
82 |
| - false |
83 |
| - ] |
84 |
| - ]} = XlsxReader.sheet(package, "sheet1", blank_value: nil) |
85 |
| - |
86 |
| - assert {:ok, []} = XlsxReader.sheet(package, "sheet2") |
87 |
| - end |
88 |
| - |
89 | 103 | test "file with omitted row elements" do
|
90 | 104 | assert {:ok, package} = XlsxReader.open(TestFixtures.path("omitted_row.xlsx"))
|
91 | 105 |
|
|
0 commit comments