Sha256: 5cf0e5033b7f0a6688b45c915927d24d527e72c0285093e098d7ba1218fc4eb1

Contents?: true

Size: 1.55 KB

Versions: 1

Compression:

Stored size: 1.55 KB

Contents

require "watirspec_helper"

describe "Element" do
  bug "Actions Endpoint Not Yet Implemented", :firefox do
    bug "Safari does not strip text", :safari do
      context "drag and drop" do
        before { browser.goto WatirSpec.url_for("drag_and_drop.html") }

        let(:draggable) { browser.div id: "draggable" }
        let(:droppable) { browser.div id: "droppable" }

        it "can drag and drop an element onto another" do
          expect(droppable.text).to eq 'Drop here'
          draggable.drag_and_drop_on droppable
          expect(droppable.text).to eq 'Dropped!'
        end

        not_compliant_on :headless do
          it "can drag and drop an element onto another when draggable is out of viewport" do
            reposition "draggable"
            perform_drag_and_drop_on_droppable
          end

          it "can drag and drop an element onto another when droppable is out of viewport" do
            reposition "droppable"
            perform_drag_and_drop_on_droppable
          end
        end

        it "can drag an element by the given offset" do
          expect(droppable.text).to eq 'Drop here'
          draggable.drag_and_drop_by 200, 50
          expect(droppable.text).to eq 'Dropped!'
        end

        def reposition(what)
          browser.button(id: "reposition#{what.capitalize}").click
        end

        def perform_drag_and_drop_on_droppable
          expect(droppable.text).to eq "Drop here"
          draggable.drag_and_drop_on droppable
          expect(droppable.text).to eq 'Dropped!'
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
watir-6.6.0 spec/watirspec/drag_and_drop_spec.rb