Sha256: 9a485fde68cf3c3d9511bb89b871cdc3bfb62c3f0be92e68a2234beeaa3ea21e

Contents?: true

Size: 1.46 KB

Versions: 2

Compression:

Stored size: 1.46 KB

Contents

#!/usr/bin/env ruby -w
libdir = File.expand_path('../../lib', __FILE__)
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)

require "test/unit"

class TestQuality < Test::Unit::TestCase
  def test_can_still_be_built
    Dir.chdir(root) do
      `gem build rets4r.gemspec`
      assert_equal 0, $?
    end
  end

  def test_has_no_malformed_whitespace
    error_messages = []
    Dir.chdir(root) do
      File.read("MANIFEST").split("\n").each do |filename|
        next if filename =~ /data/
        error_messages << check_for_tab_characters(filename)
        error_messages << check_for_extra_spaces(filename)
      end
    end
    assert_well_formed error_messages.compact
  end

  def assert_well_formed(actual)
    assert actual.empty?, actual.join("\n")
  end

  def check_for_tab_characters(filename)
    failing_lines = []
    File.readlines(filename).each_with_index do |line,number|
      failing_lines << number + 1 if line =~ /\t/
    end

    unless failing_lines.empty?
      "#{filename} has tab characters on lines #{failing_lines.join(', ')}"
    end
  end

  def check_for_extra_spaces(filename)
    failing_lines = []
    File.readlines(filename).each_with_index do |line,number|
      next if line =~ /^\s+#.*\s+\n$/
      failing_lines << number + 1 if line =~ /\s+\n$/
    end

    unless failing_lines.empty?
      "#{filename} has spaces on the EOL on lines #{failing_lines.join(', ')}"
    end
  end

  def root
    File.expand_path("../..", __FILE__)
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
rets4r-1.1.18 test/test_quality.rb
jschairb-rets4r-1.1.18 test/test_quality.rb