workbook 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. data/.gitignore +2 -1
  2. data/.yardoc/checksums +22 -21
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/Gemfile.lock +2 -2
  6. data/doc/RubyXL.html +1 -1
  7. data/doc/RubyXL/Cell.html +1 -1
  8. data/doc/RubyXL/Workbook.html +31 -31
  9. data/doc/Workbook.html +4 -4
  10. data/doc/Workbook/Book.html +5 -5
  11. data/doc/Workbook/Cell.html +202 -62
  12. data/doc/Workbook/Format.html +32 -32
  13. data/doc/Workbook/Modules.html +1 -1
  14. data/doc/Workbook/Modules/RawObjectsStorage.html +5 -5
  15. data/doc/Workbook/Modules/TableDiffSort.html +14 -14
  16. data/doc/Workbook/Modules/TypeParser.html +7 -7
  17. data/doc/Workbook/NilValue.html +434 -0
  18. data/doc/Workbook/Readers.html +3 -3
  19. data/doc/Workbook/Readers/CsvReader.html +6 -6
  20. data/doc/Workbook/Readers/OdsReader.html +562 -60
  21. data/doc/Workbook/Readers/TxtReader.html +2 -2
  22. data/doc/Workbook/Readers/XlsReader.html +14 -14
  23. data/doc/Workbook/Readers/XlsShared.html +67 -67
  24. data/doc/Workbook/Readers/XlsxReader.html +7 -7
  25. data/doc/Workbook/Row.html +243 -5
  26. data/doc/Workbook/Sheet.html +2 -2
  27. data/doc/Workbook/Table.html +669 -58
  28. data/doc/Workbook/Template.html +5 -5
  29. data/doc/Workbook/Writers.html +1 -1
  30. data/doc/Workbook/Writers/CsvTableWriter.html +1 -1
  31. data/doc/Workbook/Writers/HtmlWriter.html +27 -13
  32. data/doc/Workbook/Writers/XlsWriter.html +2 -2
  33. data/doc/_index.html +23 -8
  34. data/doc/class_list.html +1 -1
  35. data/doc/file.README.html +16 -12
  36. data/doc/index.html +16 -12
  37. data/doc/method_list.html +232 -72
  38. data/doc/top-level-namespace.html +1 -1
  39. data/lib/workbook/book.rb +25 -25
  40. data/lib/workbook/cell.rb +33 -33
  41. data/lib/workbook/format.rb +10 -10
  42. data/lib/workbook/modules/raw_objects_storage.rb +19 -19
  43. data/lib/workbook/modules/table_diff_sort.rb +22 -22
  44. data/lib/workbook/modules/type_parser.rb +18 -18
  45. data/lib/workbook/nil_value.rb +6 -6
  46. data/lib/workbook/readers/csv_reader.rb +8 -8
  47. data/lib/workbook/readers/ods_reader.rb +92 -46
  48. data/lib/workbook/readers/txt_reader.rb +2 -2
  49. data/lib/workbook/readers/xls_reader.rb +19 -19
  50. data/lib/workbook/readers/xls_shared.rb +70 -70
  51. data/lib/workbook/readers/xlsx_reader.rb +42 -42
  52. data/lib/workbook/row.rb +59 -29
  53. data/lib/workbook/sheet.rb +8 -8
  54. data/lib/workbook/table.rb +52 -19
  55. data/lib/workbook/template.rb +10 -10
  56. data/lib/workbook/version.rb +1 -1
  57. data/lib/workbook/writers/csv_table_writer.rb +1 -1
  58. data/lib/workbook/writers/html_writer.rb +6 -6
  59. data/lib/workbook/writers/xls_writer.rb +12 -12
  60. data/rbeautify.rb +232 -0
  61. data/test/artifacts/book_with_colspans.ods +0 -0
  62. data/test/artifacts/book_with_tabs_and_colours.ods +0 -0
  63. data/test/test_book.rb +10 -10
  64. data/test/test_cell.rb +14 -14
  65. data/test/test_format.rb +11 -11
  66. data/test/test_functional.rb +3 -3
  67. data/test/test_modules_table_diff_sort.rb +24 -24
  68. data/test/test_modules_type_parser.rb +27 -27
  69. data/test/test_readers_csv_reader.rb +11 -11
  70. data/test/test_readers_ods_reader.rb +22 -15
  71. data/test/test_readers_txt_reader.rb +13 -13
  72. data/test/test_readers_xls_reader.rb +11 -11
  73. data/test/test_readers_xlsx_reader.rb +5 -5
  74. data/test/test_row.rb +96 -26
  75. data/test/test_sheet.rb +9 -9
  76. data/test/test_table.rb +42 -26
  77. data/test/test_template.rb +3 -3
  78. data/test/test_writers_html_writer.rb +6 -4
  79. data/test/test_writers_xls_writer.rb +7 -7
  80. metadata +5 -1
data/test/test_book.rb CHANGED
@@ -7,24 +7,24 @@ class TestWorkbook < Test::Unit::TestCase
7
7
  w.push
8
8
  assert_equal(2, w.count)
9
9
  end
10
-
10
+
11
11
  def test_push
12
12
  w = Workbook::Book.new nil
13
13
  assert_equal([[[]]],w)
14
14
  w = Workbook::Book.new
15
15
  assert_equal(w.count,1)
16
-
16
+
17
17
  w.push
18
18
  assert_equal(w.first.class,Workbook::Sheet)
19
19
  w.push
20
- assert_equal(w.count,3)
20
+ assert_equal(w.count,3)
21
21
  s = Workbook::Sheet.new
22
22
  w.push s
23
23
  assert_equal(w.last,s)
24
24
  w = Workbook::Book.new
25
25
  assert_equal(w.sheet.table.class,Workbook::Table)
26
26
  end
27
-
27
+
28
28
  def test_sheet
29
29
  w = Workbook::Book.new nil
30
30
  s = Workbook::Sheet.new [Workbook::Row.new(Workbook::Table.new)]
@@ -33,17 +33,17 @@ class TestWorkbook < Test::Unit::TestCase
33
33
  w = Workbook::Book.new s
34
34
  assert_equal(w.sheet, s)
35
35
  end
36
-
36
+
37
37
  def test_template
38
38
  b = Workbook::Book.new
39
39
  raw = "asdf"
40
40
  assert_raise(ArgumentError) { b.template = raw }
41
41
  raw = Workbook::Template.new
42
42
  b.template = raw
43
-
43
+
44
44
  assert_equal(raw,b.template)
45
45
  end
46
-
46
+
47
47
  def test_parent_child
48
48
  b = Workbook::Book.new [[1,2,3],[1,2,3]]
49
49
  assert_equal(Workbook::Sheet, b.first.class)
@@ -53,15 +53,15 @@ class TestWorkbook < Test::Unit::TestCase
53
53
  assert_equal(Workbook::Row, b.first.table.header.class)
54
54
  assert_equal(b,b.first.table.header.table.sheet.book)
55
55
  end
56
-
56
+
57
57
  def test_text_to_utf8
58
- f = File.open("test/artifacts/excel_different_types.txt",'r')
58
+ f = File.open(File.join(File.dirname(__FILE__), 'artifacts/excel_different_types.txt'),'r')
59
59
  t = f.read
60
60
  w = Workbook::Book.new
61
61
  t = w.text_to_utf8(t)
62
62
  assert_equal("a\tb\tc\td", t.split(/(\n|\r)/).first)
63
63
  end
64
-
64
+
65
65
  def test_read_bad_filetype
66
66
  assert_raises(ArgumentError) { Workbook::Book.read("test string here", :xls) }
67
67
  assert_raises(ArgumentError) { Workbook::Book.read("test string here", :ods) }
data/test/test_cell.rb CHANGED
@@ -3,30 +3,30 @@ require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
4
  class TestCell < Test::Unit::TestCase
5
5
 
6
-
6
+
7
7
  def test_init
8
8
  w = Workbook::Cell.new nil
9
9
  assert_equal(nil,w.value)
10
10
  w = Workbook::Cell.new "asdf"
11
11
  assert_equal("asdf",w.value)
12
-
12
+
13
13
  assert_raise(ArgumentError) { w = Workbook::Cell.new :asdf }
14
14
 
15
15
  t = Time.now
16
16
  w = Workbook::Cell.new t
17
17
  assert_equal(t,w.value)
18
-
18
+
19
19
  end
20
-
20
+
21
21
  def test_value
22
22
  w = Workbook::Cell.new nil
23
23
  assert_equal(nil,w.value)
24
24
  w.value = "asdf"
25
25
  assert_equal("asdf",w.value)
26
26
  w.value = Date.new
27
- assert_equal(Date.new,w.value)
27
+ assert_equal(Date.new,w.value)
28
28
  end
29
-
29
+
30
30
  def test_comp
31
31
  a = Workbook::Cell.new 1
32
32
  b = Workbook::Cell.new 2
@@ -53,7 +53,7 @@ class TestCell < Test::Unit::TestCase
53
53
  b = Workbook::Cell.new nil
54
54
  assert_equal(0, a<=>b)
55
55
  end
56
-
56
+
57
57
  def test_cloning_as_expected?
58
58
  a = Workbook::Cell.new 1
59
59
  a.format = Workbook::Format.new({:value=>1})
@@ -65,7 +65,7 @@ class TestCell < Test::Unit::TestCase
65
65
  assert_equal(2,a.format[:value])
66
66
  assert_equal(2,b.format[:value])
67
67
  end
68
-
68
+
69
69
  def test_to_sym
70
70
  c = Workbook::Cell.new "A - B"
71
71
  assert_equal(:a_b, c.to_sym)
@@ -75,12 +75,12 @@ class TestCell < Test::Unit::TestCase
75
75
  assert_equal(:a_c_b123, c.to_sym)
76
76
 
77
77
  end
78
-
78
+
79
79
  def test_nil
80
80
  c = Workbook::Cell.new nil
81
81
  assert_equal(true,c.nil?)
82
82
  end
83
-
83
+
84
84
  def test_colspan_rowspan
85
85
  c = Workbook::Cell.new
86
86
  c.colspan = 1
@@ -90,16 +90,16 @@ class TestCell < Test::Unit::TestCase
90
90
  c.colspan = nil
91
91
  c.rowspan = ""
92
92
  assert_equal(nil,c.colspan)
93
- assert_equal(nil,c.rowspan)
93
+ assert_equal(nil,c.rowspan)
94
94
  c.colspan = 3
95
95
  c.rowspan = "4"
96
96
  assert_equal(3,c.colspan)
97
97
  c.rowspan = 0
98
- assert_equal(nil,c.rowspan)
98
+ assert_equal(nil,c.rowspan)
99
99
  assert_equal(3,c.colspan)
100
100
  c.colspan = 0
101
101
  c.rowspan = 3
102
- assert_equal(3,c.rowspan)
103
- assert_equal(nil,c.colspan)
102
+ assert_equal(3,c.rowspan)
103
+ assert_equal(nil,c.colspan)
104
104
  end
105
105
  end
data/test/test_format.rb CHANGED
@@ -3,7 +3,7 @@ require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
4
  class TestFormat < Test::Unit::TestCase
5
5
 
6
-
6
+
7
7
  def test_initialize
8
8
  f = Workbook::Format.new {}
9
9
  assert_equal({},f)
@@ -12,13 +12,13 @@ class TestFormat < Test::Unit::TestCase
12
12
  f = Workbook::Format.new({:background=>:red})
13
13
  deet = Time.now
14
14
  assert_equal(false,f.has_raw_for?(Time))
15
-
15
+
16
16
  f.add_raw deet
17
17
  assert_equal(deet,f.raws[Time])
18
18
  assert_equal(true,f.has_raw_for?(Time))
19
-
19
+
20
20
  end
21
-
21
+
22
22
  def test_merge
23
23
  a = Workbook::Format.new({:background=>:red})
24
24
  b = Workbook::Format.new({:background=>:yellow, :color=>:green})
@@ -26,7 +26,7 @@ class TestFormat < Test::Unit::TestCase
26
26
  assert_equal({:background=>:red, :color=>:green},result)
27
27
  assert_equal(true,result.is_a?(Workbook::Format))
28
28
  end
29
-
29
+
30
30
  def test_remove_raw_on_merge
31
31
  a = Workbook::Format.new({:background=>:red})
32
32
  b = Workbook::Format.new({:background=>:yellow, :color=>:green})
@@ -34,7 +34,7 @@ class TestFormat < Test::Unit::TestCase
34
34
  result = b.clone.merge(a)
35
35
  assert_equal({},result.raws)
36
36
  end
37
-
37
+
38
38
  def test_has_background_color?
39
39
  a = Workbook::Format.new
40
40
  assert_equal(false,a.has_background_color?)
@@ -46,17 +46,17 @@ class TestFormat < Test::Unit::TestCase
46
46
  a = Workbook::Format.new({:background_color=>'#FFFFFf'})
47
47
  assert_equal(false,a.has_background_color?)
48
48
 
49
-
49
+
50
50
  end
51
-
51
+
52
52
  def test_to_css
53
53
  a = Workbook::Format.new({:background_color=>'#ffffff'})
54
54
  assert_equal("background: #ffffff",a.to_css)
55
55
  a = Workbook::Format.new({:background_color=>'#fffdff', :color=>:red})
56
56
  assert_equal("background: #fffdff; color: red",a.to_css)
57
-
57
+
58
58
  end
59
-
59
+
60
60
  def test_parent_style
61
61
  a = Workbook::Format.new({:background_color=>'#ffffff'})
62
62
  b = Workbook::Format.new({:color=>'#000'})
@@ -78,7 +78,7 @@ class TestFormat < Test::Unit::TestCase
78
78
  c = Workbook::Format.new({:color=>'#f00'})
79
79
  a.parent = b
80
80
  c.parent = a
81
- assert_equal([b,a,c], c.formats)
81
+ assert_equal([b,a,c], c.formats)
82
82
  end
83
83
  def test_parent_style_to_css
84
84
  a = Workbook::Format.new({:background_color=>'#ffffff'})
@@ -7,11 +7,11 @@ class TestFunctional < Test::Unit::TestCase
7
7
  assert_equal(Workbook::Book, b.class)
8
8
  s = b.sheet
9
9
  assert_equal(Workbook::Sheet, s.class)
10
- t = s.table
10
+ t = s.table
11
11
  assert_equal(Workbook::Table, t.class)
12
12
  s = b.sheet[0] = Workbook::Sheet.new([['a','b'],[1,2],[3,4],[5,6]])
13
13
  assert_equal(Workbook::Sheet, s.class)
14
-
14
+
15
15
  t = s.table
16
16
  assert_equal(Workbook::Table, t.class)
17
17
  assert_equal(Workbook::Row, t.first.class)
@@ -20,7 +20,7 @@ class TestFunctional < Test::Unit::TestCase
20
20
  assert_equal(false, t.last.header?)
21
21
  assert_equal(2,t[1][:b].value)
22
22
  end
23
-
23
+
24
24
  def test_chapter_Sorting
25
25
  b = Workbook::Book.new
26
26
  s = b.sheet[0] = Workbook::Sheet.new([['a','b'],[1,2],[3,4],[5,6]])
@@ -7,24 +7,24 @@ module Modules
7
7
  b = Workbook::Book.new [[1,2,3],[2,2,3],[true,false,true],["asdf","sdf","as"],[time,2,3],[2,2,2],[22,2,3],[1,2,233]]
8
8
  t = b.sheet.table
9
9
  assert_equal(
10
- [ [Workbook::Cell.new(1),Workbook::Cell.new(2),Workbook::Cell.new(3)],
11
- [Workbook::Cell.new(1),Workbook::Cell.new(2),Workbook::Cell.new(233)],
12
- [Workbook::Cell.new(2),Workbook::Cell.new(2),Workbook::Cell.new(2)],
13
- [Workbook::Cell.new(2),Workbook::Cell.new(2),Workbook::Cell.new(3)],
14
- [Workbook::Cell.new(22),Workbook::Cell.new(2),Workbook::Cell.new(3)],
15
- [Workbook::Cell.new("asdf"),Workbook::Cell.new("sdf"),Workbook::Cell.new("as")],
16
- [Workbook::Cell.new(time),Workbook::Cell.new(2),Workbook::Cell.new(3)],
17
- [Workbook::Cell.new(true),Workbook::Cell.new(false),Workbook::Cell.new(true)]
18
- ],
19
- t.sort)
20
-
10
+ [ [Workbook::Cell.new(1),Workbook::Cell.new(2),Workbook::Cell.new(3)],
11
+ [Workbook::Cell.new(1),Workbook::Cell.new(2),Workbook::Cell.new(233)],
12
+ [Workbook::Cell.new(2),Workbook::Cell.new(2),Workbook::Cell.new(2)],
13
+ [Workbook::Cell.new(2),Workbook::Cell.new(2),Workbook::Cell.new(3)],
14
+ [Workbook::Cell.new(22),Workbook::Cell.new(2),Workbook::Cell.new(3)],
15
+ [Workbook::Cell.new("asdf"),Workbook::Cell.new("sdf"),Workbook::Cell.new("as")],
16
+ [Workbook::Cell.new(time),Workbook::Cell.new(2),Workbook::Cell.new(3)],
17
+ [Workbook::Cell.new(true),Workbook::Cell.new(false),Workbook::Cell.new(true)]
18
+ ],
19
+ t.sort)
20
+
21
21
  ba = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4]]
22
22
  sba = ba.sheet.table.sort
23
23
  assert_not_equal(Workbook::Table.new([['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4]]),sba)
24
24
  assert_equal(Workbook::Table.new([['a','b','c','d'],[1,2,3,4],[3,2,3,4],[4,2,3,4]]),sba)
25
-
25
+
26
26
  end
27
-
27
+
28
28
  def test_align
29
29
  ba = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4]]
30
30
  bb = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[5,2,3,4]]
@@ -38,9 +38,9 @@ module Modules
38
38
  tself = ba.sheet.table
39
39
  tother = bb.sheet.table
40
40
  align_result = tself.align tother
41
- assert_equal("a,b,c,d\n1,2,3,4\n3,2,3,4\n\n5,2,3,4\n",align_result[:other].to_csv)
42
- assert_equal("a,b,c,d\n1,2,3,4\n3,2,3,4\n4,2,3,4\n\n",align_result[:self].to_csv)
43
-
41
+ assert_equal("a,b,c,d\n1,2,3,4\n3,2,3,4\n\n5,2,3,4\n",align_result[:other].to_csv)
42
+ assert_equal("a,b,c,d\n1,2,3,4\n3,2,3,4\n4,2,3,4\n\n",align_result[:self].to_csv)
43
+
44
44
  ba = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[5,2,3,4]]
45
45
  bb = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[2,2,3,4],[5,2,3,4]]
46
46
  tself = ba.sheet.table
@@ -51,7 +51,7 @@ module Modules
51
51
  align_result = tother.align tself
52
52
  assert_equal("a,b,c,d\n1,2,3,4\n\n3,2,3,4\n5,2,3,4\n",align_result[:other].to_csv)
53
53
  assert_equal("a,b,c,d\n1,2,3,4\n2,2,3,4\n\n5,2,3,4\n",align_result[:self].to_csv)
54
-
54
+
55
55
  tself = Workbook::Book.new([['a','b','c','d'],[1,2,3,4],[1,3,3,4], [3,2,3,4],[5,2,3,4]]).sheet.table
56
56
  tother = Workbook::Book.new([['a','b','c','d'],[1,2,3,4], [2,2,3,4], [5,2,3,4]]).sheet.table
57
57
  align_result = tself.align tother
@@ -72,34 +72,34 @@ module Modules
72
72
  align_result = tself.align tother
73
73
  assert_equal("a,b,c,d\n\n\n\n\n\n10,2,3,4\n45,2,3,4\n49,2,3,4\n",align_result[:self].to_csv)
74
74
  assert_equal("a,b,c,d\n1,2,3,4\n1,2,3,4\n1,2,3,4\n2,2,3,4\n5,2,3,4\n\n\n\n",align_result[:other].to_csv)
75
-
75
+
76
76
  end
77
-
77
+
78
78
  def test_with_nil_header
79
79
  a = Workbook::Book.new([['a','b',nil],[1,2,3]])
80
80
  b = Workbook::Book.new([['a','b','c'],[1,2,3]])
81
81
  c = a.sheet.table.diff b.sheet.table
82
82
  assert_equal("a,b,(was: c)\n1,2,(was: 3)\n",c.to_csv)
83
83
  end
84
-
84
+
85
85
  # def test_diff_file
86
86
  # a = Workbook::Book.open('test/artifacts/private_a_0.xls')
87
87
  # b = Workbook::Book.open('test/artifacts/private_a_0.xls')
88
88
  # y a.sheet.table.diff b.sheet.table
89
89
  # end
90
-
90
+
91
91
  # def test_sort_by
92
92
  # b = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[4,2,3,3],[3,2,3,2]]
93
93
  # y b.sheet.table.sort_by{|r| r[:d]}
94
94
  # end
95
-
95
+
96
96
  def test_diff
97
97
  ba = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4],[3,3,3,4]]
98
98
  bb = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[5,2,3,4],[3,2,3,4]]
99
99
  # Start:
100
100
  # ba = [['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4],[3,3,3,4]]
101
101
  # bb = [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[5,2,3,4],[3,2,3,4]]
102
- # As it starts out with sorting, it is basically a comparison between
102
+ # As it starts out with sorting, it is basically a comparison between
103
103
  # ba = [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[3,3,3,4],[4,2,3,4],[]]
104
104
  # bb = [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[3,2,3,4],[],[5,2,3,4]]
105
105
  # then it aligns:
@@ -107,7 +107,7 @@ module Modules
107
107
  # bb = [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[3,2,3,4],[],[5,2,3,4]]
108
108
  # hence,
109
109
  expected = [['a','b','c','d'],[1,2,3,4],[3,2,3,4],[3,'3 (was: 2)',3,4],[4,2,3,4],['(was: 5)','(was: 2)','(was: 3)','(was: 4)']]
110
-
110
+
111
111
  tself = ba.sheet.table
112
112
  tother = bb.sheet.table
113
113
  diff_result = tself.diff tother
@@ -4,32 +4,32 @@ module Modules
4
4
  class TestTypeParser < Test::Unit::TestCase
5
5
  def examples
6
6
  {"2312"=>2312,
7
- "12-12-2012"=>Date.new(2012,12,12),
8
- "12-12-2012 12:24"=>DateTime.new(2012,12,12,12,24),
9
- "2012-12-12 12:24"=>DateTime.new(2012,12,12,12,24),
10
- "2011-05-19T15_37_49 - 52349.xml"=>"2011-05-19T15_37_49 - 52349.xml",
11
- "20-2-2012 20:52"=>DateTime.new(2012,2,20,20,52),
12
- "1-11-2011"=>Date.new(2011,11,1),
13
- "12/12/2012"=>Date.new(2012,12,12),
14
- "12/23/1980"=>Date.new(1980,12,23), #TODO: should probably depend on locale, see: http://bugs.ruby-lang.org/issues/634#note-10
15
- "jA"=>"jA",
16
- "n"=>"n",
17
- "12 bomen"=>"12 bomen",
18
- "12 bomenasdfasdfsadf"=>"12 bomenasdfasdfsadf",
19
- ""=>nil,
20
- " "=>nil,
21
- "mailto:sadf@asdf.as"=>"sadf@asdf.as",
22
- "012-3456789"=>"012-3456789",
23
- "TRUE"=>true
24
- }
7
+ "12-12-2012"=>Date.new(2012,12,12),
8
+ "12-12-2012 12:24"=>DateTime.new(2012,12,12,12,24),
9
+ "2012-12-12 12:24"=>DateTime.new(2012,12,12,12,24),
10
+ "2011-05-19T15_37_49 - 52349.xml"=>"2011-05-19T15_37_49 - 52349.xml",
11
+ "20-2-2012 20:52"=>DateTime.new(2012,2,20,20,52),
12
+ "1-11-2011"=>Date.new(2011,11,1),
13
+ "12/12/2012"=>Date.new(2012,12,12),
14
+ "12/23/1980"=>Date.new(1980,12,23), #TODO: should probably depend on locale, see: http://bugs.ruby-lang.org/issues/634#note-10
15
+ "jA"=>"jA",
16
+ "n"=>"n",
17
+ "12 bomen"=>"12 bomen",
18
+ "12 bomenasdfasdfsadf"=>"12 bomenasdfasdfsadf",
19
+ ""=>nil,
20
+ " "=>nil,
21
+ "mailto:sadf@asdf.as"=>"sadf@asdf.as",
22
+ "012-3456789"=>"012-3456789",
23
+ "TRUE"=>true
24
+ }
25
25
  end
26
-
26
+
27
27
  def test_parse
28
28
  examples.each do |k,v|
29
29
  assert_equal(v,Workbook::Cell.new(k).parse({:detect_date=>true}))
30
30
  end
31
31
  end
32
-
32
+
33
33
  def test_custom_parse
34
34
  customparsers = [proc{|v| "#{v}2" }]
35
35
  examples.each do |k,v|
@@ -43,19 +43,19 @@ module Modules
43
43
  c.value = "v"
44
44
  assert_equal("v2",c.parse)
45
45
  end
46
-
46
+
47
47
  def test_parse!
48
48
  r= Workbook::Row.new
49
- r[0] = Workbook::Cell.new "xls_cell"
50
- r[0].parse!
49
+ r[0] = Workbook::Cell.new "xls_cell"
50
+ r[0].parse!
51
51
  assert_equal("xls_cell",r[0].value)
52
- r[1] = Workbook::Cell.new ""
53
- r[1].parse!
52
+ r[1] = Workbook::Cell.new ""
53
+ r[1].parse!
54
54
  assert_equal(nil,r[1].value)
55
55
  end
56
-
56
+
57
57
  def test_once_failing_files
58
- w = Workbook::Book.open("test/artifacts/failing_import1.xls") # TRUE wasn't parsed properly
58
+ w = Workbook::Book.open(File.join(File.dirname(__FILE__), 'artifacts/failing_import1.xls')) # TRUE wasn't parsed properly
59
59
  end
60
60
  end
61
61
  end
@@ -4,13 +4,13 @@ module Readers
4
4
  class TestCsvWriter < Test::Unit::TestCase
5
5
  def test_open
6
6
  w = Workbook::Book.new
7
- w.open 'test/artifacts/simple_csv.csv'
7
+ w.open File.join(File.dirname(__FILE__), 'artifacts/simple_csv.csv')
8
8
  # reads
9
9
  # a,b,c,d
10
10
  # 1,2,3,4
11
11
  # 5,3,2,1
12
12
  # "asdf",123,12,2001-02-02
13
- #
13
+ #
14
14
  assert_equal([:a,:b,:c,:d],w.sheet.table.header.to_symbols)
15
15
  assert_equal(3,w.sheet.table[2][:b].value)
16
16
  assert_equal("asdf",w.sheet.table[3][:a].value)
@@ -18,7 +18,7 @@ module Readers
18
18
  end
19
19
  def test_excel_csv_open
20
20
  w = Workbook::Book.new
21
- w.open("test/artifacts/simple_excel_csv.csv")
21
+ w.open File.join(File.dirname(__FILE__), 'artifacts/simple_excel_csv.csv')
22
22
  # reads
23
23
  # a;b;c
24
24
  # 1-1-2001;23;1
@@ -37,13 +37,13 @@ module Readers
37
37
  end
38
38
  def test_excel_standardized_open
39
39
  w = Workbook::Book.new
40
- w.open("test/artifacts/excel_different_types.csv")
40
+ w.open File.join(File.dirname(__FILE__), 'artifacts/excel_different_types.csv')
41
41
  # reads
42
42
  # a,b,c,d
43
43
  # 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
44
44
  # c,222.0,,0027-12-14T05:21:00+00:00
45
45
  # 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
46
-
46
+
47
47
  assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols)
48
48
  assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
49
49
  assert_equal("c",w.sheet.table[2][:a].value)
@@ -52,14 +52,14 @@ module Readers
52
52
  assert_equal(nil,w.sheet.table[2][:c].value)
53
53
  end
54
54
  def test_class_read_string
55
- s = File.read 'test/artifacts/simple_csv.csv'
55
+ s = File.read File.join(File.dirname(__FILE__), 'artifacts/simple_csv.csv')
56
56
  w = Workbook::Book.read( s, :csv )
57
57
  # reads
58
58
  # a,b,c,d
59
59
  # 1,2,3,4
60
60
  # 5,3,2,1
61
61
  # "asdf",123,12,2001-02-02
62
- #
62
+ #
63
63
  assert_equal([:a,:b,:c,:d],w.sheet.table.header.to_symbols)
64
64
  assert_equal(3,w.sheet.table[2][:b].value)
65
65
  assert_equal("asdf",w.sheet.table[3][:a].value)
@@ -67,14 +67,14 @@ module Readers
67
67
  end
68
68
  def test_instance_read_string
69
69
  w = Workbook::Book.new
70
- s = File.read 'test/artifacts/simple_csv.csv'
70
+ s = File.read File.join(File.dirname(__FILE__), 'artifacts/simple_csv.csv')
71
71
  w.read( s, :csv )
72
72
  # reads
73
73
  # a,b,c,d
74
74
  # 1,2,3,4
75
75
  # 5,3,2,1
76
76
  # "asdf",123,12,2001-02-02
77
- #
77
+ #
78
78
  assert_equal([:a,:b,:c,:d],w.sheet.table.header.to_symbols)
79
79
  assert_equal(3,w.sheet.table[2][:b].value)
80
80
  assert_equal("asdf",w.sheet.table[3][:a].value)
@@ -82,14 +82,14 @@ module Readers
82
82
  end
83
83
  def test_instance_read_stringio
84
84
  w = Workbook::Book.new
85
- sio = StringIO.new(File.read 'test/artifacts/simple_csv.csv')
85
+ sio = StringIO.new(File.read File.join(File.dirname(__FILE__), 'artifacts/simple_csv.csv'))
86
86
  w.read( sio, :csv )
87
87
  # reads
88
88
  # a,b,c,d
89
89
  # 1,2,3,4
90
90
  # 5,3,2,1
91
91
  # "asdf",123,12,2001-02-02
92
- #
92
+ #
93
93
  assert_equal([:a,:b,:c,:d],w.sheet.table.header.to_symbols)
94
94
  assert_equal(3,w.sheet.table[2][:b].value)
95
95
  assert_equal("asdf",w.sheet.table[3][:a].value)