Sha256: 44ad15b63395b7591ceda2d581b5d2f514494fb57a6b320fa8cb04dfba3e2a67

Contents?: true

Size: 1.42 KB

Versions: 19

Compression:

Stored size: 1.42 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
require 'usher'

describe Usher::Delimiters do
  describe "#unescaped" do
    it "should unescape delimiters correctly" do
      Usher::Delimiters.new(['/', '\)', '\\\\']).unescaped.should == ['/', ')', '\\']
    end
  end

  describe "#first_in" do
    describe "when there is a complex path with a lot of delimiters occurrences" do
      before :each do
        @delimiters = Usher::Delimiters.new ['@', '.', '/']
        @paths = ['var', '.', 'var', '/', 'var', '@']
      end

      it "should find nearest delimiter correctly" do
        @delimiters.first_in(@paths).should == '.'
        @delimiters.first_in(@paths[2..-1]).should == '/'
        @delimiters.first_in(@paths[4..-1]).should == '@'
      end
    end

    describe "when there are delimiters with escaped charaters" do
      before :each do
        @delimiters = Usher::Delimiters.new ['\\(', '\\)']
        @paths = ['var', '(', 'var', ')']
      end

      it "should find nearest delimiter in unescaped path" do
        @delimiters.first_in(@paths).should == '('
      end
    end

    describe "when there is no occurence of delimiters in path" do
      before :each do
        @delimiters = Usher::Delimiters.new ['-', '/']
        @paths = ['e', '@', 'ma', '.', 'il']
      end

      it "should return nil" do
        @delimiters.first_in(@paths).should be_nil
      end
    end
    
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
usher-0.8.3 spec/private/delimiters_spec.rb
usher-0.8.2 spec/private/delimiters_spec.rb
usher-0.8.1 spec/private/delimiters_spec.rb
usher-0.8.0 spec/private/delimiters_spec.rb
usher-0.7.5 spec/private/delimiters_spec.rb
usher-0.7.4 spec/private/delimiters_spec.rb
usher-0.7.3 spec/private/delimiters_spec.rb
usher-0.7.2 spec/private/delimiters_spec.rb
usher-0.7.1 spec/private/delimiters_spec.rb
usher-0.7.0 spec/private/delimiters_spec.rb
usher-0.6.8 spec/private/delimiters_spec.rb
usher-0.6.7 spec/private/delimiters_spec.rb
usher-0.6.6 spec/private/delimiters_spec.rb
usher-0.6.5 spec/private/delimiters_spec.rb
usher-0.6.4 spec/private/delimiters_spec.rb
usher-0.6.3 spec/private/delimiters_spec.rb
usher-0.6.2 spec/private/delimiters_spec.rb
usher-0.6.1 spec/private/delimiters_spec.rb
usher-0.6.0 spec/private/delimiters_spec.rb