Sha256: d0be8a84d4b897f23ee6a9a3de72ba605ac3bc913ec83acb089b4270be07d05b

Contents?: true

Size: 789 Bytes

Versions: 11

Compression:

Stored size: 789 Bytes

Contents

require File.join(File.dirname(__FILE__), "../..", "test_helper.rb")

describe "Relevance::Tarantula::Transform" do
  it "can do a simple replace" do
    t = Relevance::Tarantula::Transform.new(/\w/, ".")
    t["hello world"].should == "..... ....."
  end
  
  it "can do a replace with a block" do
    t = Relevance::Tarantula::Transform.new(/([aeiou])/, Proc.new {|value| value.upcase})
    t["hello world"].should == "hEllO wOrld"
  end

  # this is broken in Ruby?
  it "cannot access groups from a block, despite Ruby docs" do
    p = Proc.new {|value| $1.upcase}
    t = Relevance::Tarantula::Transform.new(/([aeiou])/, p)
    lambda {t["hello world"]}.should.raise(NoMethodError).message.should ==
                              "undefined method `upcase' for nil:NilClass"
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
relevance-tarantula-0.0.1 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.2 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.3 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.5 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.6 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.7.1 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.7 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.8.0 test/relevance/tarantula/transform_test.rb
relevance-tarantula-0.0.8.1 test/relevance/tarantula/transform_test.rb
tarantula-0.0.8.1 test/relevance/tarantula/transform_test.rb
tarantula-0.0.5 test/relevance/tarantula/transform_test.rb