spec/scope_spec.rb in method_log-0.0.5 vs spec/scope_spec.rb in method_log-0.0.6

- old
+ new

@@ -1,96 +1,98 @@ require 'spec_helper' require 'method_log/scope' -describe MethodLog::Scope do - let(:root) { MethodLog::Scope::Root.new } +module MethodLog + describe Scope do + let(:root) { Scope::Root.new } - it 'ruby interactive style method identifier for top-level module' do - a = root.define(:A) - expect(a.method_identifier('foo')).to eq('A#foo') - end + it 'ruby interactive style method identifier for top-level module' do + a = root.define(:A) + expect(a.method_identifier('foo')).to eq('A#foo') + end - it 'ruby interactive style method identifier for module nested inside top-level module' do - a = root.define(:A) - b = a.define(:B) - expect(b.method_identifier('foo')).to eq('A::B#foo') - end + it 'ruby interactive style method identifier for module nested inside top-level module' do + a = root.define(:A) + b = a.define(:B) + expect(b.method_identifier('foo')).to eq('A::B#foo') + end - it 'ruby interactive style method identifier for module nested inside module nested inside top-level module' do - a = root.define(:A) - b = a.define(:B) - c = b.define(:C) - expect(c.method_identifier('foo')).to eq('A::B::C#foo') - end + it 'ruby interactive style method identifier for module nested inside module nested inside top-level module' do + a = root.define(:A) + b = a.define(:B) + c = b.define(:C) + expect(c.method_identifier('foo')).to eq('A::B::C#foo') + end - it 'ruby interactive style method identifier for method on singleton class' do - a = root.define(:A) - singleton = a.singleton - expect(singleton.method_identifier('foo')).to eq('A.foo') - end + it 'ruby interactive style method identifier for method on singleton class' do + a = root.define(:A) + singleton = a.singleton + expect(singleton.method_identifier('foo')).to eq('A.foo') + end - it 'ruby interactive style method identifier for method on singleton class nested inside top-level module' do - a = root.define(:A) - b = a.define(:B) - singleton = b.singleton - expect(singleton.method_identifier('foo')).to eq('A::B.foo') - end + it 'ruby interactive style method identifier for method on singleton class nested inside top-level module' do + a = root.define(:A) + b = a.define(:B) + singleton = b.singleton + expect(singleton.method_identifier('foo')).to eq('A::B.foo') + end - it 'looks up scope for top-level module' do - a = root.define(:A) - expect(a.lookup(:A)).to eq(a) - end + it 'looks up scope for top-level module' do + a = root.define(:A) + expect(a.lookup(:A)).to eq(a) + end - it 'looks up scopes for top-level module and nested module from nested module' do - a = root.define(:A) - b = a.define(:B) - expect(b.lookup(:A)).to eq(a) - expect(b.lookup(:B)).to eq(b) - end + it 'looks up scopes for top-level module and nested module from nested module' do + a = root.define(:A) + b = a.define(:B) + expect(b.lookup(:A)).to eq(a) + expect(b.lookup(:B)).to eq(b) + end - it 'looks up scopes for modules from double-nested module' do - a = root.define(:A) - b = a.define(:B) - c = b.define(:C) - expect(c.lookup(:A)).to eq(a) - expect(c.lookup(:B)).to eq(b) - expect(c.lookup(:C)).to eq(c) - end + it 'looks up scopes for modules from double-nested module' do + a = root.define(:A) + b = a.define(:B) + c = b.define(:C) + expect(c.lookup(:A)).to eq(a) + expect(c.lookup(:B)).to eq(b) + expect(c.lookup(:C)).to eq(c) + end - it 'looks up qualified module' do - a = root.define(:A) - b = a.define(:B) - c = b.define(:C) - expect(c.for([:A])).to eq(a) - expect(c.for([:A, :B])).to eq(b) - expect(c.for([:A, :B, :C])).to eq(c) - end + it 'looks up qualified module' do + a = root.define(:A) + b = a.define(:B) + c = b.define(:C) + expect(c.for([:A])).to eq(a) + expect(c.for([:A, :B])).to eq(b) + expect(c.for([:A, :B, :C])).to eq(c) + end - it 'defines missing modules' do - root.for([:A, :B, :C]) - a = root.lookup(:A) - b = a.lookup(:B) - c = b.lookup(:C) - expect(a).not_to be_nil - expect(b).not_to be_nil - expect(c).not_to be_nil - end + it 'defines missing modules' do + root.for([:A, :B, :C]) + a = root.lookup(:A) + b = a.lookup(:B) + c = b.lookup(:C) + expect(a).not_to be_nil + expect(b).not_to be_nil + expect(c).not_to be_nil + end - it 'returns root scope' do - a = root.define(:A) - b = a.define(:B) - c = b.define(:C) - expect(c.root).to eq(root) - end + it 'returns root scope' do + a = root.define(:A) + b = a.define(:B) + c = b.define(:C) + expect(c.root).to eq(root) + end - it 'looks up ambiguous module via top-level module' do - a = root.define(:A) - b = a.define(:B) - c = root.define(:C) - aa = c.define(:A) - bb = aa.define(:B) + it 'looks up ambiguous module via top-level module' do + a = root.define(:A) + b = a.define(:B) + c = root.define(:C) + aa = c.define(:A) + bb = aa.define(:B) - expect(c.for([:root, :A, :B])).to eq(b) + expect(c.for([:root, :A, :B])).to eq(b) + end end end