Sha256: 93f11928538d7cde774726b22474bd6416df89c4ca65f48912938fe87dd300eb

Contents?: true

Size: 1.46 KB

Versions: 8

Compression:

Stored size: 1.46 KB

Contents

require 'spec_helper'

describe Browser::DOM::Builder do
  it 'builds an element' do
    res = DOM {
      div
    }

    expect(res.name).to eq('DIV')
  end

  it 'builds an element with text content' do
    res = DOM {
      div "foo bar"
    }

    expect(res.text).to eq('foo bar')

    res = DOM {
      div {
        "foo bar"
      }
    }

    expect(res.text).to eq('foo bar')
  end

  it 'builds an element with attributes' do
    res = DOM {
      div class: :wut
    }

    expect(res.class_name).to eq(:wut)
  end

  it 'builds deeper trees' do
    res = DOM {
      div {
        span {
          "wut"
        }
      }
    }

    expect(res.name).to eq('DIV')
    expect(res.child.name).to eq('SPAN')
    expect(res.child.text).to eq('wut')
  end

  it 'sets classes with methods' do
    expect(DOM {
      div.nice.element
    }.class_names).to eq(%w[nice element])
  end

  it 'nests when setting classes' do
    res = DOM {
      div.nice.element {
        span.nicer 'lol'
      }
    }

    expect(res.name).to eq('DIV')
    expect(res.class_names).to eq(%w[nice element])
    expect(res.child.name).to eq('SPAN')
    expect(res.child.class_names).to eq(%w[nicer])
  end

  it 'joins class name properly' do
    res = DOM {
      i.icon[:legal]
    }

    expect(res.name).to eq('I')
    expect(res.class_names).to eq(%w[icon-legal])
  end

  it 'sets the id' do
    res = DOM {
      div.omg!
    }

    expect(res.name).to eq('DIV')
    expect(res.id).to eq('omg')
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

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