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
data/spec/shoes/rect_spec.rb
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
require 'shoes/spec_helper'
|
|
2
|
-
|
|
3
|
-
shared_examples_for "basic rect" do
|
|
4
|
-
it "retains app" do
|
|
5
|
-
expect(rect.app).to eq(app)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "creates gui object" do
|
|
9
|
-
expect(rect.gui).not_to be_nil
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe Shoes::Rect do
|
|
14
|
-
include_context "dsl app"
|
|
15
|
-
|
|
16
|
-
let(:parent) { app }
|
|
17
|
-
let(:left) { 44 }
|
|
18
|
-
let(:top) { 66 }
|
|
19
|
-
let(:width) { 111 }
|
|
20
|
-
let(:height) { 333 }
|
|
21
|
-
subject(:rect) { Shoes::Rect.new(app, parent, left, top, width, height) }
|
|
22
|
-
|
|
23
|
-
describe '#style' do
|
|
24
|
-
it 'restyles handed in fill colors (even the weird ones)' do
|
|
25
|
-
subject.style fill: 'fff'
|
|
26
|
-
expect(subject.style[:fill]).to eq Shoes::Color.new 255, 255, 255
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it_behaves_like "basic rect"
|
|
31
|
-
it_behaves_like "object with fill"
|
|
32
|
-
it_behaves_like "object with stroke"
|
|
33
|
-
it_behaves_like "object with style"
|
|
34
|
-
it_behaves_like "object with dimensions"
|
|
35
|
-
it_behaves_like "movable object"
|
|
36
|
-
it_behaves_like "left, top as center"
|
|
37
|
-
it_behaves_like 'object with parent'
|
|
38
|
-
end
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe RenamedDelegate do
|
|
4
|
-
|
|
5
|
-
class ToDelegate
|
|
6
|
-
def method_key
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def abcd
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def key
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def bla_key
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def method_something
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def key_something
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
class TestClass
|
|
26
|
-
extend RenamedDelegate
|
|
27
|
-
|
|
28
|
-
attr_reader :delegate
|
|
29
|
-
|
|
30
|
-
def initialize(delegate)
|
|
31
|
-
@delegate = delegate
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
TestClass.renamed_delegate_to :delegate,
|
|
36
|
-
ToDelegate.public_instance_methods(false),
|
|
37
|
-
{'key' => 'shoes', 'something' => 'awesome'}
|
|
38
|
-
|
|
39
|
-
let(:delegate) {double('delegate').as_null_object}
|
|
40
|
-
subject {TestClass.new delegate}
|
|
41
|
-
|
|
42
|
-
def test_renaming(new_name, old_name)
|
|
43
|
-
subject.public_send new_name
|
|
44
|
-
expect(delegate).to have_received old_name
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it 'delegates method_shoes to method_key' do
|
|
48
|
-
test_renaming :method_shoes, :method_key
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it 'delegates shoes to key' do
|
|
52
|
-
test_renaming :shoes, :key
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
it 'delegates bla_shoes to bla_key' do
|
|
56
|
-
test_renaming :bla_shoes, :bla_key
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
it 'delegates method_awesome to method_something' do
|
|
60
|
-
test_renaming :method_awesome, :method_something
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it 'also applies multiple renamings' do
|
|
64
|
-
test_renaming :shoes_awesome, :key_something
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it 'does not define a method for methods without renamings' do
|
|
68
|
-
expect(subject).not_to respond_to :abcd
|
|
69
|
-
end
|
|
70
|
-
end
|
data/spec/shoes/shape_spec.rb
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
require 'shoes/spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Shoes::Shape do
|
|
4
|
-
include_context "dsl app"
|
|
5
|
-
|
|
6
|
-
subject { Shoes::Shape.new(app) {} }
|
|
7
|
-
|
|
8
|
-
it_behaves_like "object with stroke"
|
|
9
|
-
it_behaves_like "object with style"
|
|
10
|
-
it_behaves_like "movable object"
|
|
11
|
-
|
|
12
|
-
describe "octagon" do
|
|
13
|
-
let(:draw) {
|
|
14
|
-
Proc.new {
|
|
15
|
-
xs = [200, 300, 370, 370, 300, 200, 130, 130]
|
|
16
|
-
ys = [100, 100, 170, 270, 340, 340, 270, 170]
|
|
17
|
-
move_to xs.first, ys.first
|
|
18
|
-
xs.zip(ys).each do |x, y|
|
|
19
|
-
line_to(x, y)
|
|
20
|
-
end
|
|
21
|
-
line_to xs.first, ys.first
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
subject { Shoes::Shape.new app, Hash.new, draw }
|
|
25
|
-
|
|
26
|
-
its(:left) { should eq(130) }
|
|
27
|
-
its(:top) { should eq(100) }
|
|
28
|
-
its(:right) { should eq(370) }
|
|
29
|
-
its(:bottom) { should eq(340) }
|
|
30
|
-
its(:width) { should eq(app.width) }
|
|
31
|
-
its(:height) { should eq app.height }
|
|
32
|
-
|
|
33
|
-
it_behaves_like "movable object"
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
describe "curve" do
|
|
37
|
-
let(:draw) {
|
|
38
|
-
Proc.new {
|
|
39
|
-
move_to 10, 10
|
|
40
|
-
curve_to 20, 30, 100, 200, 50, 50
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
subject { Shoes::Shape.new app, Hash.new, draw }
|
|
44
|
-
|
|
45
|
-
its(:left) { should eq(10) }
|
|
46
|
-
its(:top) { should eq(10) }
|
|
47
|
-
its(:right) { should eq(100) }
|
|
48
|
-
its(:bottom) { should eq(200) }
|
|
49
|
-
its(:width) { should eq(app.width) }
|
|
50
|
-
its(:height) { should eq app.height }
|
|
51
|
-
|
|
52
|
-
it_behaves_like "movable object"
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
shared_examples "an element that can respond to change" do
|
|
2
|
-
describe "when passing a block to the constructor" do
|
|
3
|
-
it "should notify the block of change events" do
|
|
4
|
-
input_block.should_receive(:call).with(subject)
|
|
5
|
-
subject.call_change_listeners
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
describe "when setting up a callback with #change" do
|
|
10
|
-
it "should notify the callback of change events" do
|
|
11
|
-
called = false
|
|
12
|
-
subject.change do |element|
|
|
13
|
-
called = true
|
|
14
|
-
end
|
|
15
|
-
subject.call_change_listeners
|
|
16
|
-
called.should be_true
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "should pass the element itself to the callback" do
|
|
20
|
-
subject.change do |element|
|
|
21
|
-
element.should == subject
|
|
22
|
-
end
|
|
23
|
-
subject.call_change_listeners
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
shared_examples_for "movable object" do
|
|
2
|
-
it "moves" do
|
|
3
|
-
subject.instance_variable_set(:@app, app)
|
|
4
|
-
subject.move(300, 200).should eq(subject)
|
|
5
|
-
expect(subject.left).to eq(300)
|
|
6
|
-
expect(subject.top).to eq(200)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
describe "displacing" do
|
|
10
|
-
it "displaces backend object" do
|
|
11
|
-
expect(subject.gui).to receive(:update_position)
|
|
12
|
-
subject.displace(300, 200)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "does not change reported values of #left and #top" do
|
|
16
|
-
# no error from calling set location with nil values due to unset values
|
|
17
|
-
subject.gui.stub :update_position
|
|
18
|
-
original_left = subject.left
|
|
19
|
-
original_top = subject.top
|
|
20
|
-
subject.displace(300, 200)
|
|
21
|
-
expect(subject.left).to eq(original_left)
|
|
22
|
-
expect(subject.top).to eq(original_top)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
shared_examples_for "clearable object" do
|
|
28
|
-
it "clears" do
|
|
29
|
-
subject.should_receive(:clear)
|
|
30
|
-
subject.clear
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
shared_examples_for "left, top as center" do | *params |
|
|
35
|
-
let(:centered_object) { described_class.new(app, parent, left, top, width, height, *params, :center => true) }
|
|
36
|
-
it "should now be located somewhere" do
|
|
37
|
-
expect(centered_object.left).to eq(left-(width/2))
|
|
38
|
-
expect(centered_object.top).to eq(top-(height/2))
|
|
39
|
-
expect(centered_object.width).to eq(width)
|
|
40
|
-
expect(centered_object.height).to eq(height)
|
|
41
|
-
end
|
|
42
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
shared_examples_for "object with dimensions" do
|
|
2
|
-
it "should initialize" do
|
|
3
|
-
subject.left.should == left
|
|
4
|
-
subject.top.should == top
|
|
5
|
-
subject.width.should == width
|
|
6
|
-
subject.height.should == height
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
shared_examples_for "object with relative dimensions" do
|
|
11
|
-
let(:relative_width) { 0.5 }
|
|
12
|
-
let(:relative_height) { 0.5 }
|
|
13
|
-
let(:relative_opts) { {left: left, top: top, width: relative_width, height: relative_height} }
|
|
14
|
-
|
|
15
|
-
it "should initialize based on parent dimensions" do
|
|
16
|
-
expect(subject.left).to eq left
|
|
17
|
-
expect(subject.top).to eq top
|
|
18
|
-
expect(subject.width).to be_within(1).of(parent.width / 2)
|
|
19
|
-
expect(subject.height).to be_within(1).of(parent.height / 2)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
shared_examples_for "object with negative dimensions" do
|
|
24
|
-
let(:negative_opts) { {left: left, top: top, width: -width, height: -height} }
|
|
25
|
-
|
|
26
|
-
it "should initialize based on parent dimensions" do
|
|
27
|
-
subject.left.should == left
|
|
28
|
-
subject.top.should == top
|
|
29
|
-
subject.width.should == parent.width - width
|
|
30
|
-
subject.height.should == parent.height - height
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# Shared examples for Shoes::App and Shoes::Slot (flow and stack).
|
|
2
|
-
# If DSL methods can be called with multiple number of arguments,
|
|
3
|
-
# and if they set certain defaults, then that what needs to be tested
|
|
4
|
-
# here.
|
|
5
|
-
# There are individual specs for the different Shoes elements, so
|
|
6
|
-
# we don't need to test how they work in details. Here we just test that
|
|
7
|
-
# the DSL methods construct elements correctly.
|
|
8
|
-
shared_examples "DSL container" do
|
|
9
|
-
let(:dsl) { app }
|
|
10
|
-
|
|
11
|
-
%w[
|
|
12
|
-
animate
|
|
13
|
-
arc
|
|
14
|
-
background
|
|
15
|
-
border
|
|
16
|
-
cap
|
|
17
|
-
check
|
|
18
|
-
edit_box
|
|
19
|
-
edit_line
|
|
20
|
-
fill
|
|
21
|
-
flow
|
|
22
|
-
gradient
|
|
23
|
-
image
|
|
24
|
-
line
|
|
25
|
-
nofill
|
|
26
|
-
nostroke
|
|
27
|
-
oval
|
|
28
|
-
pattern
|
|
29
|
-
progress
|
|
30
|
-
rect
|
|
31
|
-
rgb
|
|
32
|
-
shape
|
|
33
|
-
star
|
|
34
|
-
stroke
|
|
35
|
-
strokewidth
|
|
36
|
-
style
|
|
37
|
-
].each do |method|
|
|
38
|
-
include_examples "#{method} DSL method"
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
include_examples "text element DSL methods"
|
|
42
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
shared_examples_for "animate DSL method" do
|
|
2
|
-
context "defaults" do
|
|
3
|
-
let(:animation) { dsl.animate {} }
|
|
4
|
-
|
|
5
|
-
it "is a Shoes::Animation" do
|
|
6
|
-
expect(animation).to be_an_instance_of(Shoes::Animation)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
it "framerate is 10" do
|
|
10
|
-
expect(animation.framerate).to eq 10
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
context "with numeric argument" do
|
|
15
|
-
let(:animation) { dsl.animate(13) {} }
|
|
16
|
-
|
|
17
|
-
it "sets framerate" do
|
|
18
|
-
expect(animation.framerate).to eq(13)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
context "with hash argument" do
|
|
23
|
-
let(:animation) { dsl.animate(:framerate => 17) {} }
|
|
24
|
-
|
|
25
|
-
it "sets framerate" do
|
|
26
|
-
expect(animation.framerate).to eq(17)
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
shared_context "style context" do
|
|
2
|
-
let(:fill_color) { Shoes::COLORS.fetch(:tomato) }
|
|
3
|
-
let(:stroke_color) { Shoes::COLORS.fetch(:chartreuse) }
|
|
4
|
-
|
|
5
|
-
before :each do
|
|
6
|
-
subject.fill fill_color
|
|
7
|
-
subject.stroke stroke_color
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
shared_examples_for "persistent stroke" do
|
|
12
|
-
include_context "style context"
|
|
13
|
-
|
|
14
|
-
it "passes to element" do
|
|
15
|
-
expect(element.stroke).to eq(stroke_color)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
shared_examples_for "persistent fill" do
|
|
20
|
-
include_context "style context"
|
|
21
|
-
|
|
22
|
-
it "passes to element" do
|
|
23
|
-
expect(element.fill).to eq(fill_color)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
shared_examples_for "arc DSL method" do
|
|
28
|
-
let(:arc) { dsl.arc(13, 44, 200, 300, 0, Shoes::TWO_PI) }
|
|
29
|
-
|
|
30
|
-
it "creates a Shoes::Arc" do
|
|
31
|
-
expect(arc).to be_an_instance_of(Shoes::Arc)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "raises an ArgumentError" do
|
|
35
|
-
lambda { dsl.arc(30) }.should raise_exception(ArgumentError)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it_behaves_like "persistent fill" do
|
|
39
|
-
let(:element) { arc }
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it_behaves_like "persistent stroke" do
|
|
43
|
-
let(:element) { arc }
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
shared_examples_for "background DSL method" do
|
|
2
|
-
context "with a valid hex string" do
|
|
3
|
-
it "sets color" do
|
|
4
|
-
background = subject.background("#fff")
|
|
5
|
-
expect(background.fill).to eq(Shoes::COLORS[:white])
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
context "with an invalid hex string" do
|
|
10
|
-
it 'raises an argument error' do
|
|
11
|
-
expect{ subject.background('#ffq') }.to raise_error('Bad hex color: #ffq')
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
context 'with no valid image' do
|
|
16
|
-
it 'ignores the background' do
|
|
17
|
-
expect{ subject.background('fake-shoes.jpg') }.not_to raise_error
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
context 'with a valid image' do
|
|
22
|
-
it 'creates a Shoes::Background' do
|
|
23
|
-
expect(subject.background('static/shoes-icon.png')).to be_an_instance_of(Shoes::Background)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|