Sha256: bf9abff0deb6fb21c65e63ff1310c4043d3176e528534adec658d247771eb5f6

Contents?: true

Size: 1.32 KB

Versions: 36

Compression:

Stored size: 1.32 KB

Contents

require 'spec_helper'

describe "the inline_template function" do
  before :all do
    Puppet::Parser::Functions.autoloader.loadall
  end

  let(:node) { Puppet::Node.new('localhost') }
  let(:compiler) { Puppet::Parser::Compiler.new(node) }
  let(:scope) { Puppet::Parser::Scope.new(compiler) }

  it "should concatenate template wrapper outputs for multiple templates" do
    expect(inline_template("template1", "template2")).to eq("template1template2")
  end

  it "should raise an error if the template raises an error" do
    expect { inline_template("<% raise 'error' %>") }.to raise_error(Puppet::ParseError)
  end

  it "is not interfered with by a variable called 'string' (#14093)" do
    scope['string'] = "this is a variable"
    expect(inline_template("this is a template")).to eq("this is a template")
  end

  it "has access to a variable called 'string' (#14093)" do
    scope['string'] = "this is a variable"
    expect(inline_template("string was: <%= @string %>")).to eq("string was: this is a variable")
  end

  it 'is not available when --tasks is on' do
    Puppet[:tasks] = true
    expect {
      inline_template("<%= lookupvar('myvar') %>")
    }.to raise_error(Puppet::ParseError, /is only available when compiling a catalog/)
  end

  def inline_template(*templates)
    scope.function_inline_template(templates)
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
puppet-5.5.22 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.22-x86-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.22-x64-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.22-universal-darwin spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.21 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.21-x86-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.21-x64-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.21-universal-darwin spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.20 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.20-x86-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.20-x64-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.20-universal-darwin spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.19 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.19-x86-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.19-x64-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.19-universal-darwin spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.18 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.18-x86-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.18-x64-mingw32 spec/unit/parser/functions/inline_template_spec.rb
puppet-5.5.18-universal-darwin spec/unit/parser/functions/inline_template_spec.rb