Sha256: e7878720506a5b2694641449932c1d9c451e6cf07d39ef18c76b4edcc764573a

Contents?: true

Size: 905 Bytes

Versions: 7

Compression:

Stored size: 905 Bytes

Contents

require 'spec_helper'

describe Browser::DOM::MutationObserver do
  html <<-HTML
    <div id="mutate">
      <span></span>
    </div>
  HTML

  it 'notifies additions' do
    promise = Browser::Promise.new
    obs = Browser::DOM::MutationObserver.new {|mutations|
      expect(mutations.first.added.first.name).to eq('DIV')
      promise.resolve

      obs.disconnect
    }

    obs.observe $document[:mutate]

    $document[:mutate].add_child $document.create_element('div')

    promise.for_rspec
  end

  it 'notifies removals' do
    promise = Browser::Promise.new
    obs = Browser::DOM::MutationObserver.new {|mutations|
      expect(mutations.first.removed.first.name).to eq('SPAN')
      promise.resolve

      obs.disconnect
    }

    obs.observe $document[:mutate]

    $document[:mutate].first_element_child.remove

    promise.for_rspec
  end
end if Browser::DOM::MutationObserver.supported?

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
opal-browser-0.3.5 spec/dom/mutation_observer_spec.rb
opal-browser-0.3.4 spec/dom/mutation_observer_spec.rb
atome-opal-browser-0.3.9.5 spec/dom/mutation_observer_spec.rb
opal-browser-0.3.3 spec/dom/mutation_observer_spec.rb
opal-browser-0.3.2 spec/dom/mutation_observer_spec.rb
opal-browser-0.3.1 spec/dom/mutation_observer_spec.rb
opal-browser-0.3.0 spec/dom/mutation_observer_spec.rb