Sha256: cd51ba152d272a0b0482afa866222dcca3343d09ab17e141b68af74d3d9c335b

Contents?: true

Size: 1.27 KB

Versions: 7

Compression:

Stored size: 1.27 KB

Contents

require "spec_helper"

RSpec.describe Event do
  html <<-HTML
    <div id="on-spec">
      <div id="foo">
        <div id="bar"></div>
      </div>
      <div id="baz"></div>
    </div>
  HTML

  it '#current_target returns the current element in the bubbling' do
    foo = Element['#foo']
    bar = Element['#bar']
    result = []

    foo.on(:click) { |e| result << e.current_target.id }
    bar.on(:click) { |e| result << e.current_target.id }

    foo.trigger(:click)
    result.should == ['foo']
    result = []

    bar.trigger(:click)
    result.should == ['bar', 'foo']
  end

  it '#type returns the type of event' do
    type = nil
    foo  = Element['#foo']

    foo.on(:click) { |e| type = e.type }
    foo.on(:mousedown) { |e| type = e.type }
    foo.on(:opal_random) { |e| type = e.type }

    foo.trigger(:click)
    type.should == :click

    foo.trigger(:mousedown)
    type.should == :mousedown

    foo.trigger(:opal_random)
    type.should == :opal_random
  end

  it '#target returns a JQuery wrapper around the element that triggered the event' do
    foo = Element['#foo']
    bar = Element['#bar']
    target = nil

    foo.on(:click) { |e| target = e.target.id }

    foo.trigger(:click)
    target.should == 'foo'

    bar.trigger(:click)
    target.should == 'bar'
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
opal-jquery-0.5.2 spec-opal/event_spec.rb
opal-jquery-0.5.1 spec-opal/event_spec.rb
opal-jquery-0.5.0 spec-opal/event_spec.rb
opal-jquery-0.4.6 spec-opal/event_spec.rb
opal-jquery-0.4.5 spec-opal/event_spec.rb
opal-jquery-0.4.4 spec-opal/event_spec.rb
opal-jquery-0.4.3 spec-opal/event_spec.rb