Sha256: 079ab1941d100e6250c4bb78d28a54d6c570c7788555dc7793679a8d606a5ce4

Contents?: true

Size: 1.37 KB

Versions: 7

Compression:

Stored size: 1.37 KB

Contents

require 'test_helper'

class WrapperTest < ActiveSupport::TestCase

  Wrapper = ExpressTemplates::Markup::Wrapper

  test "name compiles to just name" do
    assert_equal '"#{foo}"', Wrapper.new('foo').compile
  end

  test "simple args are preserved" do
    wrapper =  Wrapper.new('foo', "xyzzy", 'bar', "baz", 1, false, 3)
    assert_equal '"#{foo("xyzzy", "bar", "baz", 1, false, 3)}"', wrapper.compile
  end

  test "args are preserved" do
    wrapper =  Wrapper.new('foo', "xyzzy", bar: "baz")
    assert_equal '"#{foo("xyzzy", bar: "baz")}"', wrapper.compile
  end

  test "something returning nil when wrapped and compiled, evals to an empty string" do
    assert_equal '', eval(Wrapper.new('nil').compile)
  end

  test "double-braced args are evaluated in context" do
    wrapper = Wrapper.new('foo', "{{xyz}}", "{{zyx}}", bar: "baz")
    assert_equal '"#{foo(xyz, zyx, bar: "baz")}"', wrapper.compile
  end

  test "initializer block is preserved in compile" do
    wrapper = Wrapper.new('foo') { whatever }
    assert_equal '"#{foo { whatever }}"', wrapper.compile
    wrapper = Wrapper.new('foo', 'bar') { whatever }
    assert_equal '"#{foo("bar") { whatever }}"', wrapper.compile
  end

  test "lambda option values are evaluated in context" do
    wrapper = Wrapper.new('foo', bar: -> { something })
    assert_equal '"#{foo(bar: (-> { something }).call)}"', wrapper.compile
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
express_templates-0.3.0 test/markup/wrapper_test.rb
express_templates-0.2.7 test/markup/wrapper_test.rb
express_templates-0.2.6 test/markup/wrapper_test.rb
express_templates-0.2.5 test/markup/wrapper_test.rb
express_templates-0.2.4 test/markup/wrapper_test.rb
express_templates-0.2.3 test/markup/wrapper_test.rb
express_templates-0.2.2 test/markup/wrapper_test.rb