require "spec_helper"
RSpec.describe Event do
html <<-HTML
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