Sha256: 1fe25d3bb344ac9db9046c8136f4ed532d69bbb3086ce503091f76094da7b573

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

require 'lib/usher'


describe "String/regexp lookup table" do

  it "should accept strings and retrieve based on them" do
    l = Usher::Node::Lookup.new
    l['asd'] = 'qwe'
    l['asd'].should == 'qwe'
  end
  
  it "should accept regexs too" do
    l = Usher::Node::Lookup.new
    l[/asd.*/] = 'qwe'
    l['asdqweasd'].should == 'qwe'
  end

  it "should prefer string to regex matches" do
    l = Usher::Node::Lookup.new
    l['asd'] = 'qwe2'
    l[/asd.*/] = 'qwe'
    l['asd'].should == 'qwe2'
  end

  it "should allow nil keys" do
    l = Usher::Node::Lookup.new
    l[nil] = 'qwe2'
    l['asd'] = 'qwe'
    l['asd'].should == 'qwe'
    l[nil].should == 'qwe2'
  end

  it "should be able to delete by value for hash" do
    l = Usher::Node::Lookup.new
    l[nil] = 'qwe2'
    l['asd'] = 'qwe'
    l['asd'].should == 'qwe'
    l[nil].should == 'qwe2'
    l.delete_value('qwe2')
    l[nil].should == nil
  end

  it "should be able to delete by value for hash" do
    l = Usher::Node::Lookup.new
    l[/qwe.*/] = 'qwe2'
    l['asd'] = 'qwe'
    l['asd'].should == 'qwe'
    l['qweasd'].should == 'qwe2'
    l.delete_value('qwe2')
    l['qweasd'].should == nil
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
joshbuddy-usher-0.0.2 spec/node/lookup_spec.rb