Sha256: ed45d5298ebc5035097314f18837776ec956761985fd755c3800411b172e5421

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../../../test_helper')

describe ::Inch::Language::Elixir::CodeObject::ModuleObject do
  before do
    @codebase = fresh_codebase(:elixir, :inch_test, 'all.json')
    @objects = @codebase.objects
  end

  describe 'Scores' do
    #
    it 'should not' do
      m = @objects.find('InchTest.Functions')
      refute m.docstring.empty?
      refute m.undocumented?
      assert m.score >= 50
    end
  end

  it 'should recognize moduledoc' do
    m = @objects.find('InchTest.Invisible')
    # defined in Hello-World-Elixir, but not in report since
    # `@moduledoc false` excludes it
    assert m.nil?
  end

  it 'should recognize moduledoc' do
    m = @objects.find('InchTest.Invisible.foo')
    # defined in Hello-World-Elixir, but not in report since
    # `@moduledoc false` excludes it
    assert m.nil?
  end

  it 'should recognize protocols' do
    m = @objects.find('InchTest.Html.Safe')
    refute m.nodoc?
  end

  it 'should recognize implementations' do
    m = @objects.find('InchTest.Html.Safe.Atom')
    assert m.nodoc?
    assert m.priority < 0
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
inch-0.5.7 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.6 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.5 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.4 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.3 test/unit/language/elixir/code_object/module_object_test.rb