Sha256: f91277c39409de969f3fb8d9524d5df338d57055bc8773afa99dadd0e4772e01

Contents?: true

Size: 1.31 KB

Versions: 2

Compression:

Stored size: 1.31 KB

Contents

# -*- encoding: utf-8 -*-

require 'webgen/test_helper'
require 'webgen/tag/link'

class TestTagLink < MiniTest::Unit::TestCase

  include Webgen::TestHelper

  def test_call
    setup_context
    setup_default_nodes(@website.tree)
    @context[:chain] = [@website.tree['/file.en.html']]
    @context[:config] = {'tag.link.attr' => {}}

    # invalid paths
    @context[:config]['tag.link.path'] = ':/asdf=-)'
    assert_raises(Webgen::RenderError) { Webgen::Tag::Link.call('link', '', @context) }

    # basic node resolving
    assert_tag_result('<a class="help" href="dir2/index.en.html" hreflang="en">index en</a>', 'dir2/index.html')
    @context[:config]['tag.link.attr'] = {'title' => 'other'}
    assert_tag_result('<a class="help" href="dir2/index.en.html" hreflang="en" title="other">index en</a>', 'dir2/index.html')
    @context[:config]['tag.link.attr'] = {}
    assert_tag_result('', 'german.html')

    # non-existing fragments
    assert_tag_result('', 'file.html#hallo')

    # directory paths
    assert_tag_result('<a href="dir/">dir</a>', 'dir')
    assert_tag_result('<a class="help" href="dir2/index.en.html" hreflang="en">routed</a>', 'dir2')
  end

  def assert_tag_result(result, path)
    @context[:config]['tag.link.path'] = path
    assert_equal(result, Webgen::Tag::Link.call('link', '', @context))
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webgen-1.0.0.beta3 test/webgen/tag/test_link.rb
webgen-1.0.0.beta2 test/webgen/tag/test_link.rb