osheet 0.7.0 → 0.8.0

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