osheet 0.7.0 → 0.8.0

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 (111) hide show
  1. data/.gitignore +5 -3
  2. data/Gemfile +2 -0
  3. data/Gemfile.lock +13 -37
  4. data/Rakefile +3 -3
  5. data/lib/osheet/format/numeric.rb +0 -2
  6. data/lib/osheet/instance.rb +1 -3
  7. data/lib/osheet/version.rb +2 -2
  8. data/osheet.gemspec +3 -9
  9. data/test/cell_test.rb +96 -104
  10. data/test/column_test.rb +90 -97
  11. data/test/format/accounting_test.rb +115 -128
  12. data/test/format/currency_test.rb +115 -128
  13. data/test/format/custom_test.rb +13 -13
  14. data/test/format/datetime_test.rb +13 -13
  15. data/test/format/fraction_test.rb +63 -63
  16. data/test/format/general_test.rb +11 -11
  17. data/test/format/number_test.rb +67 -69
  18. data/test/format/percentage_test.rb +89 -91
  19. data/test/format/scientific_test.rb +89 -91
  20. data/test/format/special_test.rb +35 -35
  21. data/test/format/text_test.rb +9 -9
  22. data/test/format_test.rb +24 -24
  23. data/test/helper.rb +42 -47
  24. data/test/irb.rb +9 -0
  25. data/test/mixin_test.rb +55 -59
  26. data/test/osheet_test.rb +7 -10
  27. data/test/partial_set_test.rb +41 -61
  28. data/test/partial_test.rb +44 -46
  29. data/test/row_test.rb +92 -99
  30. data/test/style_set_test.rb +34 -37
  31. data/test/style_test.rb +72 -97
  32. data/test/template_set_test.rb +52 -73
  33. data/test/template_test.rb +31 -49
  34. data/test/workbook_test.rb +186 -199
  35. data/test/worksheet_test.rb +99 -103
  36. data/test/xmlss_writer/base_test.rb +72 -73
  37. data/test/xmlss_writer/elements_test.rb +141 -140
  38. data/test/xmlss_writer/styles_test.rb +197 -208
  39. metadata +27 -247
  40. data/.bundle/config +0 -2
  41. data/test/app_helper.rb +0 -66
  42. data/test/env.rb +0 -10
  43. data/test/rails/three/.gitignore +0 -4
  44. data/test/rails/three/Gemfile +0 -5
  45. data/test/rails/three/Gemfile.lock +0 -88
  46. data/test/rails/three/app/controllers/application_controller.rb +0 -3
  47. data/test/rails/three/app/controllers/things_controller.rb +0 -10
  48. data/test/rails/three/app/helpers/application_helper.rb +0 -2
  49. data/test/rails/three/app/views/layouts/application.html.erb +0 -14
  50. data/test/rails/three/app/views/things/index.xls.osheet +0 -13
  51. data/test/rails/three/config/application.rb +0 -42
  52. data/test/rails/three/config/boot.rb +0 -13
  53. data/test/rails/three/config/database.yml +0 -22
  54. data/test/rails/three/config/environment.rb +0 -5
  55. data/test/rails/three/config/environments/development.rb +0 -26
  56. data/test/rails/three/config/environments/production.rb +0 -49
  57. data/test/rails/three/config/environments/test.rb +0 -35
  58. data/test/rails/three/config/initializers/app.rb +0 -0
  59. data/test/rails/three/config/initializers/backtrace_silencers.rb +0 -7
  60. data/test/rails/three/config/initializers/inflections.rb +0 -10
  61. data/test/rails/three/config/initializers/mime_types.rb +0 -5
  62. data/test/rails/three/config/initializers/secret_token.rb +0 -7
  63. data/test/rails/three/config/initializers/session_store.rb +0 -8
  64. data/test/rails/three/config/locales/en.yml +0 -5
  65. data/test/rails/three/config/routes.rb +0 -3
  66. data/test/rails/three/config.ru +0 -4
  67. data/test/rails/three/db/seeds.rb +0 -7
  68. data/test/rails/three/doc/README_FOR_APP +0 -2
  69. data/test/rails/three/lib/tasks/.gitkeep +0 -0
  70. data/test/rails/three/script/rails +0 -6
  71. data/test/rails/two/.bundle/config +0 -2
  72. data/test/rails/two/Booting +0 -0
  73. data/test/rails/two/Gemfile +0 -5
  74. data/test/rails/two/Gemfile.lock +0 -45
  75. data/test/rails/two/Rails +0 -0
  76. data/test/rails/two/app/controllers/application_controller.rb +0 -20
  77. data/test/rails/two/app/controllers/things_controller.rb +0 -10
  78. data/test/rails/two/app/helpers/application_helper.rb +0 -3
  79. data/test/rails/two/app/views/things/index.xls.osheet +0 -15
  80. data/test/rails/two/config/boot.rb +0 -128
  81. data/test/rails/two/config/database.yml +0 -22
  82. data/test/rails/two/config/environment.rb +0 -41
  83. data/test/rails/two/config/environments/development.rb +0 -17
  84. data/test/rails/two/config/environments/production.rb +0 -28
  85. data/test/rails/two/config/environments/test.rb +0 -28
  86. data/test/rails/two/config/initializers/app.rb +0 -2
  87. data/test/rails/two/config/initializers/backtrace_silencers.rb +0 -7
  88. data/test/rails/two/config/initializers/cookie_verification_secret.rb +0 -7
  89. data/test/rails/two/config/initializers/inflections.rb +0 -10
  90. data/test/rails/two/config/initializers/mime_types.rb +0 -5
  91. data/test/rails/two/config/initializers/new_rails_defaults.rb +0 -21
  92. data/test/rails/two/config/initializers/session_store.rb +0 -15
  93. data/test/rails/two/config/locales/en.yml +0 -5
  94. data/test/rails/two/config/routes.rb +0 -3
  95. data/test/rails/two/db/development.sqlite3 +0 -0
  96. data/test/rails/two/db/seeds.rb +0 -7
  97. data/test/rails/two/script/about +0 -4
  98. data/test/rails/two/script/console +0 -3
  99. data/test/rails/two/script/dbconsole +0 -3
  100. data/test/rails/two/script/destroy +0 -3
  101. data/test/rails/two/script/generate +0 -3
  102. data/test/rails/two/script/performance/benchmarker +0 -3
  103. data/test/rails/two/script/performance/profiler +0 -3
  104. data/test/rails/two/script/plugin +0 -3
  105. data/test/rails/two/script/runner +0 -3
  106. data/test/rails/two/script/server +0 -3
  107. data/test/rails/two/tmp/pids/server.pid +0 -1
  108. data/test/rails_test.rb +0 -38
  109. data/test/sinatra/app.rb +0 -16
  110. data/test/sinatra/views/index.osheet +0 -13
  111. data/test/sinatra_test.rb +0 -19
@@ -1,140 +1,136 @@
1
- require "test/helper"
1
+ require "assert"
2
2
  require 'osheet/worksheet'
3
3
 
4
4
  module Osheet
5
5
 
6
- class WorksheetTest < Test::Unit::TestCase
7
- context "Osheet::Worksheet" do
8
- subject { Worksheet.new }
6
+ class WorksheetTest < Assert::Context
7
+ desc "Osheet::Worksheet"
8
+ before { @wksht = Worksheet.new }
9
+ subject { @wksht }
9
10
 
10
- should_be_a_workbook_element(Worksheet)
11
+ should_be_a_workbook_element(Worksheet)
11
12
 
12
- should_have_instance_methods :name, :attributes
13
- should_have_instance_method :meta
13
+ should have_instance_methods :name, :attributes, :meta
14
14
 
15
- should "set it's defaults" do
16
- assert_equal nil, subject.send(:get_ivar, "name")
17
- assert_equal [], subject.columns
18
- assert_equal [], subject.rows
15
+ should "set it's defaults" do
16
+ assert_equal nil, subject.send(:get_ivar, "name")
17
+ assert_equal [], subject.columns
18
+ assert_equal [], subject.rows
19
19
 
20
- assert_equal nil, subject.meta
21
- end
20
+ assert_equal nil, subject.meta
21
+ end
22
22
 
23
- should_hm(Worksheet, :columns, Column)
24
- should_hm(Worksheet, :rows, Row)
23
+ should_hm(Worksheet, :columns, Column)
24
+ should_hm(Worksheet, :rows, Row)
25
25
 
26
- should "know it's attribute(s)" do
27
- subject.send(:name, "Poo!")
28
- [:name].each do |a|
29
- assert subject.attributes.has_key?(a)
30
- end
31
- assert_equal "Poo!", subject.attributes[:name]
26
+ should "know it's attribute(s)" do
27
+ subject.send(:name, "Poo!")
28
+ [:name].each do |a|
29
+ assert subject.attributes.has_key?(a)
32
30
  end
33
-
31
+ assert_equal "Poo!", subject.attributes[:name]
34
32
  end
33
+
35
34
  end
36
35
 
37
- class WorksheetNameMetaTest < Test::Unit::TestCase
38
- context "A named worksheet with meta" do
39
- subject do
40
- Worksheet.new {
41
- name "Poo!"
42
- meta({})
43
- }
44
- end
36
+ class WorksheetNameMetaTest < WorksheetTest
37
+ desc "A named worksheet with meta"
38
+ before do
39
+ @wksht = Worksheet.new {
40
+ name "Poo!"
41
+ meta({})
42
+ }
43
+ end
45
44
 
46
- should "know it's name and meta" do
47
- assert_equal "Poo!", subject.send(:get_ivar, "name")
48
- assert_equal({}, subject.meta)
49
- end
45
+ should "know it's name and meta" do
46
+ assert_equal "Poo!", subject.send(:get_ivar, "name")
47
+ assert_equal({}, subject.meta)
48
+ end
50
49
 
51
- should "set it's name" do
52
- subject.name(false)
53
- assert_equal 'false', subject.name
54
- subject.name('la')
55
- assert_equal 'la', subject.name
56
- subject.name(nil)
57
- assert_equal 'la', subject.name
58
- end
50
+ should "set it's name" do
51
+ subject.name(false)
52
+ assert_equal 'false', subject.name
53
+ subject.name('la')
54
+ assert_equal 'la', subject.name
55
+ subject.name(nil)
56
+ assert_equal 'la', subject.name
57
+ end
59
58
 
60
- should "complain if name is longer than 31 chars" do
61
- assert_raises ArgumentError do
62
- subject.name('a'*32)
63
- end
64
- assert_nothing_raised do
65
- subject.name('a'*31)
66
- end
59
+ should "complain if name is longer than 31 chars" do
60
+ assert_raises ArgumentError do
61
+ subject.name('a'*32)
62
+ end
63
+ assert_nothing_raised do
64
+ subject.name('a'*31)
67
65
  end
68
-
69
66
  end
70
- end
71
67
 
72
- class WorksheetColumnRowTest < Test::Unit::TestCase
73
- context "A worksheet that has columns and rows" do
74
- subject do
75
- Worksheet.new {
76
- column
77
- row { cell {
78
- format :number
79
- data 1
80
- } }
81
- }
82
- end
68
+ end
83
69
 
84
- should "set it's columns" do
85
- columns = subject.columns
86
- assert_equal 1, columns.size
87
- assert_kind_of Column, columns.first
88
- assert_equal subject.columns, columns.first.columns
89
- end
70
+ class WorksheetColumnRowTest < WorksheetTest
71
+ desc "A worksheet that has columns and rows"
72
+ before do
73
+ @wksht = Worksheet.new {
74
+ column
75
+ row { cell {
76
+ format :number
77
+ data 1
78
+ } }
79
+ }
80
+ end
90
81
 
91
- should "set it's rows" do
92
- rows = subject.rows
93
- assert_equal 1, rows.size
94
- assert_kind_of Row, rows.first
95
- assert_equal subject.columns, rows.first.columns
96
- assert_equal subject.columns, rows.first.cells.first.columns
97
- end
82
+ should "set it's columns" do
83
+ columns = subject.columns
84
+ assert_equal 1, columns.size
85
+ assert_kind_of Column, columns.first
86
+ assert_equal subject.columns, columns.first.columns
87
+ end
98
88
 
89
+ should "set it's rows" do
90
+ rows = subject.rows
91
+ assert_equal 1, rows.size
92
+ assert_kind_of Row, rows.first
93
+ assert_equal subject.columns, rows.first.columns
94
+ assert_equal subject.columns, rows.first.cells.first.columns
99
95
  end
96
+
100
97
  end
101
98
 
102
- class WorkbookPartialTest < Test::Unit::TestCase
103
- context "A workbook that defines worksheet partials" do
104
- subject do
105
- Workbook.new {
106
- partial(:worksheet_stuff) {
107
- row {}
108
- row {}
109
- }
110
-
111
- worksheet {
112
- add :worksheet_stuff
113
- }
99
+ class WorksheetWorkbookPartialTest < WorksheetTest
100
+ desc "A workbook that defines worksheet partials"
101
+ before do
102
+ @wksht = Workbook.new {
103
+ partial(:worksheet_stuff) {
104
+ row {}
105
+ row {}
114
106
  }
115
- end
116
107
 
117
- should "add it's partials to it's markup" do
118
- assert_equal 2, subject.worksheets.first.rows.size
119
- end
108
+ worksheet {
109
+ add :worksheet_stuff
110
+ }
111
+ }
112
+ end
120
113
 
114
+ should "add it's partials to it's markup" do
115
+ assert_equal 2, subject.worksheets.first.rows.size
121
116
  end
117
+
122
118
  end
123
119
 
124
- class WorksheetBindingTest < Test::Unit::TestCase
125
- context "a worksheet defined w/ a block" do
126
- should "access instance vars from that block's binding" do
127
- @test = 'test'
128
- @worksheet = Worksheet.new { name @test }
129
-
130
- assert !@worksheet.send(:instance_variable_get, "@test").nil?
131
- assert_equal @test, @worksheet.send(:instance_variable_get, "@test")
132
- assert_equal @test.object_id, @worksheet.send(:instance_variable_get, "@test").object_id
133
- assert_equal @test, @worksheet.attributes[:name]
134
- assert_equal @test.object_id, @worksheet.attributes[:name].object_id
135
- end
120
+ class WorksheetBindingTest < WorksheetTest
121
+ desc "a worksheet defined w/ a block"
122
+
123
+ should "access instance vars from that block's binding" do
124
+ @test = 'test'
125
+ @worksheet = Worksheet.new { name @test }
136
126
 
127
+ assert !@worksheet.send(:instance_variable_get, "@test").nil?
128
+ assert_equal @test, @worksheet.send(:instance_variable_get, "@test")
129
+ assert_equal @test.object_id, @worksheet.send(:instance_variable_get, "@test").object_id
130
+ assert_equal @test, @worksheet.attributes[:name]
131
+ assert_equal @test.object_id, @worksheet.attributes[:name].object_id
137
132
  end
133
+
138
134
  end
139
135
 
140
136
  end
@@ -1,102 +1,101 @@
1
- require "test/helper"
1
+ require "assert"
2
2
  require 'osheet/xmlss_writer'
3
3
 
4
4
  module Osheet
5
5
 
6
- class XmlssWriter::BaseTest < Test::Unit::TestCase
7
- context "XmlssWriter::Base" do
8
- subject { XmlssWriter::Base.new }
6
+ class XmlssWriter::BaseTest < Assert::Context
7
+ desc "XmlssWriter::Base"
8
+ before { @writer = XmlssWriter::Base.new }
9
+ subject { @writer }
9
10
 
10
- should_have_readers :workbook, :styles
11
- should_have_writer :workbook
11
+ should have_readers :workbook, :styles
12
+ should have_writer :workbook
12
13
 
13
- end
14
14
  end
15
15
 
16
- class XmlssWriter::Workbook < Test::Unit::TestCase
17
- context "XmlssWriter workbook" do
18
- subject { XmlssWriter::Base.new }
19
- before do
20
- @workbook = Workbook.new {
21
- title "xmlss"
22
- worksheet { name "testsheet1" }
23
- }
24
- end
16
+ class XmlssWriter::WorkbookTest < XmlssWriter::BaseTest
17
+ desc "workbook"
18
+ before do
19
+ @workbook = Workbook.new {
20
+ title "xmlss"
21
+ worksheet { name "testsheet1" }
22
+ }
23
+ end
25
24
 
26
- should "only allow writing an Osheet::Workbook" do
27
- assert_nothing_raised do
28
- subject.workbook = @workbook
29
- end
30
- assert_raises ArgumentError do
31
- subject.workbook = "poo"
32
- end
25
+ should "only allow writing an Osheet::Workbook" do
26
+ assert_nothing_raised do
27
+ subject.workbook = @workbook
28
+ end
29
+ assert_raises ArgumentError do
30
+ subject.workbook = "poo"
33
31
  end
32
+ end
34
33
 
35
- should "not allow writing a workbook that has multiple worksheets with the same name" do
36
- assert_raises ArgumentError do
37
- subject.workbook = Workbook.new {
38
- title "invalid"
39
- worksheet { name "testsheet1" }
40
- worksheet { name "testsheet1" }
41
- }
42
- end
34
+ should "not allow writing a workbook that has multiple worksheets with the same name" do
35
+ assert_raises ArgumentError do
36
+ subject.workbook = Workbook.new {
37
+ title "invalid"
38
+ worksheet { name "testsheet1" }
39
+ worksheet { name "testsheet1" }
40
+ }
43
41
  end
42
+ end
44
43
 
45
- should "create an Xmlss workbook" do
46
- assert_nothing_raised do
47
- subject.workbook = @workbook
48
- end
49
- assert_kind_of ::Xmlss::Workbook, subject.workbook
50
- assert_equal @workbook.worksheets.size, subject.workbook.worksheets.size
44
+ should "create an Xmlss workbook" do
45
+ assert_nothing_raised do
46
+ subject.workbook = @workbook
51
47
  end
48
+ assert_kind_of ::Xmlss::Workbook, subject.workbook
49
+ assert_equal @workbook.worksheets.size, subject.workbook.worksheets.size
52
50
  end
51
+
53
52
  end
54
53
 
55
- class XmlssWriter::ToData < Test::Unit::TestCase
56
- context "XmlssWriter::Base" do
57
- subject do
58
- XmlssWriter::Base.new({
59
- :workbook => Workbook.new {
60
- title "written"
61
- worksheet {
62
- name "Poo!"
63
- column
64
- row {
65
- cell {
66
- data 1
67
- format :number
68
- }
54
+ class XmlssWriter::ToDataTest < Assert::Context
55
+ desc "XmlssWriter::Base"
56
+ before do
57
+ @writer = XmlssWriter::Base.new({
58
+ :workbook => Workbook.new {
59
+ title "written"
60
+ worksheet {
61
+ name "Poo!"
62
+ column
63
+ row {
64
+ cell {
65
+ data 1
66
+ format :number
69
67
  }
70
68
  }
71
69
  }
72
- })
73
- end
74
- after do
75
- # remove any test files this creates
76
- end
70
+ }
71
+ })
72
+ end
73
+ after do
74
+ # remove any test files this creates
75
+ end
76
+ subject { @writer }
77
77
 
78
- should_have_instance_methods :to_data, :to_file
78
+ should have_instance_methods :to_data, :to_file
79
79
 
80
- should "return string xml data" do
81
- xml_data = nil
82
- assert_nothing_raised do
83
- xml_data = subject.to_data
84
- end
85
- assert_kind_of ::String, xml_data
86
- assert_match /^<\?xml/, xml_data
80
+ should "return string xml data" do
81
+ xml_data = nil
82
+ assert_nothing_raised do
83
+ xml_data = subject.to_data
87
84
  end
85
+ assert_kind_of ::String, xml_data
86
+ assert_match /^<\?xml/, xml_data
87
+ end
88
88
 
89
- should "write xml data to a file path" do
90
- path = nil
91
- assert_nothing_raised do
92
- path = subject.to_file("./tmp/base_test.xls")
93
- end
94
- assert_kind_of ::String, path
95
- assert_equal './tmp/base_test.xls', path
96
- assert File.exists?(path)
89
+ should "write xml data to a file path" do
90
+ path = nil
91
+ assert_nothing_raised do
92
+ path = subject.to_file("./tmp/base_test.xls")
97
93
  end
98
-
94
+ assert_kind_of ::String, path
95
+ assert_equal './tmp/base_test.xls', path
96
+ assert File.exists?(path)
99
97
  end
98
+
100
99
  end
101
100
 
102
101
  end