Sha256: 9d72cd9085c641337d8ad3c823fc51328c4e61dbfefe7e60d78d4afa2a6b7074

Contents?: true

Size: 1.46 KB

Versions: 12

Compression:

Stored size: 1.46 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

  it 'should recognize code location' do
    m = @objects.find('InchTest.Functions')
    file = m.filename
    refute_nil file
    assert_equal 'lib/inch_test/functions.ex', file.relative_path
    assert_equal 9, file.line_no.to_i
  end

  it 'should recognize missing code location' do
    m = @objects.find('InchTest.FunctionObject')
    assert_nil m.filename
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
inch-0.6.2 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.1 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0.rc6 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0.rc5 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0.rc4 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0.rc3 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0.rc2 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.6.0.rc1 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.10 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.9 test/unit/language/elixir/code_object/module_object_test.rb
inch-0.5.8 test/unit/language/elixir/code_object/module_object_test.rb