class TestWabisabiTraverse

Public Instance Methods

test_all() click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-traverse.rb, line 129
def test_all
  # test_get_path
  h = [:html, [:div, {:class=>'main'},
      [:div, {:class=>'day'}, [:h2, 'bh2']],
      [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']]]]
  t_make_public(Array, :get_has_attr)
  assert_equal [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']],
    h.get_has_attr(:class, 'sidebar')
  assert_equal [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']],
    h.get_path("//div[@class='sidebar']")
  assert_equal [:b, 'a'], h.get_path("//div[@class='sidebar']/b")
  assert_equal [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']],
    h.get_a_path("div[@class='sidebar']")
  assert_equal [:b, 'a'],
    h.get_a_path("div[@class='sidebar']").get_a_path('b')

  # test_get_tag1
  h = [:a, {:href=>'t1', :alt=>'t2'}, 't3']
  e = h.get_tag('a')
  assert_equal [:a, {:href=>'t1', :alt=>'t2'}, 't3'], e

  # test_get_tag2
  h = [:a, [:b, [:c]]]
  assert_equal [:c], h.get_tag('c')
  assert_equal [:b, [:c]], h.get_tag('b')

  # test_get_tag3
  h = [:a, [:b, 'tb'], [:b, 'tb2'], [:c]]
  assert_equal [:b, 'tb'], h.get_tag('b')
  assert_equal nil, h.get_tag('nosuchtag')
  assert_equal [:b, 'tb'], h.get_tag('b[1]')
  assert_equal [:b, 'tb2'], h.get_tag('b[2]')
  assert_equal [:b, 'tb'], h.get_tag('//b')

  # test_get_path_with_space
  h = [:html, [:div, {:class=>'main'},
      [:div, {:class=>'day edit'}, [:h2, 'bh2']],
      [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']]]]
  assert_equal [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']],
    h.get_path("//div[@class='sidebar']")
  assert_equal [:div, {:class=>'day edit'}, [:h2, 'bh2']],
    h.get_path("//div[@class='day edit']")

  # test_get_has_attr
  h = [:html,
    [:div, {:class=>'main'},
      [:div, {:id=>'menu'},
        [:h2, 'menuh2']]]]
  assert_equal [:div, {:id=>'menu'}, [:h2, 'menuh2']],
    h.get_has_attr(:id, 'menu')
  assert_equal [:div, {:id=>'menu'}, [:h2, 'menuh2']],
    h.get_path("//div[@id='menu']")
end
test_private() click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-traverse.rb, line 184
def test_private
  e = []

  # test_parse_attr_selector
  t_make_public(Array, :parse_attr_selector)
 #assert_raise(RuntimeError){ e.parse_attr_selector('a') }
  assert_raise(RuntimeError){ e.parse_attr_selector('a=b') }
  assert_equal [:a, 'b'], e.parse_attr_selector('@a=b')
  assert_equal [:a, 'b c'], e.parse_attr_selector("@a='b c'")

  # test_get_has_attr

  # test_each_has_attr

  # test_split_name_num
  t_make_public(Array, :split_name_num)
  assert_equal ['sidebar', 1], e.split_name_num('sidebar')
  assert_equal ['sidebar', 1], e.split_name_num('sidebar[1]')
  assert_equal ['sidebar', 2], e.split_name_num('sidebar[2]')

  # test_find_nth_element
end