shoes-swt 4.0.0.pre2 → 4.0.0.pre3
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/README.md +5 -200
- data/Rakefile +1 -0
- data/bin/shoes-swt +11 -0
- data/lib/shoes/swt.rb +5 -2
- data/lib/shoes/swt/animation.rb +2 -2
- data/lib/shoes/swt/app.rb +45 -50
- data/lib/shoes/swt/arc.rb +7 -7
- data/lib/shoes/swt/background.rb +1 -1
- data/lib/shoes/swt/border.rb +1 -2
- data/lib/shoes/swt/click_listener.rb +70 -0
- data/lib/shoes/swt/color.rb +5 -5
- data/lib/shoes/swt/common/clickable.rb +2 -53
- data/lib/shoes/swt/common/fill.rb +1 -1
- data/lib/shoes/swt/common/painter.rb +7 -7
- data/lib/shoes/swt/common/painter_updates_position.rb +2 -2
- data/lib/shoes/swt/common/remove.rb +2 -3
- data/lib/shoes/swt/common/resource.rb +1 -1
- data/lib/shoes/swt/common/selection_listener.rb +14 -14
- data/lib/shoes/swt/common/stroke.rb +1 -2
- data/lib/shoes/swt/common/update_position.rb +1 -1
- data/lib/shoes/swt/dialog.rb +3 -45
- data/lib/shoes/swt/disposed_protection.rb +1 -1
- data/lib/shoes/swt/download.rb +0 -1
- data/lib/shoes/swt/font.rb +4 -4
- data/lib/shoes/swt/generate-backend.rb +9 -0
- data/lib/shoes/swt/gradient.rb +17 -16
- data/lib/shoes/swt/image.rb +3 -5
- data/lib/shoes/swt/image_pattern.rb +2 -2
- data/lib/shoes/swt/input_box.rb +3 -3
- data/lib/shoes/swt/key_listener.rb +6 -6
- data/lib/shoes/swt/line.rb +4 -24
- data/lib/shoes/swt/link.rb +2 -2
- data/lib/shoes/swt/link_segment.rb +3 -3
- data/lib/shoes/swt/list_box.rb +4 -4
- data/lib/shoes/swt/mouse_move_listener.rb +6 -5
- data/lib/shoes/swt/oval.rb +2 -3
- data/lib/shoes/swt/packager.rb +82 -0
- data/lib/shoes/swt/progress.rb +2 -2
- data/lib/shoes/swt/radio.rb +0 -2
- data/lib/shoes/swt/radio_group.rb +54 -54
- data/lib/shoes/swt/rect_painter.rb +7 -7
- data/lib/shoes/swt/redrawing_aspect.rb +32 -34
- data/lib/shoes/swt/shape.rb +1 -1
- data/lib/shoes/swt/shoes_layout.rb +5 -2
- data/lib/shoes/swt/slot.rb +2 -3
- data/lib/shoes/swt/sound.rb +17 -22
- data/lib/shoes/swt/star.rb +30 -8
- data/lib/shoes/swt/swt_button.rb +3 -2
- data/lib/shoes/swt/text_block.rb +3 -3
- data/lib/shoes/swt/text_block/cursor_painter.rb +2 -2
- data/lib/shoes/swt/text_block/fitter.rb +5 -3
- data/lib/shoes/swt/text_block/painter.rb +9 -9
- data/lib/shoes/swt/text_block/text_font_factory.rb +3 -3
- data/lib/shoes/swt/text_block/text_segment.rb +9 -9
- data/lib/shoes/swt/text_block/text_segment_collection.rb +2 -0
- data/lib/shoes/swt/text_block/text_style_factory.rb +9 -3
- data/lib/shoes/swt/timer.rb +1 -1
- data/lib/shoes/swt/version.rb +1 -1
- data/shoes-swt.gemspec +7 -6
- data/spec/shoes/cli_spec.rb +2 -2
- data/spec/{swt_shoes → shoes/swt}/animation_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/app_spec.rb +36 -3
- data/spec/{swt_shoes → shoes/swt}/arc_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/background_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/border_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/button_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/check_spec.rb +1 -1
- data/spec/shoes/swt/click_listener_spec.rb +162 -0
- data/spec/{swt_shoes → shoes/swt}/color_factory_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/color_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/common/painter_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/common/remove_spec.rb +4 -11
- data/spec/{swt_shoes → shoes/swt}/configuration_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/dialog_spec.rb +1 -7
- data/spec/{swt_shoes → shoes/swt}/disposed_protection_spec.rb +0 -0
- data/spec/{swt_shoes → shoes/swt}/flow_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/font_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/gradient_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/image_pattern_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/image_spec.rb +4 -3
- data/spec/{swt_shoes → shoes/swt}/input_box_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/integration_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/key_listener_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/line_spec.rb +4 -8
- data/spec/{swt_shoes → shoes/swt}/link_segment_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/link_spec.rb +3 -10
- data/spec/{swt_shoes → shoes/swt}/list_box_spec.rb +5 -3
- data/spec/{swt_shoes → shoes/swt}/minimal.png +0 -0
- data/spec/{swt_shoes → shoes/swt}/mouse_move_listener_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/oval_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/progress_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/radio_group_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/radio_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/rect_painter_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/rect_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/shape_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/shared_examples/button.rb +0 -0
- data/spec/shoes/swt/shared_examples/clickable.rb +13 -0
- data/spec/{swt_shoes → shoes/swt}/shared_examples/movable.rb +0 -0
- data/spec/{swt_shoes → shoes/swt}/shared_examples/paintable.rb +0 -0
- data/spec/{swt_shoes → shoes/swt}/shared_examples/painter.rb +0 -0
- data/spec/{swt_shoes → shoes/swt}/shared_examples/pattern.rb +0 -0
- data/spec/{swt_shoes → shoes/swt}/shared_examples/removable.rb +1 -3
- data/spec/{swt_shoes → shoes/swt}/shared_examples/swt_app_context.rb +11 -3
- data/spec/{swt_shoes → shoes/swt}/shared_examples/visibility.rb +0 -0
- data/spec/{swt_shoes → shoes/swt}/shell_control_listener_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/slot_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/spec_helper.rb +0 -1
- data/spec/{swt_shoes → shoes/swt}/star_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/text_block/centered_text_segment_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/text_block/cursor_painter_spec.rb +8 -4
- data/spec/{swt_shoes → shoes/swt}/text_block/fitter_spec.rb +5 -5
- data/spec/{swt_shoes → shoes/swt}/text_block/painter_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/text_block/text_font_factory_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/text_block/text_segment_collection_spec.rb +7 -2
- data/spec/{swt_shoes → shoes/swt}/text_block/text_segment_spec.rb +1 -1
- data/spec/{swt_shoes → shoes/swt}/text_block_spec.rb +2 -5
- data/spec/spec_helper.rb +7 -3
- metadata +132 -331
- data/CHANGELOG +0 -84
- data/Gemfile +0 -24
- data/Guardfile +0 -11
- data/manifests/common.rb +0 -34
- data/manifests/shoes-swt.rb +0 -29
- data/spec/code_coverage.rb +0 -14
- data/spec/shoes/animation_spec.rb +0 -65
- data/spec/shoes/app_spec.rb +0 -484
- data/spec/shoes/arc_spec.rb +0 -51
- data/spec/shoes/background_spec.rb +0 -53
- data/spec/shoes/border_spec.rb +0 -47
- data/spec/shoes/builtin_methods_spec.rb +0 -110
- data/spec/shoes/button_spec.rb +0 -44
- data/spec/shoes/check_spec.rb +0 -35
- data/spec/shoes/color_spec.rb +0 -408
- data/spec/shoes/common/inspect_spec.rb +0 -26
- data/spec/shoes/common/remove_spec.rb +0 -38
- data/spec/shoes/common/style_normalizer_spec.rb +0 -28
- data/spec/shoes/common/style_spec.rb +0 -147
- data/spec/shoes/configuration_spec.rb +0 -36
- data/spec/shoes/constants_spec.rb +0 -38
- data/spec/shoes/dialog_spec.rb +0 -163
- data/spec/shoes/dimension_spec.rb +0 -407
- data/spec/shoes/dimensions_spec.rb +0 -837
- data/spec/shoes/download_spec.rb +0 -142
- data/spec/shoes/flow_spec.rb +0 -133
- data/spec/shoes/font_spec.rb +0 -37
- data/spec/shoes/framework_learning_spec.rb +0 -30
- data/spec/shoes/gradient_spec.rb +0 -32
- data/spec/shoes/helpers/fake_element.rb +0 -17
- data/spec/shoes/helpers/inspect_helpers.rb +0 -5
- data/spec/shoes/helpers/sample17_helper.rb +0 -66
- data/spec/shoes/image_spec.rb +0 -49
- data/spec/shoes/images/shoe.jpg +0 -0
- data/spec/shoes/input_box_spec.rb +0 -80
- data/spec/shoes/integration_spec.rb +0 -20
- data/spec/shoes/internal_app_spec.rb +0 -141
- data/spec/shoes/keypress_spec.rb +0 -11
- data/spec/shoes/keyrelease_spec.rb +0 -12
- data/spec/shoes/line_spec.rb +0 -49
- data/spec/shoes/link_spec.rb +0 -105
- data/spec/shoes/list_box_spec.rb +0 -74
- data/spec/shoes/logger/ruby_spec.rb +0 -8
- data/spec/shoes/logger_spec.rb +0 -45
- data/spec/shoes/oval_spec.rb +0 -24
- data/spec/shoes/point_spec.rb +0 -71
- data/spec/shoes/progress_spec.rb +0 -54
- data/spec/shoes/radio_spec.rb +0 -32
- data/spec/shoes/rect_spec.rb +0 -39
- data/spec/shoes/renamed_delegate_spec.rb +0 -70
- data/spec/shoes/shape_spec.rb +0 -95
- 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 -35
- data/spec/shoes/shared_examples/dimensions.rb +0 -32
- data/spec/shoes/shared_examples/dsl.rb +0 -44
- 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/button.rb +0 -5
- 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 -62
- 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 -88
- 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/video.rb +0 -5
- 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/scroll.rb +0 -41
- data/spec/shoes/shared_examples/shared_element_method.rb +0 -60
- data/spec/shoes/shared_examples/slot.rb +0 -331
- data/spec/shoes/shared_examples/state.rb +0 -19
- data/spec/shoes/shared_examples/style.rb +0 -82
- data/spec/shoes/slot_spec.rb +0 -130
- data/spec/shoes/sound_spec.rb +0 -15
- data/spec/shoes/span_spec.rb +0 -112
- data/spec/shoes/spec_helper.rb +0 -24
- data/spec/shoes/stack_spec.rb +0 -79
- data/spec/shoes/star_spec.rb +0 -31
- data/spec/shoes/text_block_dimensions_spec.rb +0 -75
- data/spec/shoes/text_block_spec.rb +0 -270
- data/spec/shoes/url_spec.rb +0 -68
- data/spec/shoes/widget_spec.rb +0 -70
- data/spec/shoes_spec.rb +0 -44
- data/spec/swt_shoes/shared_examples/clickable.rb +0 -85
- data/spec/swt_shoes/sound.rb +0 -10
@@ -1,26 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "Shoes::Common::Inspect" do
|
4
|
-
let(:test_class) {
|
5
|
-
Class.new {
|
6
|
-
include Shoes::Common::Inspect
|
7
|
-
def self.name
|
8
|
-
"Shoes::InspectableObject"
|
9
|
-
end
|
10
|
-
}
|
11
|
-
}
|
12
|
-
|
13
|
-
describe "when included" do
|
14
|
-
include InspectHelpers
|
15
|
-
|
16
|
-
subject(:object) { test_class.new }
|
17
|
-
|
18
|
-
it "gives a #to_s like (Shoes::Klass)" do
|
19
|
-
expect(object.to_s).to eq("(Shoes::InspectableObject)")
|
20
|
-
end
|
21
|
-
|
22
|
-
it "gives an #inspect like (Shoes::Klass:0x000049e8)" do
|
23
|
-
expect(object.inspect).to match(/^[(]Shoes::InspectableObject:#{shoes_object_id_pattern}[)]$/)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Shoes::Common::Remove do
|
4
|
-
|
5
|
-
let(:parent) {double 'parent', add_child: true, remove_child: true}
|
6
|
-
let(:gui) {double 'gui', remove: true}
|
7
|
-
let(:test_class) {Class.new {include Shoes::Common::Remove}}
|
8
|
-
|
9
|
-
subject {test_class.new}
|
10
|
-
|
11
|
-
before :each do
|
12
|
-
allow(subject).to receive_messages parent: parent, gui: gui
|
13
|
-
end
|
14
|
-
|
15
|
-
describe '#remove' do
|
16
|
-
before :each do
|
17
|
-
subject.remove
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'calls removes itself from the parent' do
|
21
|
-
expect(parent).to have_received(:remove_child).with(subject)
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'calls remove on the gui' do
|
25
|
-
expect(gui).to have_received(:remove)
|
26
|
-
end
|
27
|
-
|
28
|
-
describe 'if the gui does not respond to clear' do
|
29
|
-
# need to stub clear and respond_to because we get a non stubbed method
|
30
|
-
# otherwise on our spies when verifying...
|
31
|
-
let(:gui) {double 'no clear gui', clear: true, respond_to?: false}
|
32
|
-
|
33
|
-
it 'does not call clear on the gui' do
|
34
|
-
expect(gui).not_to have_received(:clear)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Shoes::Common::StyleNormalizer do
|
4
|
-
subject {Shoes::Common::StyleNormalizer.new}
|
5
|
-
|
6
|
-
it 'does not modify a simple hash' do
|
7
|
-
input = {left: 100, width: 233}
|
8
|
-
expect(subject.normalize input).to eq input
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'turns hexcodes for fill into colors' do
|
12
|
-
input = {fill: 'ffffff'}
|
13
|
-
expected = {fill: Shoes::Color.new(255, 255, 255)}
|
14
|
-
expect(subject.normalize input).to eq expected
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'turns hexcodes for stroke into colors' do
|
18
|
-
input = {stroke: 'ffffff'}
|
19
|
-
expected = {stroke: Shoes::Color.new(255, 255, 255)}
|
20
|
-
expect(subject.normalize input).to eq expected
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'does not modify the original hash' do
|
24
|
-
input = {stroke: '333333'}
|
25
|
-
subject.normalize input
|
26
|
-
expect(input).to eq({stroke: '333333'})
|
27
|
-
end
|
28
|
-
end
|
@@ -1,147 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Shoes::Common::Style do
|
4
|
-
include_context "dsl app"
|
5
|
-
let(:blue) { Shoes::COLORS[:blue] }
|
6
|
-
|
7
|
-
class StyleTester
|
8
|
-
include Shoes::Common::Style
|
9
|
-
attr_accessor :left
|
10
|
-
style_with :key, :left, :click, :strokewidth, :fill
|
11
|
-
STYLES = {fill: Shoes::COLORS[:blue]}
|
12
|
-
|
13
|
-
def initialize(app, styles = {})
|
14
|
-
@app = app #needed for style init
|
15
|
-
style_init(styles, key: 'value')
|
16
|
-
@left = 15
|
17
|
-
end
|
18
|
-
|
19
|
-
def click(&arg)
|
20
|
-
@click = arg
|
21
|
-
end
|
22
|
-
|
23
|
-
def click_blk
|
24
|
-
@click
|
25
|
-
end
|
26
|
-
end
|
27
|
-
subject {StyleTester.new(app)}
|
28
|
-
|
29
|
-
its(:style) { should eq (initial_style) }
|
30
|
-
let(:initial_style) { {key: 'value', left: 15, click: nil, strokewidth: 1, fill: blue} }
|
31
|
-
|
32
|
-
describe 'reading and writing through #style(hash)' do
|
33
|
-
let(:input_proc) { Proc.new {} }
|
34
|
-
let(:changed_style) { {key: 'changed value'} }
|
35
|
-
|
36
|
-
|
37
|
-
before :each do
|
38
|
-
subject.style changed_style
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'returns the changed style' do
|
42
|
-
expect(subject.style).to eq initial_style.merge changed_style
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'does update values for new values' do
|
46
|
-
subject.style new_key: 'new value'
|
47
|
-
expect(subject.style[:new_key]).to eq 'new value'
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'reads new dimensions' do
|
51
|
-
subject.left = 20
|
52
|
-
expect(subject.style[:left]).to eq 20
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'writes new dimensions' do
|
56
|
-
subject.style(left: 200)
|
57
|
-
expect(subject.left).to eq 200
|
58
|
-
end
|
59
|
-
|
60
|
-
it 'sets click' do
|
61
|
-
subject.style(click: input_proc)
|
62
|
-
expect(subject.click_blk).to eq input_proc
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'sets non dimension non click style via setter' do
|
66
|
-
subject.key = 'silver'
|
67
|
-
expect(subject.style[:key]).to eq 'silver'
|
68
|
-
end
|
69
|
-
|
70
|
-
it 'gets non dimension non click style via getter' do
|
71
|
-
expect(subject.key).to eq 'changed value'
|
72
|
-
end
|
73
|
-
|
74
|
-
# these specs are rather extensive as they are performance critical for
|
75
|
-
# redrawing
|
76
|
-
describe 'calling or not calling #update_style' do
|
77
|
-
it 'does not call #update_style if no key value pairs changed' do
|
78
|
-
expect(subject).not_to receive(:update_style)
|
79
|
-
subject.style changed_style
|
80
|
-
end
|
81
|
-
|
82
|
-
it 'does not call #update_style if called without arg' do
|
83
|
-
expect(subject).not_to receive(:update_style)
|
84
|
-
subject.style
|
85
|
-
end
|
86
|
-
|
87
|
-
it 'does call #update_style if the values change' do
|
88
|
-
expect(subject).to receive(:update_style)
|
89
|
-
subject.style key: 'new value'
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'does call #update_style if there is a new key-value' do
|
93
|
-
expect(subject).to receive(:update_style)
|
94
|
-
subject.style new_key: 'value'
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
describe "app-default" do
|
100
|
-
it "reads app-default styles with reader" do
|
101
|
-
expect(subject.strokewidth).to eq 1
|
102
|
-
end
|
103
|
-
|
104
|
-
it "writes app-default styles with writer" do
|
105
|
-
subject.strokewidth = 5
|
106
|
-
expect(subject.strokewidth).to eq 5
|
107
|
-
end
|
108
|
-
|
109
|
-
it "does not read 'default' styles that it doesn't support" do
|
110
|
-
expect(subject).not_to respond_to :stroke
|
111
|
-
end
|
112
|
-
|
113
|
-
it "does not write 'default' styles that it doesn't support" do
|
114
|
-
expect(subject).not_to respond_to :stroke=
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
describe "style priorities" do
|
119
|
-
subject {StyleTester.new(app, key: 'pumpkin')}
|
120
|
-
|
121
|
-
it 'uses arguments-styles over element-styles' do
|
122
|
-
expect(subject.key).to eq 'pumpkin'
|
123
|
-
end
|
124
|
-
|
125
|
-
it "uses element-defaults over app-defaults" do
|
126
|
-
expect(subject.fill).to eq blue
|
127
|
-
end
|
128
|
-
|
129
|
-
#related priority specs are tested individually in spec/shared_examples/style
|
130
|
-
end
|
131
|
-
|
132
|
-
describe 'StyleWith' do
|
133
|
-
it 'ensures that readers exist for each supported style' do
|
134
|
-
subject.supported_styles.each do |style|
|
135
|
-
expect(subject).to respond_to style
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
it 'ensures that writers exist for each supported style' do
|
140
|
-
subject.supported_styles.each do |style|
|
141
|
-
expect(subject).to respond_to "#{style}="
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
end
|
146
|
-
|
147
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Shoes::Configuration do
|
4
|
-
after { Shoes.configuration.reset }
|
5
|
-
|
6
|
-
describe "#logger" do
|
7
|
-
describe ":ruby" do
|
8
|
-
before { Shoes.configuration.logger = :ruby }
|
9
|
-
|
10
|
-
it "uses the Ruby logger" do
|
11
|
-
expect(Shoes.logger.instance_of?(Shoes::Logger::Ruby)).to eq(true)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "backend" do
|
17
|
-
include_context "dsl app"
|
18
|
-
|
19
|
-
let(:dsl_object) { Shoes::Shape.new app, parent}
|
20
|
-
|
21
|
-
describe "#backend_with_app_for" do
|
22
|
-
it "passes app.gui to backend" do
|
23
|
-
expect(Shoes.configuration.backend::Shape).to receive(:new).with(an_instance_of(Shoes::Shape), app.gui).and_call_original
|
24
|
-
dsl_object
|
25
|
-
end
|
26
|
-
|
27
|
-
it "returns shape backend object" do
|
28
|
-
expect(Shoes.configuration.backend_with_app_for(dsl_object)).to be_instance_of(Shoes.configuration.backend::Shape)
|
29
|
-
end
|
30
|
-
|
31
|
-
it "raises ArgumentError for a non-Shoes object" do
|
32
|
-
expect { Shoes.configuration.backend_with_app_for(1..100) }.to raise_error(ArgumentError)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
require "pathname"
|
2
|
-
|
3
|
-
describe "Shoes constants" do
|
4
|
-
specify "PI equals Math::PI" do
|
5
|
-
expect(Shoes::PI).to eq(Math::PI)
|
6
|
-
end
|
7
|
-
|
8
|
-
specify "TWO_PI equals 2 * Math::PI" do
|
9
|
-
expect(Shoes::TWO_PI).to eq(2 * Math::PI)
|
10
|
-
end
|
11
|
-
|
12
|
-
specify "HALF_PI equals 0.5 * Math::PI" do
|
13
|
-
expect(Shoes::HALF_PI).to eq(0.5 * Math::PI)
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "DIR" do
|
17
|
-
let(:shoes_home_dir) { Pathname.new(__FILE__).join("../../..").expand_path }
|
18
|
-
subject { Pathname.new Shoes::DIR }
|
19
|
-
|
20
|
-
it "is the shoes home directory" do
|
21
|
-
expect(subject).to eq(shoes_home_dir)
|
22
|
-
end
|
23
|
-
|
24
|
-
it "contains lib/shoes.rb" do
|
25
|
-
expect(subject.join("lib/shoes.rb")).to exist
|
26
|
-
end
|
27
|
-
|
28
|
-
it "contains static/shoes_icon.png" do
|
29
|
-
expect(subject.join("static/shoes-icon.png")).to exist
|
30
|
-
end
|
31
|
-
|
32
|
-
it "remains constant when current directory changes" do
|
33
|
-
Dir.chdir ".." do
|
34
|
-
expect(subject).to eq(shoes_home_dir)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
data/spec/shoes/dialog_spec.rb
DELETED
@@ -1,163 +0,0 @@
|
|
1
|
-
require 'shoes/spec_helper'
|
2
|
-
# NOTE: This spec is sadly circumventing the integration specs since we couldn't
|
3
|
-
# figure out how to get rid of the alert - it stopped the running tests
|
4
|
-
|
5
|
-
main_object = self
|
6
|
-
|
7
|
-
describe Shoes::Dialog do
|
8
|
-
|
9
|
-
before :each do
|
10
|
-
@dialog = Shoes::Dialog.new
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'is not nil' do
|
14
|
-
expect(@dialog).not_to be_nil
|
15
|
-
end
|
16
|
-
|
17
|
-
describe '#alert' do
|
18
|
-
it 'returns nil' do
|
19
|
-
expect(@dialog.alert('something')).to be_nil
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe '#confirm' do
|
24
|
-
it 'responds to it' do
|
25
|
-
expect(@dialog).to respond_to :confirm
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe '#ask_open_file' do
|
30
|
-
it 'responds to it' do
|
31
|
-
expect(@dialog).to respond_to :dialog_chooser
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe '#ask_save_file' do
|
36
|
-
it 'responds to it' do
|
37
|
-
expect(@dialog).to respond_to :dialog_chooser
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe '#ask_open_folder' do
|
42
|
-
it 'responds to it' do
|
43
|
-
expect(@dialog).to respond_to :dialog_chooser
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
describe '#ask_save_folder' do
|
48
|
-
it 'responds to it' do
|
49
|
-
expect(@dialog).to respond_to :dialog_chooser
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
describe '#ask' do
|
54
|
-
it 'responds to it' do
|
55
|
-
expect(@dialog).to respond_to :ask
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
describe '#ask_color' do
|
60
|
-
it 'responds to it' do
|
61
|
-
expect(@dialog).to respond_to :ask_color
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
describe 'nothing monkey patched on to Object' do
|
66
|
-
it 'is not monkey patched on to object' do
|
67
|
-
expect(Object.new).not_to respond_to :alert
|
68
|
-
end
|
69
|
-
|
70
|
-
it 'is not monkey patched on to object' do
|
71
|
-
expect(Object.new).not_to respond_to :confirm
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'is not monkey patched on to object' do
|
75
|
-
expect(Object.new).not_to respond_to :dialog_chooser
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'is not monkey patched on to object' do
|
79
|
-
expect(Object.new).not_to respond_to :ask
|
80
|
-
end
|
81
|
-
|
82
|
-
it 'is not monkey patched on to object' do
|
83
|
-
expect(Object.new).not_to respond_to :ask_color
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
describe 'the main object' do
|
88
|
-
it 'knows of #alert' do
|
89
|
-
expect(main_object).to respond_to :alert
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'knows of #confirm' do
|
93
|
-
expect(main_object).to respond_to :confirm
|
94
|
-
end
|
95
|
-
|
96
|
-
it 'knows of #confirm?' do
|
97
|
-
expect(main_object).to respond_to :confirm?
|
98
|
-
end
|
99
|
-
|
100
|
-
it 'knows of #ask_open_file' do
|
101
|
-
expect(main_object).to respond_to :ask_open_file
|
102
|
-
end
|
103
|
-
|
104
|
-
it 'knows of #ask_save_file' do
|
105
|
-
expect(main_object).to respond_to :ask_save_file
|
106
|
-
end
|
107
|
-
|
108
|
-
it 'knows of #ask_open_folder' do
|
109
|
-
expect(main_object).to respond_to :ask_open_folder
|
110
|
-
end
|
111
|
-
|
112
|
-
it 'knows of #ask_save_folder' do
|
113
|
-
expect(main_object).to respond_to :ask_save_folder
|
114
|
-
end
|
115
|
-
|
116
|
-
it 'knows of #ask' do
|
117
|
-
expect(main_object).to respond_to :ask
|
118
|
-
end
|
119
|
-
|
120
|
-
it 'knows of #ask' do
|
121
|
-
expect(main_object).to respond_to :ask_color
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
describe 'Shoes::App' do
|
126
|
-
before :each do
|
127
|
-
@app = Shoes::App.new
|
128
|
-
end
|
129
|
-
|
130
|
-
it 'knows about #alert' do
|
131
|
-
expect(@app).to respond_to :alert
|
132
|
-
end
|
133
|
-
|
134
|
-
it 'knows about #confirm' do
|
135
|
-
expect(@app).to respond_to :confirm
|
136
|
-
end
|
137
|
-
|
138
|
-
it 'knows about #ask_open_file' do
|
139
|
-
expect(@app).to respond_to :ask_open_file
|
140
|
-
end
|
141
|
-
|
142
|
-
it 'knows about #ask_save_file' do
|
143
|
-
expect(@app).to respond_to :ask_save_file
|
144
|
-
end
|
145
|
-
|
146
|
-
it 'knows about #ask_open_folder' do
|
147
|
-
expect(@app).to respond_to :ask_open_folder
|
148
|
-
end
|
149
|
-
|
150
|
-
it 'knows about #ask_save_folder' do
|
151
|
-
expect(@app).to respond_to :ask_save_folder
|
152
|
-
end
|
153
|
-
|
154
|
-
it 'knows about #ask_save_folder' do
|
155
|
-
expect(@app).to respond_to :ask
|
156
|
-
end
|
157
|
-
|
158
|
-
it 'knows about #ask_save_color' do
|
159
|
-
expect(@app).to respond_to :ask_color
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
end
|