class TestWabisabiIndex

Public Instance Methods

test_all() click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-index.rb, line 142
def test_all
  w = [:html, [:div, {:class=>'main'},
      [:div, {:class=>'day'}, [:h2, 'bh2']],
      [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']]]]

  # test_make_index
  w.make_index

  # test_index_tag
  assert_equal [:h2, 'bh2'], w.index_tag(:h2)

  # test_index_class
  assert_equal [:div, {:class=>'sidebar'}, [:h2, 'sh2', [:b, 'a'], 'sh2a']],
        w.index_class('sidebar')

  # test_index_each_tag
  w = [:p, '']
  w.make_index
  nw = w.index_each_tag(:a) {|ww|
    [ww]
  }

  w = [[:a, '']]
  w.make_index
  w.index_each_tag(:a) {|ww|
    www = ww.dup
    www[-1] = 't'
    www
  }
  assert_equal [[:a, 't']], w
end
test_parent() click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-index.rb, line 101
def test_parent
  child = [:child]
  parent = [:parent, child]

  # test_parent
  assert_equal nil, child.parent

  # test_set_parent
  child.set_parent(parent)
  assert_equal [:parent, [:child]], child.parent

  # test_traverse_with_parent
  parent.traverse_with_parent {|p, c|
    assert_equal [:parent, [:child]], p
    assert_equal [:child], c
  }

  # test_set_all_parent
  parent.set_all_parent
  assert_equal [:parent, [:child]], child.parent
end
test_parent_real() click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-index.rb, line 123
def test_parent_real
  w = [:html,
    [:div, {:class=>'main'},
      [:div, {:class=>'day'},
        [:h2, 'bh2']],
      [:div, {:class=>'sidebar'},
        [:h2, 'sh2',
          [:b, 'a'], 'sh2a']]]]

  # test_set_all_parent
  w.set_all_parent

  # test_parent
  ok_eq(nil, w.parent)
  ok_eq(w, w[1].parent)
  ok_eq([:h2, 'sh2', [:b, 'a'], 'sh2a'],
        w[1][3][2][2].parent)
end