Sha256: e25b0ac2e46b00c2a1c85878c5f1b6d50fc9b05699da7ca667b599ebc6623b67

Contents?: true

Size: 923 Bytes

Versions: 4

Compression:

Stored size: 923 Bytes

Contents

# frozen_string_literal: true

require File.expand_path('../test_helper.rb', File.dirname(__FILE__))
require 'pt_testcase'

class TestParser < RipperRubyParser::Parser
  def process(input)
    parse input
  end
end

SKIPPED_TESTS = ['dstr_heredoc_windoze_sucks'].freeze

class RubyParserTestCase < ParseTreeTestCase
  def self.previous(_key)
    'Ruby'
  end

  def self.generate_test(klass, node, data, input_name, _output_name)
    if data['Ruby'].is_a? Array
      klass.send :define_method, "test_#{node}" do
        skip 'Not a parser test'
      end
      return
    end

    if SKIPPED_TESTS.include? node
      klass.send :define_method, "test_#{node}" do
        skip "Can't or won't fix this difference"
      end
      return
    end

    super klass, node, data, input_name, 'ParseTree'
  end
end

class TestRuby19Parser < RubyParserTestCase
  def setup
    super

    self.processor = TestParser.new
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ripper_ruby_parser-1.6.1 test/pt_testcase/pt_test.rb
ripper_ruby_parser-1.6.0 test/pt_testcase/pt_test.rb
ripper_ruby_parser-1.5.1 test/pt_testcase/pt_test.rb
ripper_ruby_parser-1.5.0 test/pt_testcase/pt_test.rb