Sha256: 9f4039c02ca3bc041920a1762ba39d782787618f213d9956bce42d175dd9ee6d

Contents?: true

Size: 1.67 KB

Versions: 1

Compression:

Stored size: 1.67 KB

Contents

# This is a common context for running Shoes::Swt specs.
#   - parent:    use for instantiating a Shoes::Swt object
#   - swt_app:   use for instantiating a Shoes::Swt object
#   - shoes_app: use for instantiating a Shoes DSL object
shared_context "swt app" do
  let(:swt_app_real) do
    double('swt app real', disposed?: false, set_visible: true)
  end

  let(:clickable_element) { double("clickable_element", delete: nil) }

  let(:click_listener) do
    double("click listener", add_click_listener: nil, add_release_listener: nil,
                             remove_listeners_for: nil)
  end

  let(:swt_app) do
    swt_double = double('swt app', real: swt_app_real, disposed?: false,
                                   add_paint_listener: true, remove_paint_listener: true,
                                   add_clickable_element: true, add_listener: true,
                                   remove_listener: true, flush: true, redraw: true,
                                   click_listener: click_listener,
                                   clickable_elements: clickable_element)
    allow(swt_double).to receive(:app).and_return(swt_double)
    swt_double
  end

  let(:shoes_app) { double('shoes app', gui: swt_app, rotate: 0, style: {}, element_styles: {}) }

  let(:parent) do
    double('parent', app: swt_app, add_child: true, real: true,
                     absolute_left: 0, absolute_top: 0,
                     width: 200, height: 100, fixed_height?: true)
  end

  let(:parent_dsl) do
    double("parent dsl", add_child: true, contents: [], gui: parent,
                         x_dimension: double.as_null_object,
                         y_dimension: double.as_null_object)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoes-swt-4.0.0.pre7 spec/shoes/swt/shared_examples/swt_app_context.rb