https://github.com/jekyll/jekyll
Raw File
Tip revision: 317e2f460ea658780eaae4e3285049cce317de5d authored by Parker Moore on 24 January 2015, 17:55:46 UTC
Release :gem: v3.0.0.beta1
Tip revision: 317e2f4
test_liquid_extensions.rb
require 'helper'

class TestLiquidExtensions < Test::Unit::TestCase

  context "looking up a variable in a Liquid context" do
    class SayHi < Liquid::Tag
      include Jekyll::LiquidExtensions

      def initialize(tag_name, markup, tokens)
        @markup = markup.strip
      end

      def render(context)
        "hi #{lookup_variable(context, @markup)}"
      end
    end
    Liquid::Template.register_tag('say_hi', SayHi)
    setup do
      @template = Liquid::Template.parse("{% say_hi page.name %}") # Parses and compiles the template
    end

    should "extract the var properly" do
      assert_equal @template.render({'page' => {'name' => 'tobi'}}), 'hi tobi'
    end

    should "return the variable name if the value isn't there" do
      assert_equal @template.render({'page' => {'title' => 'tobi'}}), 'hi page.name'
    end
  end

end
back to top