workbook 0.8.0 → 0.8.2

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +21 -0
  3. data/.gitignore +4 -1
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +4 -4
  6. data/CHANGELOG.md +16 -0
  7. data/Gemfile +4 -2
  8. data/README.md +9 -7
  9. data/Rakefile +9 -7
  10. data/lib/workbook/book.rb +74 -61
  11. data/lib/workbook/cell.rb +59 -12
  12. data/lib/workbook/column.rb +33 -29
  13. data/lib/workbook/format.rb +24 -23
  14. data/lib/workbook/generatetypes.rb +6 -5
  15. data/lib/workbook/modules/cache.rb +8 -7
  16. data/lib/workbook/modules/cell.rb +78 -99
  17. data/lib/workbook/modules/diff_sort.rb +93 -82
  18. data/lib/workbook/modules/raw_objects_storage.rb +7 -7
  19. data/lib/workbook/modules/type_parser.rb +31 -21
  20. data/lib/workbook/nil_value.rb +5 -9
  21. data/lib/workbook/readers/csv_reader.rb +7 -9
  22. data/lib/workbook/readers/ods_reader.rb +49 -49
  23. data/lib/workbook/readers/txt_reader.rb +7 -7
  24. data/lib/workbook/readers/xls_reader.rb +22 -32
  25. data/lib/workbook/readers/xls_shared.rb +107 -116
  26. data/lib/workbook/readers/xlsx_reader.rb +47 -46
  27. data/lib/workbook/row.rb +100 -83
  28. data/lib/workbook/sheet.rb +48 -37
  29. data/lib/workbook/table.rb +97 -71
  30. data/lib/workbook/template.rb +13 -14
  31. data/lib/workbook/types/date.rb +2 -1
  32. data/lib/workbook/types/false.rb +1 -1
  33. data/lib/workbook/types/false_class.rb +2 -1
  34. data/lib/workbook/types/nil.rb +1 -1
  35. data/lib/workbook/types/nil_class.rb +3 -2
  36. data/lib/workbook/types/numeric.rb +3 -2
  37. data/lib/workbook/types/string.rb +3 -2
  38. data/lib/workbook/types/time.rb +3 -2
  39. data/lib/workbook/types/true.rb +1 -1
  40. data/lib/workbook/types/true_class.rb +3 -2
  41. data/lib/workbook/version.rb +3 -2
  42. data/lib/workbook/writers/csv_table_writer.rb +11 -12
  43. data/lib/workbook/writers/html_writer.rb +35 -37
  44. data/lib/workbook/writers/json_table_writer.rb +9 -10
  45. data/lib/workbook/writers/xls_writer.rb +31 -35
  46. data/lib/workbook/writers/xlsx_writer.rb +46 -28
  47. data/lib/workbook.rb +17 -14
  48. data/test/helper.rb +8 -5
  49. data/test/test_book.rb +43 -38
  50. data/test/test_column.rb +29 -25
  51. data/test/test_format.rb +53 -55
  52. data/test/test_functional.rb +9 -8
  53. data/test/test_modules_cache.rb +20 -17
  54. data/test/test_modules_cell.rb +49 -46
  55. data/test/test_modules_table_diff_sort.rb +56 -63
  56. data/test/test_modules_type_parser.rb +63 -31
  57. data/test/test_readers_csv_reader.rb +50 -42
  58. data/test/test_readers_ods_reader.rb +30 -31
  59. data/test/test_readers_txt_reader.rb +23 -23
  60. data/test/test_readers_xls_reader.rb +22 -23
  61. data/test/test_readers_xls_shared.rb +5 -4
  62. data/test/test_readers_xlsx_reader.rb +46 -37
  63. data/test/test_row.rb +107 -109
  64. data/test/test_sheet.rb +43 -35
  65. data/test/test_table.rb +84 -60
  66. data/test/test_template.rb +18 -15
  67. data/test/test_types_date.rb +7 -7
  68. data/test/test_writers_csv_writer.rb +24 -0
  69. data/test/test_writers_html_writer.rb +44 -41
  70. data/test/test_writers_json_writer.rb +11 -9
  71. data/test/test_writers_xls_writer.rb +52 -35
  72. data/test/test_writers_xlsx_writer.rb +64 -34
  73. data/workbook.gemspec +26 -27
  74. metadata +93 -27
data/test/test_book.rb CHANGED
@@ -1,5 +1,6 @@
1
- # -*- encoding : utf-8 -*-
2
- require File.join(File.dirname(__FILE__), 'helper')
1
+ # frozen_string_literal: true
2
+
3
+ require File.join(File.dirname(__FILE__), "helper")
3
4
 
4
5
  class TestWorkbook < Minitest::Test
5
6
  def test_sheets
@@ -11,32 +12,36 @@ class TestWorkbook < Minitest::Test
11
12
  def test_push
12
13
  w = Workbook::Book.new nil
13
14
  assert_equal(0, w.count)
14
- assert_equal([],w)
15
+ assert_equal(Workbook::Book, w.class)
16
+
15
17
  w = Workbook::Book.new
16
18
  w.push
17
- assert_equal(w.first.class,Workbook::Sheet)
19
+ assert_equal(w.first.class, Workbook::Sheet)
20
+
18
21
  w.push
19
- assert_equal(w,w.last.book)
22
+ assert_equal(w, w.last.book)
20
23
  assert_equal(2, w.count)
21
- s = Workbook::Sheet.new
24
+
25
+ s = Workbook::Sheet.new([[1, 2], [3, 4]])
22
26
  w.push s
23
- assert_equal(w,w.last.book)
27
+ assert_equal(w, w.last.book)
28
+
29
+ assert_equal(w.last, s)
24
30
 
25
- assert_equal(w.last,s)
26
31
  w = Workbook::Book.new
27
- assert_equal(w.sheet.table.class,Workbook::Table)
32
+ assert_equal(w.sheet.table.class, Workbook::Table)
28
33
  end
29
34
 
30
35
  def test_sheet
31
36
  w = Workbook::Book.new nil
32
37
  s = Workbook::Sheet.new [Workbook::Row.new(Workbook::Table.new)]
33
- assert_equal(w.sheet.class,Workbook::Sheet)
38
+ assert_equal(w.sheet.class, Workbook::Sheet)
34
39
  refute_equal(w.sheet, s)
35
40
  w = Workbook::Book.new s
36
41
  assert_equal(w.sheet, s)
37
42
  w = Workbook::Book.new
38
43
  s = w.sheet
39
- assert_equal([[]], s)
44
+ assert_equal(Workbook::Sheet, s.class)
40
45
  end
41
46
 
42
47
  def test_template
@@ -46,30 +51,30 @@ class TestWorkbook < Minitest::Test
46
51
  raw = Workbook::Template.new
47
52
  b.template = raw
48
53
 
49
- assert_equal(raw,b.template)
54
+ assert_equal(raw, b.template)
50
55
  end
51
56
 
52
57
  def test_file_extension
53
58
  b = Workbook::Book.new
54
- assert_equal("aaa",b.file_extension("aaa.aaa"))
59
+ assert_equal("aaa", b.file_extension("aaa.aaa"))
55
60
  b = Workbook::Book.new
56
- assert_equal("xlsx",b.file_extension(File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.xlsx')))
61
+ assert_equal("xlsx", b.file_extension(File.join(File.dirname(__FILE__), "artifacts/book_with_tabs_and_colours.xlsx")))
57
62
  b = Workbook::Book.new
58
- assert_equal("xlsx",b.file_extension(File.new(File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.xlsx'))))
63
+ assert_equal("xlsx", b.file_extension(File.new(File.join(File.dirname(__FILE__), "artifacts/book_with_tabs_and_colours.xlsx"))))
59
64
  end
60
65
 
61
66
  def test_parent_child
62
- b = Workbook::Book.new [[1,2,3],[1,2,3]]
67
+ b = Workbook::Book.new [[1, 2, 3], [1, 2, 3]]
63
68
  assert_equal(Workbook::Sheet, b.first.class)
64
- assert_equal(b,b.first.book)
69
+ assert_equal(b, b.first.book)
65
70
  assert_equal(Workbook::Table, b.first.table.class)
66
- assert_equal(b,b.first.table.sheet.book)
71
+ assert_equal(b, b.first.table.sheet.book)
67
72
  assert_equal(Workbook::Row, b.first.table.header.class)
68
- assert_equal(b,b.first.table.header.table.sheet.book)
73
+ assert_equal(b, b.first.table.header.table.sheet.book)
69
74
  end
70
75
 
71
76
  def test_text_to_utf8
72
- f = File.open(File.join(File.dirname(__FILE__), 'artifacts/excel_different_types.txt'),'r')
77
+ f = File.open(File.join(File.dirname(__FILE__), "artifacts/excel_different_types.txt"), "r")
73
78
  t = f.read
74
79
  w = Workbook::Book.new
75
80
  t = w.text_to_utf8(t)
@@ -83,37 +88,37 @@ class TestWorkbook < Minitest::Test
83
88
  end
84
89
 
85
90
  def test_push_and_ltlt
86
- b = Workbook::Book.new [["a","b"],[1,2]]
87
- b.push Workbook::Sheet.new([["a","b"],[2,2]])
88
- b.push Workbook::Sheet.new([["a","b"],[3,2]])
89
- b << Workbook::Sheet.new([["a","b"],[4,2]])
90
- b.push Workbook::Sheet.new([["a","b"],[5,2]])
91
- b << Workbook::Sheet.new([["a","b"],[6,2]])
92
- b.push Workbook::Sheet.new([["a","b"],[7,2]])
91
+ b = Workbook::Book.new [["a", "b"], [1, 2]]
92
+ b.push Workbook::Sheet.new([["a", "b"], [2, 2]])
93
+ b.push Workbook::Sheet.new([["a", "b"], [3, 2]])
94
+ b << Workbook::Sheet.new([["a", "b"], [4, 2]])
95
+ b.push Workbook::Sheet.new([["a", "b"], [5, 2]])
96
+ b << Workbook::Sheet.new([["a", "b"], [6, 2]])
97
+ b.push Workbook::Sheet.new([["a", "b"], [7, 2]])
93
98
 
94
99
  # puts b.index b.last
95
- 7.times { |time| assert_equal(b,b[0].book) }
100
+ 7.times { |time| assert_equal(b, b[0].book) }
96
101
  end
97
102
 
98
103
  def test_removal_of_sheets_pop_and_delete_at_works_as_expected
99
- b = Workbook::Book.new [["a","b"],[1,2]]
100
- b.push Workbook::Sheet.new([["a","b"],[2,2]])
101
- b.push Workbook::Sheet.new([["a","b"],[3,2]])
102
- b << Workbook::Sheet.new([["a","b"],[4,2]])
103
- b.push Workbook::Sheet.new([["a","b"],[5,2]])
104
- b << Workbook::Sheet.new([["a","b"],[6,2]])
105
- b.push Workbook::Sheet.new([["a","b"],[7,2]])
104
+ b = Workbook::Book.new [["a", "b"], [1, 2]]
105
+ b.push Workbook::Sheet.new([["a", "b"], [2, 2]])
106
+ b.push Workbook::Sheet.new([["a", "b"], [3, 2]])
107
+ b << Workbook::Sheet.new([["a", "b"], [4, 2]])
108
+ b.push Workbook::Sheet.new([["a", "b"], [5, 2]])
109
+ b << Workbook::Sheet.new([["a", "b"], [6, 2]])
110
+ b.push Workbook::Sheet.new([["a", "b"], [7, 2]])
106
111
 
107
112
  assert_equal(7, b.count)
108
- assert_equal(5,b[4][0][1][0].value)
113
+ assert_equal(5, b[4][0][1][0].value)
109
114
  b.delete_at(4)
110
115
  assert_equal(6, b.count)
111
- assert_equal(6,b[4][0][1][0].value)
116
+ assert_equal(6, b[4][0][1][0].value)
112
117
  b.pop(3)
113
118
  assert_equal(3, b.count)
114
119
  end
115
120
 
116
121
  def test_supported_mime_types
117
- assert_equal true, Workbook::SUPPORTED_MIME_TYPES.include?('text/csv')
122
+ assert_equal true, Workbook::SUPPORTED_MIME_TYPES.include?("text/csv")
118
123
  end
119
124
  end
data/test/test_column.rb CHANGED
@@ -1,28 +1,27 @@
1
- # -*- encoding : utf-8 -*-
2
- require File.join(File.dirname(__FILE__), 'helper')
1
+ # frozen_string_literal: true
3
2
 
4
- class TestColumn < Minitest::Test
3
+ require File.join(File.dirname(__FILE__), "helper")
5
4
 
5
+ class TestColumn < Minitest::Test
6
6
  def new_table
7
7
  Workbook::Table.new([
8
- ["a","b","c","d"],
9
- [true,3.2,"asdf",1],
10
- [true,3.2,"asdf",1],
11
- [false,3.2,"asdf",1],
12
- [true,3.2,"asdf",1]
13
- ])
8
+ ["a", "b", "c", "d"],
9
+ [true, 3.2, "asdf", 1],
10
+ [true, 3.2, "asdf", 1],
11
+ [false, 3.2, "asdf", 1],
12
+ [true, 3.1, "asdf", 1]
13
+ ])
14
14
  end
15
15
 
16
16
  def test_init
17
17
  c = Workbook::Column.new
18
18
  assert_equal(Workbook::Column, c.class)
19
- c = Workbook::Column.new(nil, {:limit=>20,:default=>"asdf", :column_type=>:boolean})
20
- c = Workbook::Column.new(Workbook::Table.new, {:limit=>20,:default=>"asdf", :column_type=>:boolean})
19
+ c = Workbook::Column.new(Workbook::Table.new, {limit: 20, default: "asdf", column_type: :boolean})
21
20
  assert_equal(20, c.limit)
22
21
  assert_equal(Workbook::Cell.new("asdf"), c.default)
23
22
  assert_equal(:boolean, c.column_type)
24
23
  assert_raises(ArgumentError) { Workbook::Column.new(true) }
25
- assert_raises(ArgumentError) { Workbook::Column.new(nil, {:limit=>20,:default=>"asdf", :column_type=>:bodfolean}) }
24
+ assert_raises(ArgumentError) { Workbook::Column.new(nil, {limit: 20, default: "asdf", column_type: :bodfolean}) }
26
25
  end
27
26
 
28
27
  def test_table
@@ -40,26 +39,31 @@ class TestColumn < Minitest::Test
40
39
 
41
40
  def test_column_type
42
41
  t = new_table
43
- assert_equal([:boolean, :float, :string, :integer], t.columns.collect{|a| a.column_type})
42
+ assert_equal([:boolean, :float, :string, :integer], t.columns.collect { |a| a.column_type })
44
43
  t = new_table
45
44
  t.last.last.value = 1.1
46
- assert_equal([:boolean, :float, :string, :string], t.columns.collect{|a| a.column_type})
45
+ assert_equal([:boolean, :float, :string, :string], t.columns.collect { |a| a.column_type })
47
46
  t = new_table
48
47
  t[2][3] = nil
49
- assert_equal([:boolean, :float, :string, :integer], t.columns.collect{|a| a.column_type})
48
+ assert_equal([:boolean, :float, :string, :integer], t.columns.collect { |a| a.column_type })
50
49
  t = new_table
51
50
  t[2].delete_at(3)
52
- assert_equal([:boolean, :float, :string, :integer], t.columns.collect{|a| a.column_type})
51
+ assert_equal([:boolean, :float, :string, :integer], t.columns.collect { |a| a.column_type })
53
52
  end
54
53
 
55
54
  def test_alpha_index_to_number_index
56
- assert_equal(0,Workbook::Column.alpha_index_to_number_index("A"))
57
- assert_equal(2,Workbook::Column.alpha_index_to_number_index("C"))
58
- assert_equal(25,Workbook::Column.alpha_index_to_number_index("Z"))
59
- assert_equal(26,Workbook::Column.alpha_index_to_number_index("AA"))
60
- assert_equal(27,Workbook::Column.alpha_index_to_number_index("AB"))
61
- assert_equal(51,Workbook::Column.alpha_index_to_number_index("AZ"))
62
- assert_equal(52,Workbook::Column.alpha_index_to_number_index("BA"))
63
- assert_equal((27*26)-1,Workbook::Column.alpha_index_to_number_index("ZZ"))
55
+ assert_equal(0, Workbook::Column.alpha_index_to_number_index("A"))
56
+ assert_equal(2, Workbook::Column.alpha_index_to_number_index("C"))
57
+ assert_equal(25, Workbook::Column.alpha_index_to_number_index("Z"))
58
+ assert_equal(26, Workbook::Column.alpha_index_to_number_index("AA"))
59
+ assert_equal(27, Workbook::Column.alpha_index_to_number_index("AB"))
60
+ assert_equal(51, Workbook::Column.alpha_index_to_number_index("AZ"))
61
+ assert_equal(52, Workbook::Column.alpha_index_to_number_index("BA"))
62
+ assert_equal((27 * 26) - 1, Workbook::Column.alpha_index_to_number_index("ZZ"))
63
+ end
64
+
65
+ def test_cells
66
+ assert_equal([3.2,3.2,3.2,3.1], new_table.columns[1].cells.map(&:value))
67
+ assert_equal([3.2,3.2,3.2,3.1], new_table.columns[1].map(&:value))
64
68
  end
65
- end
69
+ end
data/test/test_format.rb CHANGED
@@ -1,32 +1,29 @@
1
- # -*- encoding : utf-8 -*-
2
- require File.join(File.dirname(__FILE__), 'helper')
3
-
4
- class TestFormat < Minitest::Test
1
+ # frozen_string_literal: true
5
2
 
3
+ require File.join(File.dirname(__FILE__), "helper")
6
4
 
5
+ class TestFormat < Minitest::Test
7
6
  def test_initialize
8
7
  f = Workbook::Format.new {}
9
- assert_equal({},f)
10
- f = Workbook::Format.new({:background=>:red})
11
- assert_equal({:background=>:red},f)
12
- f = Workbook::Format.new({:background=>:red})
8
+ assert_equal({}, f)
9
+ f = Workbook::Format.new({background: :red})
10
+ assert_equal({background: :red}, f)
11
+ f = Workbook::Format.new({background: :red})
13
12
  deet = Time.now
14
- assert_equal(false,f.has_raw_for?(Time))
13
+ assert_equal(false, f.has_raw_for?(Time))
15
14
 
16
15
  f.add_raw deet
17
- assert_equal(deet,f.raws[Time])
18
- assert_equal(true,f.has_raw_for?(Time))
19
-
16
+ assert_equal(deet, f.raws[Time])
17
+ assert_equal(true, f.has_raw_for?(Time))
20
18
  end
21
19
 
22
20
  def test_derived_type
23
21
  f = Workbook::Format.new {}
24
22
  assert_nil(f.derived_type)
25
23
  f = Workbook::Format.new numberformat: "%m/%e/%y h:%m"
26
- assert_equal(:time,f.derived_type)
24
+ assert_equal(:time, f.derived_type)
27
25
  f = Workbook::Format.new numberformat: "%m/%e/%y"
28
- assert_equal(:date,f.derived_type)
29
-
26
+ assert_equal(:date, f.derived_type)
30
27
  end
31
28
 
32
29
  def test_available_raws
@@ -38,80 +35,81 @@ class TestFormat < Minitest::Test
38
35
  end
39
36
 
40
37
  def test_merge
41
- a = Workbook::Format.new({:background=>:red})
42
- b = Workbook::Format.new({:background=>:yellow, :color=>:green})
38
+ a = Workbook::Format.new({background: :red})
39
+ b = Workbook::Format.new({background: :yellow, color: :green})
43
40
  result = b.clone.merge(a)
44
- assert_equal({:background=>:red, :color=>:green},result)
45
- assert_equal(true,result.is_a?(Workbook::Format))
41
+ assert_equal({background: :red, color: :green}, result)
42
+ assert_equal(true, result.is_a?(Workbook::Format))
46
43
  end
47
44
 
48
45
  def test_remove_raw_on_merge
49
- a = Workbook::Format.new({:background=>:red})
50
- b = Workbook::Format.new({:background=>:yellow, :color=>:green})
46
+ a = Workbook::Format.new({background: :red})
47
+ b = Workbook::Format.new({background: :yellow, color: :green})
51
48
  b.add_raw Date.new
52
49
  result = b.clone.merge(a)
53
- assert_equal({},result.raws)
50
+ assert_equal({}, result.raws)
54
51
  end
55
52
 
56
53
  def test_has_background_color?
57
54
  a = Workbook::Format.new
58
- assert_equal(false,a.has_background_color?)
59
- a = Workbook::Format.new({:background_color=>'#ff0000'})
60
- assert_equal(true,a.has_background_color?)
61
- assert_equal(false,a.has_background_color?('#00ff00'))
62
- a = Workbook::Format.new({:background_color=>'#ffffff'})
63
- assert_equal(false,a.has_background_color?)
64
- a = Workbook::Format.new({:background_color=>'#FFFFFf'})
65
- assert_equal(false,a.has_background_color?)
66
-
67
-
55
+ assert_equal(false, a.has_background_color?)
56
+ a = Workbook::Format.new({background_color: "#ff0000"})
57
+ assert_equal(true, a.has_background_color?)
58
+ assert_equal(false, a.has_background_color?("#00ff00"))
59
+ a = Workbook::Format.new({background_color: "#ffffff"})
60
+ assert_equal(false, a.has_background_color?)
61
+ a = Workbook::Format.new({background_color: "#FFFFFf"})
62
+ assert_equal(false, a.has_background_color?)
68
63
  end
69
64
 
70
65
  def test_to_css
71
- a = Workbook::Format.new({:background_color=>'#ffffff'})
72
- assert_equal("background: #ffffff",a.to_css)
73
- a = Workbook::Format.new({:background_color=>'#fffdff', :color=>:red})
74
- assert_equal("background: #fffdff; color: red",a.to_css)
75
-
66
+ a = Workbook::Format.new({background_color: "#ffffff"})
67
+ assert_equal("background: #ffffff", a.to_css)
68
+ a = Workbook::Format.new({background_color: "#fffdff", color: :red})
69
+ assert_equal("background: #fffdff; color: red", a.to_css)
76
70
  end
77
71
 
78
72
  def test_parent_style
79
- a = Workbook::Format.new({:background_color=>'#ffffff'})
80
- b = Workbook::Format.new({:color=>'#000'})
73
+ a = Workbook::Format.new({background_color: "#ffffff"})
74
+ b = Workbook::Format.new({color: "#000"})
81
75
  a.parent = b
82
76
  assert_equal(b, a.parent)
83
77
  end
78
+
84
79
  def test_parent_style_flattened_properties
85
- a = Workbook::Format.new({:background_color=>'#ffffff'})
86
- b = Workbook::Format.new({:color=>'#000'})
80
+ a = Workbook::Format.new({background_color: "#ffffff"})
81
+ b = Workbook::Format.new({color: "#000"})
87
82
  a.parent = b
88
- assert_equal(Workbook::Format.new({:color=>'#000',:background_color=>'#ffffff'}), a.flattened)
89
- c = Workbook::Format.new({:color=>'#f00'})
83
+ assert_equal(Workbook::Format.new({color: "#000", background_color: "#ffffff"}), a.flattened)
84
+ c = Workbook::Format.new({color: "#f00"})
90
85
  c.parent = a
91
- assert_equal(Workbook::Format.new({:color=>'#f00',:background_color=>'#ffffff'}), c.flattened)
86
+ assert_equal(Workbook::Format.new({color: "#f00", background_color: "#ffffff"}), c.flattened)
92
87
  end
88
+
93
89
  def test_formats
94
- a = Workbook::Format.new({:background_color=>'#ffffff'})
95
- b = Workbook::Format.new({:color=>'#000'})
96
- c = Workbook::Format.new({:color=>'#f00'})
90
+ a = Workbook::Format.new({background_color: "#ffffff"})
91
+ b = Workbook::Format.new({color: "#000"})
92
+ c = Workbook::Format.new({color: "#f00"})
97
93
  a.parent = b
98
94
  c.parent = a
99
- assert_equal([b,a,c], c.formats)
95
+ assert_equal([b, a, c], c.formats)
100
96
  end
97
+
101
98
  def test_parent_style_to_css
102
- a = Workbook::Format.new({:background_color=>'#ffffff'})
103
- b = Workbook::Format.new({:color=>'#000'})
104
- c = Workbook::Format.new({:color=>'#f00'})
99
+ a = Workbook::Format.new({background_color: "#ffffff"})
100
+ b = Workbook::Format.new({color: "#000"})
101
+ c = Workbook::Format.new({color: "#f00"})
105
102
  a.parent = b
106
103
  c.parent = a
107
104
  assert_equal("background: #ffffff; color: #f00", c.to_css)
108
105
  end
106
+
109
107
  def test_all_names
110
- a = Workbook::Format.new({:background_color=>'#ffffff'}, "a")
111
- b = Workbook::Format.new({:color=>'#000'},"b")
112
- c = Workbook::Format.new({:color=>'#f00'},"c")
108
+ a = Workbook::Format.new({background_color: "#ffffff"}, "a")
109
+ b = Workbook::Format.new({color: "#000"}, "b")
110
+ c = Workbook::Format.new({color: "#f00"}, "c")
113
111
  a.parent = b
114
112
  c.parent = a
115
- assert_equal(["b","a","c"],c.all_names)
113
+ assert_equal(["b", "a", "c"], c.all_names)
116
114
  end
117
115
  end
@@ -1,15 +1,16 @@
1
- # -*- encoding : utf-8 -*-
2
- require File.join(File.dirname(__FILE__), 'helper')
1
+ # frozen_string_literal: true
2
+
3
+ require File.join(File.dirname(__FILE__), "helper")
3
4
 
4
5
  class TestFunctional < Minitest::Test
5
- def test_chapter_Initializing
6
+ def test_chapter_initializing
6
7
  b = Workbook::Book.new
7
8
  assert_equal(Workbook::Book, b.class)
8
9
  s = b.sheet
9
10
  assert_equal(Workbook::Sheet, s.class)
10
11
  t = s.table
11
12
  assert_equal(Workbook::Table, t.class)
12
- s = b.sheet[0] = Workbook::Sheet.new([['a','b'],[1,2],[3,4],[5,6]])
13
+ s = b.sheet[0] = Workbook::Sheet.new([["a", "b"], [1, 2], [3, 4], [5, 6]])
13
14
  assert_equal(Workbook::Sheet, s.class)
14
15
 
15
16
  t = s.table
@@ -18,14 +19,14 @@ class TestFunctional < Minitest::Test
18
19
  assert_equal(Workbook::Cell, t.first.first.class)
19
20
  assert_equal(true, t.header.header?)
20
21
  assert_equal(false, t.last.header?)
21
- assert_equal(2,t[1][:b].value)
22
+ assert_equal(2, t[1][:b].value)
22
23
  end
23
24
 
24
- def test_chapter_Sorting
25
+ def test_chapter_sorting
25
26
  # b = Workbook::Book.new
26
27
  # s = b.sheet[0] = Workbook::Sheet.new([['a','b'],[1,2],[3,4],[5,6]])
27
28
  # t = s.table
28
- #t.sort_by {|r| r[:b]}
29
- #p t.inspect
29
+ # t.sort_by {|r| r[:b]}
30
+ # p t.inspect
30
31
  end
31
32
  end
@@ -1,16 +1,18 @@
1
- # -*- encoding : utf-8 -*-
2
- require File.join(File.dirname(__FILE__), 'helper')
1
+ # frozen_string_literal: true
2
+
3
+ require File.join(File.dirname(__FILE__), "helper")
3
4
 
4
5
  class TestToCacheClass
5
6
  include Workbook::Modules::Cache
6
7
  def basic_fetch
7
- fetch_cache(:a){
8
+ fetch_cache(:a) {
8
9
  sleep(0.5)
9
10
  "return"
10
11
  }
11
12
  end
13
+
12
14
  def expiring_fetch
13
- fetch_cache(:a,Time.now+0.6){
15
+ fetch_cache(:a, Time.now + 0.6) {
14
16
  sleep(0.5)
15
17
  "return"
16
18
  }
@@ -24,29 +26,31 @@ module Modules
24
26
  c.debug_cache = false
25
27
  start_time = Time.now
26
28
  c.basic_fetch
27
- diff_time = Time.now-start_time
28
- assert_equal(true,(diff_time > 0.5 and diff_time < 0.51))
29
+ diff_time = Time.now - start_time
30
+ assert_equal(true, ((diff_time > 0.5) && (diff_time < 0.51)))
29
31
  c.basic_fetch
30
- diff_time = Time.now-start_time
31
- assert_equal(true,(diff_time > 0.5 and diff_time < 0.51))
32
+ diff_time = Time.now - start_time
33
+ assert_equal(true, ((diff_time > 0.5) && (diff_time < 0.51)))
32
34
  c.basic_fetch
33
- diff_time = Time.now-start_time
34
- assert_equal(true,(diff_time > 0.5 and diff_time < 0.51))
35
+ diff_time = Time.now - start_time
36
+ assert_equal(true, ((diff_time > 0.5) && (diff_time < 0.51)))
35
37
  end
38
+
36
39
  def test_basic_fetch_invalidate_cache!
37
40
  c = TestToCacheClass.new
38
41
  start_time = Time.now
39
42
  c.basic_fetch
40
- diff_time = Time.now-start_time
41
- assert_equal(true,(diff_time > 0.5 and diff_time < 0.51))
43
+ diff_time = Time.now - start_time
44
+ assert_equal(true, ((diff_time > 0.5) && (diff_time < 0.51)))
42
45
  c.basic_fetch
43
- diff_time = Time.now-start_time
44
- assert_equal(true,(diff_time > 0.5 and diff_time < 0.51))
46
+ diff_time = Time.now - start_time
47
+ assert_equal(true, ((diff_time > 0.5) && (diff_time < 0.51)))
45
48
  c.invalidate_cache!
46
49
  c.basic_fetch
47
- diff_time = Time.now-start_time
48
- assert_equal(true,(diff_time > 1 and diff_time < 1.01))
50
+ diff_time = Time.now - start_time
51
+ assert_equal(true, ((diff_time > 1) && (diff_time < 1.01)))
49
52
  end
53
+
50
54
  def test_basic_fetch_invalidate_by_expiration
51
55
  # c = TestToCacheClass.new
52
56
  # start_time = Time.now
@@ -63,6 +67,5 @@ module Modules
63
67
  # diff_time = Time.now-start_time
64
68
  # assert_equal(true,(diff_time > 1 and diff_time < 1.01))
65
69
  end
66
-
67
70
  end
68
71
  end