glimmer 0.1.5.470 → 0.1.8.470

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +2 -0
  5. data/README.markdown +7 -2
  6. data/Rakefile +7 -8
  7. data/TODO.md +1 -1
  8. data/VERSION +1 -1
  9. data/bin/girb +3 -0
  10. data/bin/girb_runner.rb +5 -0
  11. data/glimmer.gemspec +29 -19
  12. data/lib/glimmer_application.rb +1 -2
  13. data/lib/shine.rb +23 -21
  14. data/lib/xml_command_handlers/models/node.rb +11 -11
  15. data/lib/xml_command_handlers/models/xml_visitor.rb +12 -12
  16. data/samples/tictactoe/tic_tac_toe.rb +11 -11
  17. data/spec/lib/command_handlers/models/observable_model_spec.rb +22 -0
  18. data/spec/lib/command_handlers/models/r_widget_spec.rb +52 -0
  19. data/{test/glimmer_combo_data_binding_test.rb → spec/lib/glimmer__combo_data_binding__spec.rb} +48 -49
  20. data/spec/lib/glimmer__constant__spec.rb +30 -0
  21. data/{test/glimmer_data_binding_test.rb → spec/lib/glimmer__data_binding__spec.rb} +95 -94
  22. data/spec/lib/glimmer__list_data_binding__spec.rb +224 -0
  23. data/{test/glimmer_listeners_test.rb → spec/lib/glimmer__listeners__spec.rb} +18 -19
  24. data/spec/lib/glimmer__shine_data_binding__spec.rb +89 -0
  25. data/spec/lib/glimmer__tab_item__spec.rb +55 -0
  26. data/spec/lib/glimmer__table_data_binding__spec.rb +121 -0
  27. data/spec/lib/glimmer_spec.rb +251 -0
  28. data/spec/lib/xml/glimmer_xml_spec.rb +154 -0
  29. data/spec/samples/contactmanager/contact_manager_presenter_spec.rb +81 -0
  30. data/spec/samples/tictactoe/tic_tac_toe_spec.rb +263 -0
  31. data/spec/spec_helper.rb +123 -0
  32. metadata +50 -17
  33. data/test/glimmer_constant_test.rb +0 -30
  34. data/test/glimmer_list_data_binding_test.rb +0 -223
  35. data/test/glimmer_shine_data_binding_test.rb +0 -89
  36. data/test/glimmer_tab_item_test.rb +0 -61
  37. data/test/glimmer_table_data_binding_test.rb +0 -122
  38. data/test/glimmer_test.rb +0 -237
  39. data/test/helper.rb +0 -24
  40. data/test/observable_model_test.rb +0 -25
  41. data/test/r_widget_test.rb +0 -52
  42. data/test/samples/contactmanager/contact_manager_presenter_test.rb +0 -81
  43. data/test/samples/tictactoe/tic_tac_toe_test.rb +0 -262
  44. data/test/xml/glimmer_xml_test.rb +0 -163
@@ -0,0 +1,263 @@
1
+ require "spec_helper"
2
+
3
+ require_relative "../../../samples/tictactoe/tic_tac_toe_board"
4
+
5
+ describe TicTacToeBoard do
6
+
7
+ before do
8
+ @board = TicTacToeBoard.new
9
+ end
10
+
11
+ it "tests mark_center_x" do
12
+ expect(@board.box(2, 2).sign).to eq("")
13
+ @board.mark_box(2, 2)
14
+ expect(@board.box(2, 2).empty).to be_false
15
+ expect(@board.box(2, 2).sign).to eq("X")
16
+ expect(@board.box(1, 1).empty).to be_true
17
+ expect(@board.box(1, 2).empty).to be_true
18
+ expect(@board.box(1, 3).empty).to be_true
19
+ expect(@board.box(2, 1).empty).to be_true
20
+ expect(@board.box(2, 3).empty).to be_true
21
+ expect(@board.box(3, 1).empty).to be_true
22
+ expect(@board.box(3, 2).empty).to be_true
23
+ expect(@board.box(3, 3).empty).to be_true
24
+ end
25
+
26
+ it "tests mark_center_x_top_center_o_bottom_right_x" do
27
+ @board.mark_box(2, 2)
28
+ @board.mark_box(1, 2)
29
+ @board.mark_box(3, 3)
30
+ expect(@board.box(2, 2).empty).to be_false
31
+ expect(@board.box(1, 2).empty).to be_false
32
+ expect(@board.box(3, 3).empty).to be_false
33
+ expect(@board.box(2, 2).sign).to eq("X")
34
+ expect(@board.box(1, 2).sign).to eq("O")
35
+ expect(@board.box(3, 3).sign).to eq("X")
36
+ end
37
+
38
+ it "tests top_center_not_marked" do
39
+ expect(@board.box(1, 2).empty).to be_true
40
+ end
41
+
42
+ it "tests top_right_marked" do
43
+ @board.mark_box(1, 3)
44
+ expect(@board.box(1, 3).empty).to be_false
45
+ end
46
+
47
+ it "tests lower_right_marked" do
48
+ @board.mark_box(3, 3)
49
+ expect(@board.box(3, 3).empty).to be_false
50
+ end
51
+
52
+ it "tests game_over_false" do
53
+ expect(@board.game_over?).to be_false
54
+ expect(@board.current_sign).to eq("X")
55
+ expect(@board.game_status).to eq(TicTacToeBoard::IN_PROGRESS)
56
+ end
57
+
58
+ it "tests game_over_X_wins_top_row_across" do
59
+ @board.mark_box(1, 1)
60
+ expect(@board.box(1, 1).sign).to eq("X")
61
+ @board.mark_box(2, 1)
62
+ expect(@board.box(2, 1).sign).to eq("O")
63
+ @board.mark_box(1, 2)
64
+ expect(@board.box(1, 2).sign).to eq("X")
65
+ @board.mark_box(2, 2)
66
+ expect(@board.box(2, 2).sign).to eq("O")
67
+ @board.mark_box(1, 3)
68
+ expect(@board.box(1, 3).sign).to eq("X")
69
+ expect(@board.game_over?).to be_true
70
+ expect(@board.winning_sign).to eq("X")
71
+ expect(@board.game_status).to eq(TicTacToeBoard::WIN)
72
+ end
73
+
74
+ it "tests game_over_O_wins_top_row_across" do
75
+ @board.mark_box(2, 1)
76
+ @board.mark_box(1, 1)
77
+ @board.mark_box(2, 2)
78
+ @board.mark_box(1, 2)
79
+ @board.mark_box(3, 3)
80
+ @board.mark_box(1, 3)
81
+ expect(@board.game_over?).to be_true
82
+ expect(@board.winning_sign).to eq("O")
83
+ end
84
+
85
+ it "tests game_over_X_wins_second_row_across" do
86
+ @board.mark_box(2, 1)
87
+ @board.mark_box(1, 1)
88
+ @board.mark_box(2, 2)
89
+ @board.mark_box(1, 2)
90
+ @board.mark_box(2, 3)
91
+ expect(@board.game_over?).to be_true
92
+ expect(@board.winning_sign).to eq("X")
93
+ end
94
+
95
+ it "tests game_over_O_wins_second_row_across" do
96
+ @board.mark_box(1, 1)
97
+ @board.mark_box(2, 1)
98
+ @board.mark_box(3, 1)
99
+ @board.mark_box(2, 2)
100
+ @board.mark_box(1, 2)
101
+ @board.mark_box(2, 3)
102
+ expect(@board.game_over?).to be_true
103
+ expect(@board.winning_sign).to eq("O")
104
+ end
105
+
106
+ it "tests game_over_X_wins_third_row_across" do
107
+ @board.mark_box(3, 1)
108
+ @board.mark_box(1, 1)
109
+ @board.mark_box(3, 2)
110
+ @board.mark_box(1, 2)
111
+ @board.mark_box(3, 3)
112
+ expect(@board.game_over?).to be_true
113
+ expect(@board.winning_sign).to eq("X")
114
+ end
115
+
116
+ it "tests game_over_O_wins_third_row_across" do
117
+ @board.mark_box(1, 1)
118
+ @board.mark_box(3, 1)
119
+ @board.mark_box(1, 2)
120
+ @board.mark_box(3, 2)
121
+ @board.mark_box(2, 3)
122
+ @board.mark_box(3, 3)
123
+ expect(@board.game_over?).to be_true
124
+ end
125
+
126
+ it "tests game_over_X_wins_first_column_down" do
127
+ @board.mark_box(1, 1)
128
+ @board.mark_box(2, 2)
129
+ @board.mark_box(2, 1)
130
+ @board.mark_box(3, 2)
131
+ @board.mark_box(3, 1)
132
+ expect(@board.game_over?).to be_true
133
+ expect(@board.winning_sign).to eq("X")
134
+ end
135
+
136
+ it "tests game_over_O_wins_first_column_down" do
137
+ @board.mark_box(2, 2)
138
+ @board.mark_box(1, 1)
139
+ @board.mark_box(3, 2)
140
+ @board.mark_box(2, 1)
141
+ @board.mark_box(3, 3)
142
+ @board.mark_box(3, 1)
143
+ expect(@board.game_over?).to be_true
144
+ end
145
+
146
+ it "tests game_over_X_wins_second_column_down" do
147
+ @board.mark_box(1, 2)
148
+ @board.mark_box(2, 1)
149
+ @board.mark_box(2, 2)
150
+ @board.mark_box(3, 1)
151
+ @board.mark_box(3, 2)
152
+ expect(@board.game_over?).to be_true
153
+ expect(@board.winning_sign).to eq("X")
154
+ end
155
+
156
+ it "tests game_over_O_wins_second_column_down" do
157
+ @board.mark_box(2, 1)
158
+ @board.mark_box(1, 2)
159
+ @board.mark_box(3, 1)
160
+ @board.mark_box(2, 2)
161
+ @board.mark_box(2, 3)
162
+ @board.mark_box(3, 2)
163
+ expect(@board.game_over?).to be_true
164
+ expect(@board.winning_sign).to eq("O")
165
+ end
166
+
167
+ it "tests game_over_X_wins_third_column_down" do
168
+ @board.mark_box(1, 3)
169
+ @board.mark_box(2, 1)
170
+ @board.mark_box(2, 3)
171
+ @board.mark_box(3, 1)
172
+ @board.mark_box(3, 3)
173
+ expect(@board.game_over?).to be_true
174
+ expect(@board.winning_sign).to eq("X")
175
+ end
176
+
177
+ it "tests game_over_O_wins_third_column_down" do
178
+ @board.mark_box(2, 1)
179
+ @board.mark_box(1, 3)
180
+ @board.mark_box(3, 1)
181
+ @board.mark_box(2, 3)
182
+ @board.mark_box(3, 2)
183
+ @board.mark_box(3, 3)
184
+ expect(@board.game_over?).to be_true
185
+ expect(@board.winning_sign).to eq("O")
186
+ end
187
+
188
+ it "tests game_over_X_wins_top_left_to_bottom_right" do
189
+ @board.mark_box(1, 1)
190
+ @board.mark_box(2, 1)
191
+ @board.mark_box(2, 2)
192
+ @board.mark_box(3, 2)
193
+ @board.mark_box(3, 3)
194
+ expect(@board.winning_sign).to eq("X")
195
+ expect(@board.game_over?).to be_true
196
+ end
197
+
198
+ it "tests game_over_O_wins_top_left_to_bottom_right" do
199
+ @board.mark_box(2, 1)
200
+ @board.mark_box(1, 1)
201
+ @board.mark_box(3, 2)
202
+ @board.mark_box(2, 2)
203
+ @board.mark_box(2, 3)
204
+ @board.mark_box(3, 3)
205
+ expect(@board.winning_sign).to eq("O")
206
+ expect(@board.game_over?).to be_true
207
+ end
208
+
209
+ it "tests game_over_X_wins_top_right_to_bottom_left" do
210
+ @board.mark_box(1, 3)
211
+ @board.mark_box(2, 1)
212
+ @board.mark_box(2, 2)
213
+ @board.mark_box(3, 2)
214
+ @board.mark_box(3, 1)
215
+ expect(@board.winning_sign).to eq("X")
216
+ expect(@board.game_over?).to be_true
217
+ end
218
+
219
+ it "tests game_over_O_wins_top_right_to_bottom_left" do
220
+ @board.mark_box(2, 1)
221
+ @board.mark_box(1, 3)
222
+ @board.mark_box(3, 2)
223
+ @board.mark_box(2, 2)
224
+ @board.mark_box(1, 1)
225
+ @board.mark_box(3, 1)
226
+ expect(@board.winning_sign).to eq("O")
227
+ expect(@board.game_over?).to be_true
228
+ end
229
+
230
+ # 1 2 3
231
+ #1 x o x
232
+ #2 o x x
233
+ #3 o x o
234
+ it "tests game_over_draw" do
235
+ @board.mark_box(1, 1)
236
+ @board.mark_box(1, 2)
237
+ @board.mark_box(1, 3)
238
+ @board.mark_box(2, 1)
239
+ @board.mark_box(2, 2)
240
+ @board.mark_box(3, 1)
241
+ @board.mark_box(2, 3)
242
+ @board.mark_box(3, 3)
243
+ expect(@board.game_over?).to be_false
244
+ @board.mark_box(3, 2)
245
+ expect(@board.game_over?).to be_true
246
+ expect(@board.winning_sign).to eq(TicTacToeBox::EMPTY)
247
+ expect(@board.game_status).to eq(TicTacToeBoard::DRAW)
248
+ end
249
+
250
+ it "tests reset" do
251
+ @board.mark_box(1, 3)
252
+ @board.mark_box(2, 1)
253
+ @board.mark_box(2, 2)
254
+ @board.mark_box(3, 2)
255
+ @board.mark_box(3, 1)
256
+ @board.reset
257
+ expect(@board.game_over?).to be_false
258
+ expect(@board.winning_sign).to eq(TicTacToeBox::EMPTY)
259
+ expect(@board.game_status).to eq(TicTacToeBoard::IN_PROGRESS)
260
+ expect(@board.current_sign).to eq("X")
261
+ end
262
+
263
+ end
@@ -0,0 +1,123 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+ require 'bundler'
4
+
5
+ begin
6
+ Bundler.require(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'samples'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'glimmer'
16
+ # This file was generated by the `rspec --init` command. Conventionally, all
17
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
18
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
19
+ # this file to always be loaded, without a need to explicitly require it in any
20
+ # files.
21
+ #
22
+ # Given that it is always loaded, you are encouraged to keep this file as
23
+ # light-weight as possible. Requiring heavyweight dependencies from this file
24
+ # will add to the boot time of your test suite on EVERY test run, even for an
25
+ # individual file that may not need all of that loaded. Instead, consider making
26
+ # a separate helper file that requires the additional dependencies and performs
27
+ # the additional setup, and require it from the spec files that actually need
28
+ # it.
29
+ #
30
+ # The `.rspec` file also contains a few flags that are not defaults but that
31
+ # users commonly want.
32
+ #
33
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
34
+ RSpec.configure do |config|
35
+ # rspec-expectations config goes here. You can use an alternate
36
+ # assertion/expectation library such as wrong or the stdlib/minitest
37
+ # assertions if you prefer.
38
+ config.expect_with :rspec do |expectations|
39
+ # This option will default to `true` in RSpec 4. It makes the `description`
40
+ # and `failure_message` of custom matchers include text for helper methods
41
+ # defined using `chain`, e.g.:
42
+ # be_bigger_than(2).and_smaller_than(4).description
43
+ # # => "be bigger than 2 and smaller than 4"
44
+ # ...rather than:
45
+ # # => "be bigger than 2"
46
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
47
+ end
48
+
49
+ # rspec-mocks config goes here. You can use an alternate test double
50
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
51
+ config.mock_with :rspec do |mocks|
52
+ # Prevents you from mocking or stubbing a method that does not exist on
53
+ # a real object. This is generally recommended, and will default to
54
+ # `true` in RSpec 4.
55
+ mocks.verify_partial_doubles = true
56
+ end
57
+
58
+ # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
59
+ # have no way to turn it off -- the option exists only for backwards
60
+ # compatibility in RSpec 3). It causes shared context metadata to be
61
+ # inherited by the metadata hash of host groups and examples, rather than
62
+ # triggering implicit auto-inclusion in groups with matching metadata.
63
+ config.shared_context_metadata_behavior = :apply_to_host_groups
64
+
65
+ # The settings below are suggested to provide a good initial experience
66
+ # with RSpec, but feel free to customize to your heart's content.
67
+ =begin
68
+ # This allows you to limit a spec run to individual examples or groups
69
+ # you care about by tagging them with `:focus` metadata. When nothing
70
+ # is tagged with `:focus`, all examples get run. RSpec also provides
71
+ # aliases for `it`, `describe`, and `context` that include `:focus`
72
+ # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
73
+ config.filter_run_when_matching :focus
74
+
75
+ # Allows RSpec to persist some state between runs in order to support
76
+ # the `--only-failures` and `--next-failure` CLI options. We recommend
77
+ # you configure your source control system to ignore this file.
78
+ config.example_status_persistence_file_path = "spec/examples.txt"
79
+
80
+ # Limits the available syntax to the non-monkey patched syntax that is
81
+ # recommended. For more details, see:
82
+ # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
83
+ # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
84
+ # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
85
+ config.disable_monkey_patching!
86
+
87
+ # This setting enables warnings. It's recommended, but in some cases may
88
+ # be too noisy due to issues in dependencies.
89
+ config.warnings = true
90
+
91
+ # Many RSpec users commonly either run the entire suite or an individual
92
+ # file, and it's useful to allow more verbose output when running an
93
+ # individual spec file.
94
+ if config.files_to_run.one?
95
+ # Use the documentation formatter for detailed output,
96
+ # unless a formatter has already been configured
97
+ # (e.g. via a command-line flag).
98
+ config.default_formatter = 'doc'
99
+ end
100
+
101
+ # Print the 10 slowest examples and example groups at the
102
+ # end of the spec run, to help surface which specs are running
103
+ # particularly slow.
104
+ config.profile_examples = 10
105
+
106
+ # Run specs in random order to surface order dependencies. If you find an
107
+ # order dependency and want to debug it, you can fix the order by providing
108
+ # the seed, which is printed after each run.
109
+ # --seed 1234
110
+ config.order = :random
111
+
112
+ # Seed global randomization in this process using the `--seed` CLI option.
113
+ # Setting this allows you to use `--seed` to deterministically reproduce
114
+ # test failures related to randomization by passing the same `--seed` value
115
+ # as the one that triggered the failure.
116
+ Kernel.srand config.seed
117
+ =end
118
+ end
119
+ RSpec::Matchers.define :have_style do |style|
120
+ match do |widget|
121
+ expect(widget.getStyle & style.swt_constant).to eq(style.swt_constant)
122
+ end
123
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5.470
4
+ version: 0.1.8.470
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-22 00:00:00.000000000 Z
11
+ date: 2017-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 3.5.0
47
+ name: rspec
48
+ prerelease: false
49
+ type: :development
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.5.0
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 3.5.0
61
+ name: rspec-mocks
62
+ prerelease: false
63
+ type: :development
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.5.0
41
69
  - !ruby/object:Gem::Dependency
42
70
  requirement: !ruby/object:Gem::Requirement
43
71
  requirements:
@@ -127,11 +155,14 @@ description: JRuby DSL that enables easy and efficient authoring of user-interfa
127
155
  email: andy.am@gmail.com
128
156
  executables:
129
157
  - glimmer
158
+ - girb
130
159
  extensions: []
131
160
  extra_rdoc_files:
132
161
  - LICENSE.txt
133
162
  - README.markdown
134
163
  files:
164
+ - ".coveralls.yml"
165
+ - ".rspec"
135
166
  - ".ruby-gemset"
136
167
  - ".ruby-version"
137
168
  - Gemfile
@@ -140,6 +171,8 @@ files:
140
171
  - Rakefile
141
172
  - TODO.md
142
173
  - VERSION
174
+ - bin/girb
175
+ - bin/girb_runner.rb
143
176
  - bin/glimmer
144
177
  - glimmer.gemspec
145
178
  - images/Bitter-sweet.jpg
@@ -199,21 +232,21 @@ files:
199
232
  - samples/login.rb
200
233
  - samples/tictactoe/tic_tac_toe.rb
201
234
  - samples/tictactoe/tic_tac_toe_board.rb
202
- - test/glimmer_combo_data_binding_test.rb
203
- - test/glimmer_constant_test.rb
204
- - test/glimmer_data_binding_test.rb
205
- - test/glimmer_list_data_binding_test.rb
206
- - test/glimmer_listeners_test.rb
207
- - test/glimmer_shine_data_binding_test.rb
208
- - test/glimmer_tab_item_test.rb
209
- - test/glimmer_table_data_binding_test.rb
210
- - test/glimmer_test.rb
211
- - test/helper.rb
212
- - test/observable_model_test.rb
213
- - test/r_widget_test.rb
214
- - test/samples/contactmanager/contact_manager_presenter_test.rb
215
- - test/samples/tictactoe/tic_tac_toe_test.rb
216
- - test/xml/glimmer_xml_test.rb
235
+ - spec/lib/command_handlers/models/observable_model_spec.rb
236
+ - spec/lib/command_handlers/models/r_widget_spec.rb
237
+ - spec/lib/glimmer__combo_data_binding__spec.rb
238
+ - spec/lib/glimmer__constant__spec.rb
239
+ - spec/lib/glimmer__data_binding__spec.rb
240
+ - spec/lib/glimmer__list_data_binding__spec.rb
241
+ - spec/lib/glimmer__listeners__spec.rb
242
+ - spec/lib/glimmer__shine_data_binding__spec.rb
243
+ - spec/lib/glimmer__tab_item__spec.rb
244
+ - spec/lib/glimmer__table_data_binding__spec.rb
245
+ - spec/lib/glimmer_spec.rb
246
+ - spec/lib/xml/glimmer_xml_spec.rb
247
+ - spec/samples/contactmanager/contact_manager_presenter_spec.rb
248
+ - spec/samples/tictactoe/tic_tac_toe_spec.rb
249
+ - spec/spec_helper.rb
217
250
  homepage: http://github.com/AndyObtiva/glimmer
218
251
  licenses:
219
252
  - MIT