Sha256: aaf71df733bc884a52d69361c48900ae24753841c388f4493274d4719e91f8f4

Contents?: true

Size: 830 Bytes

Versions: 5

Compression:

Stored size: 830 Bytes

Contents

# frozen_string_literal: true

require './transforms/<%= @name %>/transform.rb'
RSpec.describe <%= @name.capitalize %>Transform do
  describe '<%= @name.capitalize %> transform' do
    Dir.glob('transforms/<%= @name %>/fixtures/*_input.rb').each do |input|
      p input
      it "transforms #{input}" do
        source = File.read(input)

        temp = Parser::CurrentRuby.parse(source)
        rewriter = <%= @name.capitalize %>Transform.new

        buffer        = Parser::Source::Buffer.new('(example)')
        buffer.source = source
        # Rewrite the AST, returns a String with the new form.
        transform = rewriter.rewrite(buffer, temp)

        output_fixture = input.gsub('_input.rb', '_output.rb')
        output = File.read(output_fixture)
        expect(transform).to eq(output)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cybertron-0.2.5 lib/templates/transforms/spec.tt
cybertron-0.2.4 lib/templates/transforms/spec.tt
cybertron-0.2.3 lib/templates/transforms/spec.tt
cybertron-0.1.3 lib/templates/transforms/spec.tt
cybertron-0.1.2 lib/templates/transform_spec.tt