workbook 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
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)