Sha256: 2ed1b292485913bf0de9ee8b0c99233642bf91bf36705ffc9b7c5a3d257860df

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

require 'spec_helper'
require 'plugins/pre-commit/checks/checkstyle'

describe PreCommit::Checks::Checkstyle do
  let(:config) {double(PreCommit::Configuration, get: '')}
  let(:check) {PreCommit::Checks::Checkstyle.new(nil, config, [])}

  it "succeds if nothing changed" do
    expect(check.call([])).to be_nil
  end

  it "succeeds for good code" do
    files = [fixture_file('Good.java')]
    expect(check.call(files)).to be_nil
  end

  it "should fail for bad formatted code" do
    file = fixture_file("bad.java")

    result = check.call([file])

    expect(result).to include "File errors: #{file}"
    expect(result).to include "line: 1: error:"
    expect(result).to include "line: 1:7 error:"
  end

  it "should accept multiple fails" do
    # given
    file = fixture_file("bad.java")
    file2 = fixture_file("bad2.java")

    # when
    result = check.call([file, file2])

    # then
    expect(result).to include "File errors: #{file}"
    expect(result).to include "File errors: #{file2}"
  end

  it "should accept custom checkstyle" do
    # given
    ENV["CHECKSTYLE_CONFIG"] = "sun_checks.xml"
    files = [fixture_file('bad.java')]
    # when
    result = check.call(files)
    # then
    expect(result).to_not be_nil
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
java-checkstyle-1.0.5 spec/plugins/pre_commit/checks/checkstyle_spec.rb
java-checkstyle-1.0.4 spec/plugins/pre_commit/checks/checkstyle_spec.rb