shoes 4.0.0.pre1 → 4.0.0.pre2
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.
- checksums.yaml +4 -4
- data/CHANGELOG +84 -32
- data/Gemfile +22 -1
- data/README.md +28 -13
- data/Rakefile +7 -210
- data/bin/ruby-shoes +2 -2
- data/ext/install/shoes.bat +4 -1
- data/lib/shoes.rb +1 -121
- data/lib/shoes/{cli.rb → ui/cli.rb} +7 -1
- data/lib/shoes/{help.rb → ui/help.rb} +2 -2
- data/lib/shoes/{manual.rb → ui/manual.rb} +1 -1
- data/lib/shoes/version.rb +1 -1
- data/manifests/common.rb +34 -0
- data/manifests/shoes.rb +44 -0
- data/samples/Gemfile +3 -0
- data/samples/Gemfile.lock +35 -0
- data/samples/README +16 -5
- data/samples/boom.rb +239 -0
- data/samples/clicky.rb +24 -0
- data/samples/flow.rb +63 -0
- data/samples/gray.rb +11 -0
- data/samples/nks_booklist.rb +24 -0
- data/samples/nks_breadsticks.rb +7 -0
- data/samples/nks_dancing_circle.rb +13 -0
- data/samples/nks_dictionary.rb +23 -0
- data/samples/nks_edit_box.rb +4 -0
- data/samples/nks_edit_line.rb +6 -0
- data/samples/nks_notes.rb +16 -0
- data/samples/nks_self.rb +6 -0
- data/samples/nks_text_sizes.rb +10 -0
- data/samples/nks_trurl.rb +5 -0
- data/samples/packaging/package_me.rb +6 -0
- data/samples/present.rb +27 -0
- data/samples/progress.rb +10 -0
- data/samples/sample31.rb +1 -1
- data/samples/simple-calc.rb +1 -1
- data/samples/simple-tictactoe.rb +238 -0
- data/samples/simple-visibility.rb +11 -0
- data/samples/simple-widget.rb +9 -0
- data/samples/swt-raw.rb +20 -0
- data/samples/troll.rb +22 -0
- data/shoes.gemspec +10 -22
- data/snapshots/sample56.png +0 -0
- data/static/manual-en.txt +16 -7
- data/tasks/changelog.rb +92 -0
- data/tasks/gem.rb +38 -0
- data/tasks/rspec.rb +106 -0
- data/tasks/sample.rb +66 -0
- data/tasks/yard.rb +13 -0
- metadata +55 -488
- data/.gitignore +0 -53
- data/.rspec +0 -3
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.travis.yml +0 -31
- data/bin/shoes +0 -59
- data/bin/shoes.bat +0 -6
- data/fonts/Coolvetica.ttf +0 -0
- data/fonts/Lacuna.ttf +0 -0
- data/lib/ext/highlighter.rb +0 -2
- data/lib/ext/highlighter/common.rb +0 -197
- data/lib/ext/highlighter/lang/ruby.rb +0 -316
- data/lib/ext/highlighter/markup.rb +0 -222
- data/lib/rubygems_plugin.rb +0 -19
- data/lib/shoes/animation.rb +0 -55
- data/lib/shoes/app.rb +0 -320
- data/lib/shoes/arc.rb +0 -35
- data/lib/shoes/background.rb +0 -30
- data/lib/shoes/border.rb +0 -33
- data/lib/shoes/builtin_methods.rb +0 -73
- data/lib/shoes/button.rb +0 -32
- data/lib/shoes/check_button.rb +0 -43
- data/lib/shoes/color.rb +0 -375
- data/lib/shoes/common/background_element.rb +0 -9
- data/lib/shoes/common/changeable.rb +0 -34
- data/lib/shoes/common/clickable.rb +0 -17
- data/lib/shoes/common/common_methods.rb +0 -70
- data/lib/shoes/common/fill.rb +0 -21
- data/lib/shoes/common/registration.rb +0 -33
- data/lib/shoes/common/state.rb +0 -18
- data/lib/shoes/common/stroke.rb +0 -28
- data/lib/shoes/common/style.rb +0 -34
- data/lib/shoes/common/style_normalizer.rb +0 -16
- data/lib/shoes/configuration.rb +0 -96
- data/lib/shoes/dialog.rb +0 -27
- data/lib/shoes/dimension.rb +0 -237
- data/lib/shoes/dimensions.rb +0 -194
- data/lib/shoes/download.rb +0 -117
- data/lib/shoes/dsl.rb +0 -478
- data/lib/shoes/font.rb +0 -49
- data/lib/shoes/gradient.rb +0 -18
- data/lib/shoes/image.rb +0 -33
- data/lib/shoes/image_pattern.rb +0 -10
- data/lib/shoes/input_box.rb +0 -68
- data/lib/shoes/key_event.rb +0 -17
- data/lib/shoes/line.rb +0 -38
- data/lib/shoes/link.rb +0 -49
- data/lib/shoes/link_hover.rb +0 -5
- data/lib/shoes/list_box.rb +0 -44
- data/lib/shoes/logger.rb +0 -66
- data/lib/shoes/logger/ruby.rb +0 -18
- data/lib/shoes/mock.rb +0 -30
- data/lib/shoes/mock/animation.rb +0 -8
- data/lib/shoes/mock/app.rb +0 -44
- data/lib/shoes/mock/arc.rb +0 -8
- data/lib/shoes/mock/background.rb +0 -10
- data/lib/shoes/mock/border.rb +0 -7
- data/lib/shoes/mock/button.rb +0 -10
- data/lib/shoes/mock/check.rb +0 -24
- data/lib/shoes/mock/common_methods.rb +0 -11
- data/lib/shoes/mock/dialog.rb +0 -13
- data/lib/shoes/mock/download.rb +0 -18
- data/lib/shoes/mock/font.rb +0 -17
- data/lib/shoes/mock/image.rb +0 -12
- data/lib/shoes/mock/image_pattern.rb +0 -9
- data/lib/shoes/mock/input_box.rb +0 -23
- data/lib/shoes/mock/keypress.rb +0 -8
- data/lib/shoes/mock/keyrelease.rb +0 -8
- data/lib/shoes/mock/line.rb +0 -14
- data/lib/shoes/mock/link.rb +0 -11
- data/lib/shoes/mock/list_box.rb +0 -16
- data/lib/shoes/mock/oval.rb +0 -11
- data/lib/shoes/mock/progress.rb +0 -10
- data/lib/shoes/mock/radio.rb +0 -26
- data/lib/shoes/mock/rect.rb +0 -13
- data/lib/shoes/mock/shape.rb +0 -19
- data/lib/shoes/mock/slot.rb +0 -14
- data/lib/shoes/mock/sound.rb +0 -8
- data/lib/shoes/mock/star.rb +0 -13
- data/lib/shoes/mock/text_block.rb +0 -29
- data/lib/shoes/mock/timer.rb +0 -8
- data/lib/shoes/oval.rb +0 -28
- data/lib/shoes/point.rb +0 -43
- data/lib/shoes/progress.rb +0 -26
- data/lib/shoes/radio.rb +0 -15
- data/lib/shoes/rect.rb +0 -28
- data/lib/shoes/renamed_delegate.rb +0 -15
- data/lib/shoes/shape.rb +0 -175
- data/lib/shoes/slot.rb +0 -232
- data/lib/shoes/slot_contents.rb +0 -56
- data/lib/shoes/sound.rb +0 -16
- data/lib/shoes/span.rb +0 -16
- data/lib/shoes/star.rb +0 -49
- data/lib/shoes/swt.rb +0 -114
- data/lib/shoes/swt/animation.rb +0 -46
- data/lib/shoes/swt/app.rb +0 -300
- data/lib/shoes/swt/arc.rb +0 -70
- data/lib/shoes/swt/background.rb +0 -31
- data/lib/shoes/swt/border.rb +0 -37
- data/lib/shoes/swt/button.rb +0 -18
- data/lib/shoes/swt/check.rb +0 -14
- data/lib/shoes/swt/check_button.rb +0 -19
- data/lib/shoes/swt/color.rb +0 -45
- data/lib/shoes/swt/common/child.rb +0 -16
- data/lib/shoes/swt/common/clear.rb +0 -24
- data/lib/shoes/swt/common/clickable.rb +0 -62
- data/lib/shoes/swt/common/container.rb +0 -28
- data/lib/shoes/swt/common/fill.rb +0 -37
- data/lib/shoes/swt/common/painter.rb +0 -83
- data/lib/shoes/swt/common/painter_updates_position.rb +0 -12
- data/lib/shoes/swt/common/resource.rb +0 -14
- data/lib/shoes/swt/common/selection_listener.rb +0 -14
- data/lib/shoes/swt/common/stroke.rb +0 -41
- data/lib/shoes/swt/common/toggle.rb +0 -13
- data/lib/shoes/swt/common/update_position.rb +0 -15
- data/lib/shoes/swt/dialog.rb +0 -89
- data/lib/shoes/swt/disposed_protection.rb +0 -23
- data/lib/shoes/swt/download.rb +0 -24
- data/lib/shoes/swt/fitted_text_layout.rb +0 -94
- data/lib/shoes/swt/fitted_text_layout_collection.rb +0 -108
- data/lib/shoes/swt/font.rb +0 -32
- data/lib/shoes/swt/gradient.rb +0 -77
- data/lib/shoes/swt/image.rb +0 -130
- data/lib/shoes/swt/image_pattern.rb +0 -19
- data/lib/shoes/swt/input_box.rb +0 -73
- data/lib/shoes/swt/key_listener.rb +0 -145
- data/lib/shoes/swt/line.rb +0 -57
- data/lib/shoes/swt/link.rb +0 -37
- data/lib/shoes/swt/link_segment.rb +0 -108
- data/lib/shoes/swt/list_box.rb +0 -49
- data/lib/shoes/swt/mouse_move_listener.rb +0 -61
- data/lib/shoes/swt/oval.rb +0 -53
- data/lib/shoes/swt/progress.rb +0 -35
- data/lib/shoes/swt/radio.rb +0 -29
- data/lib/shoes/swt/radio_group.rb +0 -54
- data/lib/shoes/swt/rect.rb +0 -31
- data/lib/shoes/swt/rect_painter.rb +0 -23
- data/lib/shoes/swt/redrawing_aspect.rb +0 -122
- data/lib/shoes/swt/shape.rb +0 -101
- data/lib/shoes/swt/shoes_layout.rb +0 -43
- data/lib/shoes/swt/slot.rb +0 -25
- data/lib/shoes/swt/sound.rb +0 -119
- data/lib/shoes/swt/star.rb +0 -51
- data/lib/shoes/swt/swt_button.rb +0 -49
- data/lib/shoes/swt/text_block.rb +0 -133
- data/lib/shoes/swt/text_block_cursor_painter.rb +0 -112
- data/lib/shoes/swt/text_block_fitter.rb +0 -180
- data/lib/shoes/swt/text_block_painter.rb +0 -49
- data/lib/shoes/swt/text_font_factory.rb +0 -27
- data/lib/shoes/swt/text_style_factory.rb +0 -88
- data/lib/shoes/swt/timer.rb +0 -19
- data/lib/shoes/swt/tooling/leak_hunter.rb +0 -84
- data/lib/shoes/text.rb +0 -14
- data/lib/shoes/text_block.rb +0 -162
- data/lib/shoes/timer.rb +0 -10
- data/lib/shoes/url.rb +0 -47
- data/lib/shoes/widget.rb +0 -73
- data/lib/support/jl1.0.1.jar +0 -0
- data/lib/support/jogg-0.0.7.jar +0 -0
- data/lib/support/jorbis-0.0.15.jar +0 -0
- data/lib/support/log4j-1.2.16.jar +0 -0
- data/lib/support/mp3spi1.9.5.jar +0 -0
- data/lib/support/tritonus_share.jar +0 -0
- data/lib/support/vorbisspi1.0.3.jar +0 -0
- data/samples/good-clock-adjusted.rb +0 -49
- data/spec/async_helper.rb +0 -21
- data/spec/code_coverage.rb +0 -11
- data/spec/shoes/animation_spec.rb +0 -65
- data/spec/shoes/app_spec.rb +0 -411
- data/spec/shoes/arc_spec.rb +0 -53
- data/spec/shoes/background_spec.rb +0 -48
- data/spec/shoes/border_spec.rb +0 -43
- data/spec/shoes/builtin_methods_spec.rb +0 -84
- data/spec/shoes/button_spec.rb +0 -41
- data/spec/shoes/check_spec.rb +0 -31
- data/spec/shoes/cli_spec.rb +0 -16
- data/spec/shoes/color_spec.rb +0 -396
- data/spec/shoes/common/style_normalizer_spec.rb +0 -28
- data/spec/shoes/common/style_spec.rb +0 -58
- data/spec/shoes/configuration_spec.rb +0 -37
- data/spec/shoes/constants_spec.rb +0 -38
- data/spec/shoes/dialog_spec.rb +0 -163
- data/spec/shoes/dimension_spec.rb +0 -381
- data/spec/shoes/dimensions_spec.rb +0 -831
- data/spec/shoes/download_spec.rb +0 -133
- data/spec/shoes/flow_spec.rb +0 -92
- data/spec/shoes/font_spec.rb +0 -38
- data/spec/shoes/framework_learning_spec.rb +0 -30
- data/spec/shoes/helpers/fake_element.rb +0 -11
- data/spec/shoes/helpers/sample17_helper.rb +0 -66
- data/spec/shoes/image_spec.rb +0 -45
- data/spec/shoes/images/shoe.jpg +0 -0
- data/spec/shoes/input_box_spec.rb +0 -44
- data/spec/shoes/integration_spec.rb +0 -20
- data/spec/shoes/keypress_spec.rb +0 -11
- data/spec/shoes/keyrelease_spec.rb +0 -12
- data/spec/shoes/line_spec.rb +0 -47
- data/spec/shoes/link_spec.rb +0 -89
- data/spec/shoes/list_box_spec.rb +0 -63
- data/spec/shoes/logger/ruby_spec.rb +0 -9
- data/spec/shoes/logger_spec.rb +0 -45
- data/spec/shoes/oval_spec.rb +0 -20
- data/spec/shoes/point_spec.rb +0 -51
- data/spec/shoes/progress_spec.rb +0 -40
- data/spec/shoes/radio_spec.rb +0 -28
- data/spec/shoes/rect_spec.rb +0 -38
- data/spec/shoes/renamed_delegate_spec.rb +0 -70
- data/spec/shoes/shape_spec.rb +0 -54
- data/spec/shoes/shared_examples/button.rb +0 -6
- data/spec/shoes/shared_examples/changeable.rb +0 -26
- data/spec/shoes/shared_examples/clickable.rb +0 -5
- data/spec/shoes/shared_examples/common_methods.rb +0 -42
- data/spec/shoes/shared_examples/dimensions.rb +0 -32
- data/spec/shoes/shared_examples/dsl.rb +0 -42
- data/spec/shoes/shared_examples/dsl/animate.rb +0 -29
- data/spec/shoes/shared_examples/dsl/arc.rb +0 -45
- data/spec/shoes/shared_examples/dsl/background.rb +0 -26
- data/spec/shoes/shared_examples/dsl/border.rb +0 -10
- data/spec/shoes/shared_examples/dsl/cap.rb +0 -6
- data/spec/shoes/shared_examples/dsl/check.rb +0 -11
- data/spec/shoes/shared_examples/dsl/edit_box.rb +0 -8
- data/spec/shoes/shared_examples/dsl/edit_line.rb +0 -8
- data/spec/shoes/shared_examples/dsl/editable_element.rb +0 -29
- data/spec/shoes/shared_examples/dsl/fill.rb +0 -27
- data/spec/shoes/shared_examples/dsl/flow.rb +0 -15
- data/spec/shoes/shared_examples/dsl/gradient.rb +0 -52
- data/spec/shoes/shared_examples/dsl/image.rb +0 -21
- data/spec/shoes/shared_examples/dsl/line.rb +0 -9
- data/spec/shoes/shared_examples/dsl/nofill.rb +0 -6
- data/spec/shoes/shared_examples/dsl/nostroke.rb +0 -6
- data/spec/shoes/shared_examples/dsl/oval.rb +0 -60
- data/spec/shoes/shared_examples/dsl/pattern.rb +0 -34
- data/spec/shoes/shared_examples/dsl/progress.rb +0 -7
- data/spec/shoes/shared_examples/dsl/rect.rb +0 -92
- data/spec/shoes/shared_examples/dsl/rgb.rb +0 -26
- data/spec/shoes/shared_examples/dsl/shape.rb +0 -21
- data/spec/shoes/shared_examples/dsl/star.rb +0 -48
- data/spec/shoes/shared_examples/dsl/stroke.rb +0 -30
- data/spec/shoes/shared_examples/dsl/strokewidth.rb +0 -19
- data/spec/shoes/shared_examples/dsl/style.rb +0 -32
- data/spec/shoes/shared_examples/dsl/text_elements.rb +0 -81
- data/spec/shoes/shared_examples/dsl_app_context.rb +0 -8
- data/spec/shoes/shared_examples/hover_leave.rb +0 -11
- data/spec/shoes/shared_examples/parent.rb +0 -6
- data/spec/shoes/shared_examples/shared_element_method.rb +0 -52
- data/spec/shoes/shared_examples/slot.rb +0 -272
- data/spec/shoes/shared_examples/state.rb +0 -19
- data/spec/shoes/shared_examples/style.rb +0 -24
- data/spec/shoes/slot_spec.rb +0 -60
- data/spec/shoes/sound_spec.rb +0 -15
- data/spec/shoes/span_spec.rb +0 -94
- data/spec/shoes/spec_helper.rb +0 -1
- data/spec/shoes/stack_spec.rb +0 -53
- data/spec/shoes/star_spec.rb +0 -30
- data/spec/shoes/text_block_spec.rb +0 -242
- data/spec/shoes/url_spec.rb +0 -66
- data/spec/shoes/widget_spec.rb +0 -34
- data/spec/shoes_spec.rb +0 -44
- data/spec/spec_helper.rb +0 -16
- data/spec/swt_shoes/animation_spec.rb +0 -86
- data/spec/swt_shoes/app_spec.rb +0 -75
- data/spec/swt_shoes/arc_spec.rb +0 -101
- data/spec/swt_shoes/background_spec.rb +0 -56
- data/spec/swt_shoes/border_spec.rb +0 -51
- data/spec/swt_shoes/button_spec.rb +0 -101
- data/spec/swt_shoes/check_spec.rb +0 -28
- data/spec/swt_shoes/color_spec.rb +0 -67
- data/spec/swt_shoes/common/painter_spec.rb +0 -29
- data/spec/swt_shoes/configuration_spec.rb +0 -12
- data/spec/swt_shoes/dialog_spec.rb +0 -106
- data/spec/swt_shoes/disposed_protection_spec.rb +0 -49
- data/spec/swt_shoes/fitted_text_layout_collection_spec.rb +0 -174
- data/spec/swt_shoes/fitted_text_layout_spec.rb +0 -130
- data/spec/swt_shoes/flow_spec.rb +0 -26
- data/spec/swt_shoes/font_spec.rb +0 -33
- data/spec/swt_shoes/gradient_spec.rb +0 -20
- data/spec/swt_shoes/image_pattern_spec.rb +0 -19
- data/spec/swt_shoes/image_spec.rb +0 -100
- data/spec/swt_shoes/input_box_spec.rb +0 -110
- data/spec/swt_shoes/integration_spec.rb +0 -18
- data/spec/swt_shoes/key_listener_spec.rb +0 -320
- data/spec/swt_shoes/line_spec.rb +0 -43
- data/spec/swt_shoes/link_segment_spec.rb +0 -103
- data/spec/swt_shoes/link_spec.rb +0 -59
- data/spec/swt_shoes/list_box_spec.rb +0 -51
- data/spec/swt_shoes/minimal.png +0 -0
- data/spec/swt_shoes/mouse_move_listener_spec.rb +0 -129
- data/spec/swt_shoes/oval_spec.rb +0 -51
- data/spec/swt_shoes/progress_spec.rb +0 -44
- data/spec/swt_shoes/radio_group_spec.rb +0 -73
- data/spec/swt_shoes/radio_spec.rb +0 -56
- data/spec/swt_shoes/rect_painter_spec.rb +0 -45
- data/spec/swt_shoes/rect_spec.rb +0 -19
- data/spec/swt_shoes/shape_spec.rb +0 -81
- data/spec/swt_shoes/shared_examples/button.rb +0 -24
- data/spec/swt_shoes/shared_examples/clearable.rb +0 -32
- data/spec/swt_shoes/shared_examples/clickable.rb +0 -60
- data/spec/swt_shoes/shared_examples/movable.rb +0 -36
- data/spec/swt_shoes/shared_examples/paintable_spec.rb +0 -7
- data/spec/swt_shoes/shared_examples/painter.rb +0 -83
- data/spec/swt_shoes/shared_examples/pattern.rb +0 -32
- data/spec/swt_shoes/shared_examples/swt_app_context.rb +0 -17
- data/spec/swt_shoes/shared_examples/togglable.rb +0 -15
- data/spec/swt_shoes/shell_control_listener_spec.rb +0 -23
- data/spec/swt_shoes/sound.rb +0 -10
- data/spec/swt_shoes/spec_helper.rb +0 -31
- data/spec/swt_shoes/star_spec.rb +0 -47
- data/spec/swt_shoes/text_block_cursor_painter_spec.rb +0 -202
- data/spec/swt_shoes/text_block_fitter_spec.rb +0 -181
- data/spec/swt_shoes/text_block_painter_spec.rb +0 -221
- data/spec/swt_shoes/text_block_spec.rb +0 -183
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
shared_examples_for "editable element" do
|
|
2
|
-
subject { super.public_send(dsl_method, *args) }
|
|
3
|
-
|
|
4
|
-
describe "with no arguments" do
|
|
5
|
-
let(:args) { [] }
|
|
6
|
-
its(:initial_text) { should == '' }
|
|
7
|
-
its(:width) { should == klazz::DEFAULT_STYLE[:width] }
|
|
8
|
-
its(:height) { should == klazz::DEFAULT_STYLE[:height] }
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
describe "with a single text argument" do
|
|
12
|
-
let(:args) { ['Hello text here'] }
|
|
13
|
-
|
|
14
|
-
its(:initial_text) { should == 'Hello text here' }
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe "with a style hash" do
|
|
18
|
-
let(:args) { [{width: 100, height: 50}] }
|
|
19
|
-
|
|
20
|
-
its(:initial_text) { should == '' }
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
describe "with a text argument and a style hash" do
|
|
24
|
-
let(:args) { ['Hello text here', {width: 100, height: 50}] }
|
|
25
|
-
its(:initial_text) { should == 'Hello text here' }
|
|
26
|
-
its(:width) { should == 100 }
|
|
27
|
-
its(:height) { should == 50 }
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
shared_examples_for "fill DSL method" do
|
|
2
|
-
let(:color) { Shoes::COLORS.fetch :tomato }
|
|
3
|
-
|
|
4
|
-
it "returns a color" do
|
|
5
|
-
dsl.fill(color).class.should eq(Shoes::Color)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
# This works differently on a container than on a normal element
|
|
9
|
-
it "sets on receiver" do
|
|
10
|
-
dsl.fill color
|
|
11
|
-
dsl.style[:fill].should eq(color)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it "applies to subsequently created objects" do
|
|
15
|
-
dsl.fill color
|
|
16
|
-
oval = dsl.oval(10, 10, 100, 100)
|
|
17
|
-
oval.fill.should eq(color)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
context "with hex string" do
|
|
21
|
-
let(:color) { "#fff" }
|
|
22
|
-
|
|
23
|
-
it "sets the color" do
|
|
24
|
-
dsl.fill(color).should eq(Shoes::COLORS[:white])
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
shared_examples_for "flow DSL method" do
|
|
2
|
-
let(:flow) {dsl.flow}
|
|
3
|
-
|
|
4
|
-
it "creates a Shoes::Flow" do
|
|
5
|
-
expect(flow).to be_an_instance_of(Shoes::Flow)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it 'reports an instance of Shoes::App when asked for its app' do
|
|
9
|
-
expect(flow.app.class).to eq Shoes::App
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it 'reports an object that responds to stack when asked for its app' do
|
|
13
|
-
expect(flow.app).to respond_to :stack
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
shared_examples_for "creating gradient" do
|
|
2
|
-
it "returns correct gradient" do
|
|
3
|
-
gradient.to_s.should eq("<Shoes::Gradient #ff0000->#0000ff>")
|
|
4
|
-
end
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
shared_examples_for "gradient DSL method" do
|
|
8
|
-
context "with colors" do
|
|
9
|
-
let(:red) { Shoes::Color.new(255, 0, 0) }
|
|
10
|
-
let(:blue) { Shoes::Color.new(0, 0, 255) }
|
|
11
|
-
|
|
12
|
-
context "two separate" do
|
|
13
|
-
it_behaves_like "creating gradient" do
|
|
14
|
-
let(:gradient) { dsl.gradient(red, blue) }
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
context "as range" do
|
|
19
|
-
it_behaves_like "creating gradient" do
|
|
20
|
-
let(:gradient) { dsl.gradient(red..blue) }
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
context "with strings" do
|
|
26
|
-
let(:red) { "#f00" }
|
|
27
|
-
let(:blue) { "#00f" }
|
|
28
|
-
|
|
29
|
-
context "two separate" do
|
|
30
|
-
it_behaves_like "creating gradient" do
|
|
31
|
-
let(:gradient) { dsl.gradient(red, blue) }
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
context "as range" do
|
|
36
|
-
it_behaves_like "creating gradient" do
|
|
37
|
-
let(:gradient) { dsl.gradient(red..blue) }
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
context "with gradient" do
|
|
43
|
-
it_behaves_like "creating gradient" do
|
|
44
|
-
let(:gradient_arg) { dsl.gradient("#f00", "#00f") }
|
|
45
|
-
let(:gradient) { dsl.gradient(gradient_arg) }
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
it "fails on bad input" do
|
|
50
|
-
lambda { dsl.gradient(100) }.should raise_error(ArgumentError)
|
|
51
|
-
end
|
|
52
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
shared_examples_for "image DSL method" do
|
|
2
|
-
let(:path) { Shoes::DIR + '/static/shoes-icon.png' }
|
|
3
|
-
let(:opts) { {} }
|
|
4
|
-
let(:image) { dsl.image path, opts }
|
|
5
|
-
|
|
6
|
-
it 'should set the path' do
|
|
7
|
-
image.file_path.should == path
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
context 'with :top and :left style attributes' do
|
|
11
|
-
let(:opts) { {left: 55, top: 66} }
|
|
12
|
-
|
|
13
|
-
it 'should set the left' do
|
|
14
|
-
image.left.should == 55
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
it 'should set the top' do
|
|
18
|
-
image.top.should == 66
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
shared_examples_for "an oval/circle element" do
|
|
2
|
-
it "makes a Shoes::Oval" do
|
|
3
|
-
oval.should be_instance_of(Shoes::Oval)
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
it "sets the proper dimensions" do
|
|
7
|
-
oval.top.should eq(top)
|
|
8
|
-
oval.left.should eq(left)
|
|
9
|
-
oval.width.should eq(width)
|
|
10
|
-
oval.height.should eq(height)
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
shared_examples_for "oval DSL method" do
|
|
15
|
-
let(:left) { 20 }
|
|
16
|
-
let(:top) { 30 }
|
|
17
|
-
let(:width) { 100 }
|
|
18
|
-
let(:height) { 200 }
|
|
19
|
-
|
|
20
|
-
let(:oval) { dsl.oval(left, top, width, height) }
|
|
21
|
-
|
|
22
|
-
context "eccentric, from explicit arguments" do
|
|
23
|
-
it_behaves_like "an oval/circle element"
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it "raises an ArgumentError" do
|
|
27
|
-
lambda { dsl.oval(10) }.should raise_error(ArgumentError)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
context "a circle" do
|
|
31
|
-
let(:width) { height }
|
|
32
|
-
|
|
33
|
-
describe "when constructed from explicit arguments" do
|
|
34
|
-
it_behaves_like "an oval/circle element"
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe "when constructed with a top, left and diameter" do
|
|
38
|
-
let(:circle) { dsl.oval(left, top, width) }
|
|
39
|
-
it_behaves_like "an oval/circle element"
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
describe "when constructing from a style hash" do
|
|
43
|
-
describe "using left, top, height, width" do
|
|
44
|
-
let(:circle) { dsl.oval(left: left, top: top, width: width, height: height) }
|
|
45
|
-
it_behaves_like "an oval/circle element"
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
describe "using left, top, height, width, center: false" do
|
|
49
|
-
let(:circle) { dsl.oval(left: left, top: top, width: width, height: height, center: false) }
|
|
50
|
-
it_behaves_like "an oval/circle element"
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
describe "using left, top, diameter" do
|
|
54
|
-
let(:circle) { dsl.oval(left: left, top: top, diameter: width) }
|
|
55
|
-
it_behaves_like "an oval/circle element"
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
shared_examples_for "pattern DSL method" do
|
|
2
|
-
let(:honeydew) { Shoes::COLORS[:honeydew] }
|
|
3
|
-
let(:salmon) { Shoes::COLORS[:salmon] }
|
|
4
|
-
|
|
5
|
-
context "with single color" do
|
|
6
|
-
let(:pattern) { dsl.pattern honeydew }
|
|
7
|
-
it "returns the color" do
|
|
8
|
-
pattern.should eq(honeydew)
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
context "with color range" do
|
|
13
|
-
let(:pattern) { dsl.pattern honeydew..salmon }
|
|
14
|
-
|
|
15
|
-
it "returns a gradient" do
|
|
16
|
-
pattern.should eq(dsl.gradient honeydew..salmon)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
context "with single string" do
|
|
21
|
-
let(:pattern) { dsl.pattern honeydew.hex }
|
|
22
|
-
it "returns the color" do
|
|
23
|
-
pattern.should eq(honeydew)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
context "with string range" do
|
|
28
|
-
let(:pattern) { dsl.pattern honeydew.hex..salmon.hex }
|
|
29
|
-
|
|
30
|
-
it "returns a gradient" do
|
|
31
|
-
pattern.should eq(dsl.gradient honeydew..salmon)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
shared_examples_for "rectangle dimensions" do
|
|
2
|
-
it "makes a Shoes::Rect" do
|
|
3
|
-
rect.should be_an_instance_of(Shoes::Rect)
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
it "sets proper dimensions" do
|
|
7
|
-
rect.left.should eq(left)
|
|
8
|
-
rect.top.should eq(top)
|
|
9
|
-
rect.width.should eq(width)
|
|
10
|
-
rect.height.should eq(height)
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
shared_examples_for "rect DSL method" do
|
|
15
|
-
let(:left) { 40 }
|
|
16
|
-
let(:top) { 30 }
|
|
17
|
-
let(:curve) { 12 }
|
|
18
|
-
|
|
19
|
-
it "raises an ArgumentError" do
|
|
20
|
-
lambda { dsl.rect(30) }.should raise_exception(ArgumentError)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
context 'unequal sides' do
|
|
24
|
-
let(:width) { 200 }
|
|
25
|
-
let(:height) { 100 }
|
|
26
|
-
|
|
27
|
-
context "from explicit arguments" do
|
|
28
|
-
let(:rect) { dsl.rect left, top, width, height }
|
|
29
|
-
|
|
30
|
-
include_examples "rectangle dimensions"
|
|
31
|
-
|
|
32
|
-
it "defaults to corner radius of 0" do
|
|
33
|
-
rect.corners.should eq(0)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
context "round corners, from explicit arguments" do
|
|
38
|
-
let(:rect) { dsl.rect left, top, width, height, curve }
|
|
39
|
-
|
|
40
|
-
include_examples "rectangle dimensions"
|
|
41
|
-
|
|
42
|
-
it "sets corner radius" do
|
|
43
|
-
rect.corners.should eq(curve)
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
context "from style hash" do
|
|
48
|
-
let(:rect) { dsl.rect left: left, top: top, width: width, height: height }
|
|
49
|
-
|
|
50
|
-
include_examples "rectangle dimensions"
|
|
51
|
-
|
|
52
|
-
it "defaults to corner radius of 0" do
|
|
53
|
-
rect.corners.should eq(0)
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
context "rounded corners, from style hash" do
|
|
58
|
-
let(:rect) { dsl.rect left: left, top: top, width: width, height: height, curve: curve }
|
|
59
|
-
|
|
60
|
-
include_examples "rectangle dimensions"
|
|
61
|
-
|
|
62
|
-
it "sets corner radius" do
|
|
63
|
-
rect.corners.should eq(curve)
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
context "square" do
|
|
69
|
-
let(:width) { 200 }
|
|
70
|
-
let(:height) { 200 }
|
|
71
|
-
|
|
72
|
-
context "from explicit arguments" do
|
|
73
|
-
let(:rect) { dsl.rect left, top, width }
|
|
74
|
-
|
|
75
|
-
include_examples "rectangle dimensions"
|
|
76
|
-
|
|
77
|
-
it "defaults to corner radius of 0" do
|
|
78
|
-
rect.corners.should eq(0)
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
context "square, from style hash" do
|
|
83
|
-
let(:rect) { dsl.rect left: left, top: top, width: width }
|
|
84
|
-
|
|
85
|
-
include_examples "rectangle dimensions"
|
|
86
|
-
|
|
87
|
-
it "defaults to corner radius of 0" do
|
|
88
|
-
rect.corners.should eq(0)
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
shared_examples_for "rgb DSL method" do
|
|
2
|
-
let(:red) { 100 }
|
|
3
|
-
let(:green) { 149 }
|
|
4
|
-
let(:blue) { 237 }
|
|
5
|
-
let(:alpha) { 133 } # cornflowerblue
|
|
6
|
-
|
|
7
|
-
it "sends args to Shoes::Color" do
|
|
8
|
-
Shoes::Color.should_receive(:new).with(red, green, blue, alpha)
|
|
9
|
-
dsl.rgb(red, green, blue, alpha)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "defaults to opaque" do
|
|
13
|
-
Shoes::Color.should_receive(:new).with(red, green, blue, Shoes::Color::OPAQUE)
|
|
14
|
-
dsl.rgb(red, green, blue)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe "named color method" do
|
|
18
|
-
it "produces correct color" do
|
|
19
|
-
dsl.cornflowerblue.should eq(Shoes::Color.new red, green, blue)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "accepts alpha arg" do
|
|
23
|
-
dsl.cornflowerblue(alpha).should eq(Shoes::Color.new red, green, blue, alpha)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
shared_examples_for "shape DSL method" do
|
|
2
|
-
let(:shape) {
|
|
3
|
-
dsl.shape {
|
|
4
|
-
move_to 400, 300
|
|
5
|
-
line_to 400, 200
|
|
6
|
-
line_to 100, 100
|
|
7
|
-
line_to 400, 300
|
|
8
|
-
quad_to 100, 100, 20, 200
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
it "creates a Shoes::Shape" do
|
|
13
|
-
shape.should be_an_instance_of(Shoes::Shape)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
it "receives style from app" do
|
|
17
|
-
green = Shoes::COLORS.fetch :green
|
|
18
|
-
dsl.style[:stroke] = green
|
|
19
|
-
shape.stroke.should eq(green)
|
|
20
|
-
end
|
|
21
|
-
end
|