shoes-core 4.0.0.pre4 → 4.0.0.pre5

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 (124) hide show
  1. checksums.yaml +4 -4
  2. data/Guardfile +5 -0
  3. data/bin/shoes +1 -1
  4. data/bin/shoes-stub +1 -1
  5. data/ext/install/Rakefile +15 -5
  6. data/ext/install/shoes.bat +1 -1
  7. data/lib/shoes/animation.rb +2 -2
  8. data/lib/shoes/arc.rb +1 -0
  9. data/lib/shoes/builtin_methods.rb +5 -18
  10. data/lib/shoes/button.rb +1 -5
  11. data/lib/shoes/check_button.rb +1 -5
  12. data/lib/shoes/color.rb +5 -274
  13. data/lib/shoes/color/dsl.rb +166 -0
  14. data/lib/shoes/color/dsl_helpers.rb +84 -0
  15. data/lib/shoes/color/hex_converter.rb +32 -0
  16. data/lib/shoes/common/background_element.rb +5 -0
  17. data/lib/shoes/common/hover.rb +87 -0
  18. data/lib/shoes/common/initialization.rb +21 -8
  19. data/lib/shoes/common/remove.rb +2 -0
  20. data/lib/shoes/common/state.rb +17 -3
  21. data/lib/shoes/common/style.rb +8 -0
  22. data/lib/shoes/configuration.rb +18 -15
  23. data/lib/shoes/core/version.rb +1 -1
  24. data/lib/shoes/dimension.rb +6 -19
  25. data/lib/shoes/dimensions.rb +8 -0
  26. data/lib/shoes/download.rb +5 -3
  27. data/lib/shoes/dsl.rb +3 -3
  28. data/lib/shoes/image.rb +1 -0
  29. data/lib/shoes/image_pattern.rb +1 -1
  30. data/lib/shoes/input_box.rb +2 -5
  31. data/lib/shoes/internal_app.rb +13 -2
  32. data/lib/shoes/line.rb +1 -0
  33. data/lib/shoes/link.rb +8 -0
  34. data/lib/shoes/list_box.rb +2 -5
  35. data/lib/shoes/mock/check.rb +3 -0
  36. data/lib/shoes/mock/image.rb +6 -0
  37. data/lib/shoes/mock/progress.rb +6 -0
  38. data/lib/shoes/mock/radio.rb +3 -0
  39. data/lib/shoes/mock/sound.rb +1 -1
  40. data/lib/shoes/oval.rb +1 -0
  41. data/lib/shoes/packager.rb +1 -1
  42. data/lib/shoes/rect.rb +1 -0
  43. data/lib/shoes/shape.rb +4 -0
  44. data/lib/shoes/slot.rb +75 -38
  45. data/lib/shoes/slot_contents.rb +4 -0
  46. data/lib/shoes/sound.rb +3 -2
  47. data/lib/shoes/star.rb +1 -0
  48. data/lib/shoes/text_block.rb +18 -2
  49. data/lib/shoes/text_block_dimensions.rb +19 -3
  50. data/lib/shoes/timer.rb +2 -2
  51. data/lib/shoes/ui/picker.rb +4 -4
  52. data/lib/shoes/version.rb +1 -1
  53. data/shoes-core.gemspec +1 -1
  54. data/spec/shoes/animation_spec.rb +2 -2
  55. data/spec/shoes/app_spec.rb +6 -17
  56. data/spec/shoes/arc_spec.rb +2 -1
  57. data/spec/shoes/background_spec.rb +2 -2
  58. data/spec/shoes/border_spec.rb +2 -2
  59. data/spec/shoes/builtin_methods_spec.rb +68 -56
  60. data/spec/shoes/button_spec.rb +3 -3
  61. data/spec/shoes/check_spec.rb +3 -2
  62. data/spec/shoes/color_spec.rb +9 -3
  63. data/spec/shoes/common/remove_spec.rb +0 -1
  64. data/spec/shoes/common/rotate_spec.rb +13 -0
  65. data/spec/shoes/common/style_spec.rb +12 -3
  66. data/spec/shoes/configuration_spec.rb +18 -3
  67. data/spec/shoes/constants_spec.rb +1 -0
  68. data/spec/shoes/dialog_spec.rb +1 -3
  69. data/spec/shoes/dimension_spec.rb +33 -24
  70. data/spec/shoes/dimensions_spec.rb +21 -31
  71. data/spec/shoes/download_spec.rb +14 -3
  72. data/spec/shoes/flow_spec.rb +6 -7
  73. data/spec/shoes/font_spec.rb +2 -3
  74. data/spec/shoes/framework_learning_spec.rb +1 -2
  75. data/spec/shoes/gradient_spec.rb +1 -2
  76. data/spec/shoes/helpers/fake_absolute_element.rb +30 -0
  77. data/spec/shoes/helpers/sample17_helper.rb +0 -1
  78. data/spec/shoes/image_spec.rb +2 -1
  79. data/spec/shoes/input_box_spec.rb +2 -2
  80. data/spec/shoes/integration_spec.rb +0 -1
  81. data/spec/shoes/internal_app_spec.rb +4 -5
  82. data/spec/shoes/keypress_spec.rb +1 -1
  83. data/spec/shoes/keyrelease_spec.rb +1 -2
  84. data/spec/shoes/line_spec.rb +3 -2
  85. data/spec/shoes/link_spec.rb +26 -6
  86. data/spec/shoes/list_box_spec.rb +2 -2
  87. data/spec/shoes/oval_spec.rb +2 -1
  88. data/spec/shoes/packager_spec.rb +1 -1
  89. data/spec/shoes/point_spec.rb +1 -1
  90. data/spec/shoes/progress_spec.rb +1 -1
  91. data/spec/shoes/radio_spec.rb +1 -1
  92. data/spec/shoes/rect_spec.rb +2 -1
  93. data/spec/shoes/renamed_delegate_spec.rb +0 -1
  94. data/spec/shoes/shape_spec.rb +1 -1
  95. data/spec/shoes/shared_examples/common_methods.rb +1 -1
  96. data/spec/shoes/shared_examples/dsl/animate.rb +1 -1
  97. data/spec/shoes/shared_examples/dsl/background.rb +2 -2
  98. data/spec/shoes/shared_examples/dsl/rgb.rb +4 -2
  99. data/spec/shoes/shared_examples/dsl/star.rb +0 -1
  100. data/spec/shoes/shared_examples/dsl/style.rb +1 -1
  101. data/spec/shoes/shared_examples/dsl/text_elements.rb +2 -2
  102. data/spec/shoes/shared_examples/dsl/video.rb +1 -1
  103. data/spec/shoes/shared_examples/dsl_app_context.rb +4 -1
  104. data/spec/shoes/shared_examples/hover.rb +78 -0
  105. data/spec/shoes/shared_examples/slot.rb +34 -4
  106. data/spec/shoes/shared_examples/state.rb +9 -2
  107. data/spec/shoes/shared_examples/style.rb +0 -5
  108. data/spec/shoes/slot_spec.rb +11 -38
  109. data/spec/shoes/sound_spec.rb +3 -2
  110. data/spec/shoes/span_spec.rb +2 -2
  111. data/spec/shoes/spec_helper.rb +1 -1
  112. data/spec/shoes/stack_spec.rb +6 -6
  113. data/spec/shoes/star_spec.rb +2 -1
  114. data/spec/shoes/text_block_dimensions_spec.rb +3 -4
  115. data/spec/shoes/text_block_spec.rb +16 -11
  116. data/spec/shoes/ui/picker_spec.rb +5 -6
  117. data/spec/shoes/url_spec.rb +1 -2
  118. data/spec/shoes/widget_spec.rb +11 -3
  119. data/spec/shoes_spec.rb +1 -4
  120. data/spec/spec_helper.rb +2 -1
  121. metadata +16 -9
  122. data/bin/shoes-guard +0 -8
  123. data/lib/shoes/link_hover.rb +0 -5
  124. data/spec/shoes/shared_examples/hover_leave.rb +0 -11
@@ -1,5 +1,4 @@
1
1
  shared_examples_for "object with style" do
2
-
3
2
  def uses_app_default?(key)
4
3
  if defined? self.class::STYLES
5
4
  subject.style[key] && !subject.class::STYLES[key]
@@ -9,7 +8,6 @@ shared_examples_for "object with style" do
9
8
  end
10
9
 
11
10
  describe 'using app-level styles' do
12
-
13
11
  it 'initially uses app defaults' do
14
12
  app.style.each do |key, value|
15
13
  expect(subject.style[key]).to eq(value) if uses_app_default? key
@@ -37,7 +35,6 @@ shared_examples_for "object with style" do
37
35
  end
38
36
 
39
37
  describe 'using the style method' do
40
-
41
38
  it "merges new styles" do
42
39
  old_style = subject.style
43
40
  subject.style(left: 100, top: 50)
@@ -65,7 +62,6 @@ shared_examples_for "object with style" do
65
62
  end
66
63
 
67
64
  describe 'using setters and getters' do
68
-
69
65
  it 'has a style setter for all styles' do
70
66
  subject.supported_styles.each do |style|
71
67
  expect(subject).to respond_to("#{style}=".to_sym)
@@ -78,5 +74,4 @@ shared_examples_for "object with style" do
78
74
  end
79
75
  end
80
76
  end
81
-
82
77
  end
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Shoes::Slot do
4
4
  include_context "dsl app"
@@ -11,7 +11,16 @@ describe Shoes::Slot do
11
11
  let(:input_opts) { {left: left, top: top, width: width, height: height} }
12
12
  subject(:slot) { Shoes::Slot.new(app, parent, input_opts) }
13
13
 
14
+ before do
15
+ # In production this is filled in by Stack and Flow, but we don't want to
16
+ # trip it in our tests against Slot directly.
17
+ allow(slot).to receive(:position_element) do |element, current_position|
18
+ slot.send(:move_to_next_line, element, current_position)
19
+ end
20
+ end
21
+
14
22
  it_behaves_like "object with dimensions"
23
+ it_behaves_like "object with hover"
15
24
 
16
25
  it_behaves_like "object with style" do
17
26
  let(:subject_without_style) { Shoes::Slot.new(app, parent) }
@@ -29,9 +38,8 @@ describe Shoes::Slot do
29
38
  end
30
39
 
31
40
  describe '#clear' do
32
-
33
41
  def add_text_block
34
- Shoes::TextBlock.new app, slot, ['text']
42
+ Shoes::Para.new app, slot, ['text']
35
43
  end
36
44
 
37
45
  before :each do
@@ -61,7 +69,6 @@ describe Shoes::Slot do
61
69
  expect(subject.contents.size).to eq 1
62
70
  end
63
71
  end
64
-
65
72
  end
66
73
 
67
74
  describe '#remove_child' do
@@ -94,40 +101,6 @@ describe Shoes::Slot do
94
101
  end
95
102
  end
96
103
 
97
- describe "hover" do
98
- let(:callable) { double("block", call: nil) }
99
- let(:block) { Proc.new { callable.call } }
100
-
101
- it "doesn't need hover proc to be called" do
102
- expect(callable).to_not receive(:call)
103
- subject.mouse_hovered
104
- end
105
-
106
- it "calls block on mouse_hovered" do
107
- expect(callable).to receive(:call)
108
-
109
- subject.hover(block)
110
- subject.mouse_hovered
111
- end
112
- end
113
-
114
- describe "leave" do
115
- let(:callable) { double("block", call: nil) }
116
- let(:block) { Proc.new { callable.call } }
117
-
118
- it "doesn't need leave proc to be called" do
119
- expect(callable).to_not receive(:call)
120
- subject.mouse_left
121
- end
122
-
123
- it "calls block on mouse_left" do
124
- expect(callable).to receive(:call)
125
-
126
- subject.leave(block)
127
- subject.mouse_left
128
- end
129
- end
130
-
131
104
  describe "create_bound_block" do
132
105
  let(:callable) { double("block", call: nil) }
133
106
  let(:block) { Proc.new { callable.call(self) } }
@@ -1,7 +1,8 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Shoes::Sound do
4
- let(:parent) { double("parent") }
4
+ let(:app_gui) { double("app gui") }
5
+ let(:parent) { double("parent", gui: app_gui) }
5
6
  let(:filepath) { "../../samples/sounds/61847__simon-rue__boink-v3.wav" }
6
7
  subject { Shoes::Sound.new(parent, filepath) }
7
8
 
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Shoes::Span do
4
4
  let(:app) { Shoes::App.new }
@@ -34,7 +34,7 @@ describe Shoes::Span do
34
34
  it 'does not try to merge with parent style when there are none' do
35
35
  parent = double 'parent'
36
36
  span.parent = parent
37
- expect {span.style}.to_not raise_error()
37
+ expect {span.style}.to_not raise_error
38
38
  end
39
39
 
40
40
  it 'merges with the styles of the parent text' do
@@ -9,7 +9,7 @@ def unpack_styles(styles)
9
9
  supported_styles = []
10
10
  styles.each do |style|
11
11
  if Shoes::Common::Style::STYLE_GROUPS[style]
12
- Shoes::Common::Style::STYLE_GROUPS[style].each{|s| supported_styles << s}
12
+ Shoes::Common::Style::STYLE_GROUPS[style].each {|s| supported_styles << s}
13
13
  else
14
14
  supported_styles << style
15
15
  end
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
  require 'shoes/helpers/fake_element'
3
3
 
4
4
  describe Shoes::Stack do
@@ -7,9 +7,9 @@ describe Shoes::Stack do
7
7
  subject(:stack) { Shoes::Stack.new(app, app, input_opts) }
8
8
 
9
9
  it_behaves_like "Slot"
10
+ it_behaves_like "object with hover"
10
11
 
11
12
  describe 'Context' do
12
-
13
13
  class ContextObject
14
14
  def initialize(app)
15
15
  @app = app
@@ -23,7 +23,7 @@ describe Shoes::Stack do
23
23
  end
24
24
 
25
25
  it 'does not change the context' do
26
- app = Shoes.app do ; end
26
+ app = Shoes.app do; end
27
27
  context_object = ContextObject.new app
28
28
  inside_stack = context_object.check_self_inside_stack
29
29
  expect(inside_stack).to be context_object
@@ -36,17 +36,17 @@ describe Shoes::Stack do
36
36
  it_behaves_like 'arranges elements underneath each other'
37
37
 
38
38
  describe 'small stack height' do
39
- let(:input_opts){{height: element.height + 10}}
39
+ let(:input_opts) {{height: element.height + 10}}
40
40
  it_behaves_like 'set height and contents alignment'
41
41
  end
42
42
 
43
43
  describe 'big stack height' do
44
- let(:input_opts){{height: 1000}}
44
+ let(:input_opts) {{height: 1000}}
45
45
  it_behaves_like 'set height and contents alignment'
46
46
  end
47
47
 
48
48
  describe 'with margin' do
49
- let(:input_opts){{margin: 27}}
49
+ let(:input_opts) {{margin: 27}}
50
50
  it_behaves_like 'taking care of margin'
51
51
  end
52
52
  end
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  shared_examples_for "basic star" do
4
4
  it "retains app" do
@@ -29,6 +29,7 @@ describe Shoes::Star do
29
29
  it_behaves_like "object with dimensions"
30
30
  it_behaves_like "movable object"
31
31
  it_behaves_like 'object with parent'
32
+ it_behaves_like "object with hover"
32
33
 
33
34
  describe "in_bounds?" do
34
35
  before do
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Shoes::TextBlockDimensions do
4
4
  let(:left) { 0 }
@@ -62,14 +62,13 @@ describe Shoes::TextBlockDimensions do
62
62
 
63
63
  describe "with parent" do
64
64
  let(:parent) { double('parent', element_width: 100,
65
- x_dimension: double("x"),
66
- y_dimension: double("y")) }
65
+ x_dimension: double("x"),
66
+ y_dimension: double("y")) }
67
67
  subject { Shoes::TextBlockDimensions.new(parent, left, top, nil, height) }
68
68
 
69
69
  it "delegates to parent if no width of its own" do
70
70
  expect(subject.containing_width).to eq(100)
71
71
  end
72
72
  end
73
-
74
73
  end
75
74
  end
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
  require 'shoes/helpers/sample17_helper'
3
3
 
4
4
  describe Shoes::TextBlock do
@@ -6,13 +6,15 @@ describe Shoes::TextBlock do
6
6
 
7
7
  let(:text_link) { Shoes::Link.new(app, ['Hello']) }
8
8
  let(:text) { [text_link, ", world!"] }
9
- subject(:text_block) { Shoes::TextBlock.new(app, parent, text, app: app) }
9
+ subject(:text_block) { Shoes::Para.new(app, parent, text, app: app) }
10
10
 
11
11
  it_behaves_like "object with style" do
12
- let(:subject_without_style) { Shoes::TextBlock.new(app, parent, text) }
13
- let(:subject_with_style) { Shoes::TextBlock.new(app, parent, text, arg_styles) }
12
+ let(:subject_without_style) { Shoes::Para.new(app, parent, text) }
13
+ let(:subject_with_style) { Shoes::Para.new(app, parent, text, arg_styles) }
14
14
  end
15
15
 
16
+ it_behaves_like "object with hover"
17
+
16
18
  describe "initialize" do
17
19
  it "creates gui object" do
18
20
  expect(text_block.gui).not_to be_nil
@@ -92,7 +94,7 @@ describe Shoes::TextBlock do
92
94
  end
93
95
 
94
96
  describe "font" do
95
- let(:text_block) { Shoes::TextBlock.new(app, parent, ["Hello, world!"], style) }
97
+ let(:text_block) { Shoes::Para.new(app, parent, ["Hello, world!"], style) }
96
98
 
97
99
  context "with defaults" do
98
100
  let(:style) { Hash.new }
@@ -149,7 +151,7 @@ describe Shoes::TextBlock do
149
151
 
150
152
  describe "stroke" do
151
153
  it "should accept a hex code" do
152
- s = Shoes::TextBlock.new(app, parent, ["Hello, world!"], stroke: "#fda", app: app)
154
+ s = Shoes::Para.new(app, parent, ["Hello, world!"], stroke: "#fda", app: app)
153
155
  color = s.style[:stroke]
154
156
  expect(color.red).to eql 255
155
157
  expect(color.green).to eql 221
@@ -164,7 +166,7 @@ describe Shoes::TextBlock do
164
166
  end
165
167
 
166
168
  context "when not explicitly set" do
167
- subject(:text_block) { Shoes::TextBlock.new(app, parent, ["text"]) }
169
+ subject(:text_block) { Shoes::Para.new(app, parent, ["text"]) }
168
170
 
169
171
  it "delegates to calculated width" do
170
172
  subject.calculated_width = 240
@@ -194,18 +196,21 @@ describe Shoes::TextBlock do
194
196
  end
195
197
 
196
198
  context "when explicitly set" do
197
- subject(:text_block) { Shoes::TextBlock.new(app, parent, ["text"], width: 120) }
199
+ subject(:text_block) { Shoes::Para.new(app, parent, ["text"], width: 120) }
198
200
 
199
201
  it "gets returned" do
200
202
  expect(subject.width).to eql 120
201
203
  end
202
204
 
203
205
  it "is used for desired width" do
204
- subject.absolute_left = 20
205
- expect(subject.desired_width).to eql 100
206
+ expect(subject.desired_width).to eql 120
206
207
  end
207
- end
208
208
 
209
+ it "factors in if parent space is too small" do
210
+ subject.absolute_left = parent.element_width - 100
211
+ expect(subject.desired_width).to eql(100)
212
+ end
213
+ end
209
214
  end
210
215
 
211
216
  context "cursor management" do
@@ -1,8 +1,7 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
  require 'shoes/ui/picker'
3
3
 
4
4
  describe Shoes::UI::Picker do
5
-
6
5
  let(:swt_backend) { "/gems/lib/shoes/swt/generate-backend.rb" }
7
6
  let(:faux_backend) { "/gems/lib/shoes/faux/generate-backend.rb" }
8
7
 
@@ -12,13 +11,13 @@ describe Shoes::UI::Picker do
12
11
  subject { Shoes::UI::Picker.new(input, output) }
13
12
 
14
13
  it "selects single backend generator" do
15
- allow(Gem).to receive(:find_files) { [ swt_backend ] }
14
+ allow(Gem).to receive(:find_files) { [swt_backend] }
16
15
  expect(subject.select_generator).to eq(swt_backend)
17
16
  end
18
17
 
19
18
  describe "with multiple backend generators" do
20
19
  before do
21
- allow(Gem).to receive(:find_files) { [ faux_backend, swt_backend ] }
20
+ allow(Gem).to receive(:find_files) { [faux_backend, swt_backend] }
22
21
  end
23
22
 
24
23
  it "prompts with multiple backend generators" do
@@ -53,12 +52,12 @@ describe Shoes::UI::Picker do
53
52
  end
54
53
 
55
54
  it "fails if no matches" do
56
- allow(Gem).to receive(:find_files) { [ ] }
55
+ allow(Gem).to receive(:find_files) { [] }
57
56
  expect { subject.select_generator }.to raise_error(ArgumentError)
58
57
  end
59
58
 
60
59
  it "selects by name" do
61
- allow(Gem).to receive(:find_files) { [ swt_backend ] }
60
+ allow(Gem).to receive(:find_files) { [swt_backend] }
62
61
  expect(subject.select_generator("swt")).to eq(swt_backend)
63
62
  end
64
63
 
@@ -1,4 +1,4 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe 'Shoes.url' do
4
4
  let(:klazz) do
@@ -64,5 +64,4 @@ describe 'Shoes.url' do
64
64
  it 'instances report class as klazz (regression, do not ask...)' do
65
65
  expect(klazz.new.class).to eq klazz
66
66
  end
67
-
68
67
  end
@@ -1,7 +1,11 @@
1
- require 'shoes/spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  class Smile < Shoes::Widget
4
4
  def initialize(caption)
5
+ smile_magic caption
6
+ end
7
+
8
+ def smile_magic(caption)
5
9
  banner caption
6
10
  end
7
11
  end
@@ -50,11 +54,15 @@ describe Shoes::Widget do
50
54
  include RSpec::Matchers
51
55
 
52
56
  url '/', :check_smile
53
- url '/smile', :smile
57
+ url '/smile', :smile_little_one
54
58
 
55
59
  def check_smile
56
60
  expect(self).to respond_to :smile
57
61
  end
62
+
63
+ def smile_little_one
64
+ smile 'little one'
65
+ end
58
66
  end
59
67
  end
60
68
 
@@ -63,7 +71,7 @@ describe Shoes::Widget do
63
71
  end
64
72
 
65
73
  it 'really smiles' do
66
- expect_any_instance_of(Smile).to receive(:initialize)
74
+ expect_any_instance_of(Smile).to receive(:smile_magic)
67
75
  Shoes.app do visit '/smile' end
68
76
  end
69
77
  end
data/spec/shoes_spec.rb CHANGED
@@ -2,18 +2,16 @@ require 'spec_helper'
2
2
 
3
3
  describe Shoes, 'load_backend' do
4
4
  it "raises ArgumentError on bad input" do
5
- expect { Shoes.load_backend :bogus }.to raise_error
5
+ expect { Shoes.load_backend :bogus }.to raise_error(ArgumentError)
6
6
  end
7
7
  end
8
8
 
9
9
  describe Shoes, 'setup' do
10
-
11
10
  it 'knows this method' do
12
11
  expect(Shoes).to respond_to :setup
13
12
  end
14
13
 
15
14
  describe 'outputting on standard error' do
16
-
17
15
  def expect_stderr_puts(regex)
18
16
  expect($stderr).to receive(:puts).with(regex)
19
17
  end
@@ -40,5 +38,4 @@ describe Shoes, 'setup' do
40
38
  end
41
39
  end
42
40
  end
43
-
44
41
  end
data/spec/spec_helper.rb CHANGED
@@ -10,10 +10,11 @@ require 'shoes/core'
10
10
  require 'shoes/ui/cli'
11
11
  require 'fileutils'
12
12
  require 'shoes/helpers/fake_element'
13
+ require 'shoes/helpers/fake_absolute_element'
13
14
  require 'shoes/helpers/inspect_helpers'
14
15
 
15
16
  require 'webmock/rspec'
16
- WebMock.disable_net_connect!(:allow => "codeclimate.com")
17
+ WebMock.disable_net_connect!(allow: "codeclimate.com")
17
18
 
18
19
  shared_examples = File.expand_path('../shoes/shared_examples/**/*.rb', __FILE__)
19
20
  Dir[shared_examples].each { |f| require f }