Sha256: f8eb3adc279d0bd3b29ffb3b691082e2bc1cbe64a19bb07a95180ec997635d1e

Contents?: true

Size: 1.75 KB

Versions: 10

Compression:

Stored size: 1.75 KB

Contents

# encoding: utf-8

class Nanoc::Filters::HandlebarsTest < Nanoc::TestCase

  def test_filter
    if_have 'handlebars' do
      # Create data
      item = Nanoc::Item.new(
        'content',
        { :title => 'Max Payne', :protagonist => 'Max Payne', :location => 'here' },
        '/games/max-payne/')
      layout = Nanoc::Layout.new(
        'layout content',
        { :name => 'Max Payne' },
        '/default/')
      config = { :animals => 'cats and dogs' }

      # Create filter
      assigns = {
        :item    => item,
        :layout  => layout,
        :config  => config,
        :content => 'No Payne No Gayne'
      }
      filter = ::Nanoc::Filters::Handlebars.new(assigns)

      # Run filter
      result = filter.setup_and_run('{{protagonist}} says: {{yield}}.')
      assert_equal('Max Payne says: No Payne No Gayne.', result)
      result = filter.setup_and_run('We can’t stop {{item.location}}! This is the {{layout.name}} layout!')
      assert_equal('We can’t stop here! This is the Max Payne layout!', result)
      result = filter.setup_and_run('It’s raining {{config.animals}} here!')
      assert_equal('It’s raining cats and dogs here!', result)
    end
  end

  def test_filter_without_layout
    if_have 'handlebars' do
      # Create data
      item = Nanoc::Item.new(
        'content',
        { :title => 'Max Payne', :protagonist => 'Max Payne', :location => 'here' },
        '/games/max-payne/')

      # Create filter
      assigns = {
        :item    => item,
        :content => 'No Payne No Gayne'
      }
      filter = ::Nanoc::Filters::Handlebars.new(assigns)

      # Run filter
      result = filter.setup_and_run('{{protagonist}} says: {{yield}}.')
      assert_equal('Max Payne says: No Payne No Gayne.', result)
    end
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
nanoc-3.7.4 test/filters/test_handlebars.rb
nanoc-3.7.3 test/filters/test_handlebars.rb
nanoc-3.7.2 test/filters/test_handlebars.rb
nanoc-3.7.1 test/filters/test_handlebars.rb
nanoc-3.7.0 test/filters/test_handlebars.rb
nanoc-3.6.11 test/filters/test_handlebars.rb
nanoc-3.6.10 test/filters/test_handlebars.rb
nanoc-3.6.9 test/filters/test_handlebars.rb
nanoc-3.6.8 test/filters/test_handlebars.rb
nanoc-3.6.7 test/filters/test_handlebars.rb