summaryrefslogtreecommitdiff
path: root/spec/unit/pops/transformer/transformer_rspec_helper.rb
blob: 94c3f02c128238ffa2f83cb105605abfa25cc8c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require 'puppet/pops'
require 'puppet/parser/ast'

require File.join(File.dirname(__FILE__), '/../factory_rspec_helper')

module TransformerRspecHelper
  include FactoryRspecHelper
  # Dumps the AST to string form
  #
  def astdump(ast)
    ast = transform(ast) unless ast.kind_of?(Puppet::Parser::AST)
    Puppet::Pops::Model::AstTreeDumper.new.dump(ast)
  end

  # Transforms the Pops model to an AST model
  #
  def transform(model)
    Puppet::Pops::Model::AstTransformer.new.transform(model)
  end

  # Parses the string code to a Pops model
  #
  def parse(code)
    parser = Puppet::Pops::Parser::Parser.new()
    parser.parse_string(code)
  end
end