class TestActInterWiki

Public Instance Methods

ok(e, w) click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 168
def ok(e, w)
  ok_eq(e, Qwik::Resolver.resolve(@site, @action, w))
end
test_all() click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 113
    def test_all
      page = @site.create('_InterWikiName')

      # test_interwiki
      page.store(',Test,http://example.com/?q=,sjis')
      ok_wi([:p, [:a, {:href=>'http://example.com/?q=t',
                  :class=>'interwiki'}, 'Test:t']], '[[Test:t]]')
      ok_eq([:a, {:href=>'http://example.com/?q=t',
                :class=>'interwiki'}, 'Test:t'],
            @action.plg_interwiki('Test:t'))
      ok_eq([:a, {:href=>'http://example.com/?q=t',
                :class=>'interwiki'}, 'content\n'],
            @action.plg_interwiki('Test:t') { 'content\n' })
      ok_wi([:p, [:a, {:href=>'http://example.com/?q=t',
                  :class=>'interwiki'}, 'text']], '[[text|Test:t]]')
      ok_wi([:p, [:span, {:class=>'interwiki'}, 'nosuchwiki:t']],
            '[[nosuchwiki:t]]')

      # test_interwiki_kanji
      page.store(<<'EOM')
,SJIS,http://example.com/?q=,sjis
,EUC,http://example.com/?q=,euc
,UTF8,http://example.com/?q=,utf8
EOM
      ok_wi([:p, [:a, {:href=>'http://example.com/?q=%8E%9A',
            :class=>'interwiki'}, 'SJIS:字']], '[[SJIS:字]]')
      ok_wi([:p, [:a, {:href=>'http://example.com/?q=%BB%FA',
            :class=>'interwiki'}, 'EUC:字']], '[[EUC:字]]')
      ok_wi([:p, [:a, {:href=>'http://example.com/?q=%E5%AD%97',
            :class=>'interwiki'},  'UTF8:字']], '[[UTF8:字]]')

      # test_interwiki_realuse
      page.store(<<'EOM')
,google,http://www.google.com/search?num=50&lr=lang_ja&q=,utf8
,isbn,http://www.amazon.co.jp/exec/obidos/ASIN/$1/ref=nosim/q02-22,raw
,amazon,http://www.amazon.co.jp/exec/obidos/external-search?tag=q02-22&keyword=$1&mode=blended,utf8
,hiki,http://www.namaraii.com/hiki/hiki.cgi?,euc
,yukiwiki,http://www.hyuki.com/yukiwiki/wiki.cgi?,euc
EOM
      ok_wi([:p, [:a, {:href=>"http://www.google.com/search?num=50&lr=lang_ja&q=%E5%AD%97", :class=>'interwiki'}, "google:字"]], "[[google:字]]")
      ok_wi([:p, [:a, {:href=>"http://www.google.com/search?num=50&lr=lang_ja&q=%3C", :class=>'interwiki'}, "google:<"]], "[[google:<]]")
      ok_wi([:p, [:a, {:href=>"http://www.amazon.co.jp/exec/obidos/ASIN/4797318325/ref=nosim/q02-22", :class=>'interwiki'}, 'isbn:4797318325']], "[[isbn:4797318325]]")
      ok_wi([:p, [:a, {:href=>"http://www.amazon.co.jp/exec/obidos/external-search?tag=q02-22&keyword=%E5%AD%97&mode=blended", :class=>'interwiki'}, "amazon:字"]], "[[amazon:字]]")
      ok_wi([:p, [:a, {:href=>"http://www.namaraii.com/hiki/hiki.cgi?%BB%FA", :class=>'interwiki'}, "hiki:字"]], "[[hiki:字]]")
      ok_wi([:p, [:a, {:href=>"http://www.hyuki.com/yukiwiki/wiki.cgi?%BB%FA", :class=>'interwiki'}, "yukiwiki:字"]], "[[yukiwiki:字]]")

      # test_interwiki_error
      ok_wi([:p, [:span, {:class=>'interwiki'}, 'a:b']], "[[a:b]]")
      ok_wi([:p, [:span, {:class=>'new'}, "\"D_R\", \"/v/w\"",
           [:a, {:href=>".new?t=%22D_R%22%2C+%22%2Fv%2Fw%22"},
             [:img, {:src=>'.theme/i/new.png', :alt=>'create'}]]]],
       "[[\"D_R\", \"/v/w\"]]")
      ok_wi([:p], "[[\"H_R\", \"h://e.c/\"]]")
    end
test_res() click to toggle source
# File vendor/qwik/lib/qwik/act-interwiki.rb, line 172
def test_res
  res = session

  ok([[:span, {:class=>'interwiki'}, 'Test:t']],
     [[:plugin, {:method=>'interwiki', :param=>'Test:t'}]])
  page = @site.create('_InterWikiName')
  page.store(",Test,http://example.com/?q=,sjis")
  ok([[:a, {:href=>"http://example.com/?q=t",
           :class=>'interwiki'}, 'Test:t']],
     [[:plugin, {:method=>'interwiki', :param=>'Test:t'}]])

  # test_interwiki_error
  ok([],
     [[:plugin, {:method=>'interwiki', :param=>"\"H_R\", \"h://e.c/\""},
         '']])
end