Sha256: 8862a87a1563c1c7c1189ecd5109aab6ce11113c2a0ad0c1db7b9da5d8ef09c5

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

# encoding: utf-8
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe Util do
  it "should return an empty array if no text is passed" do
    Util.keywords("", false, "").should == []
  end

  it "should return an array of keywords" do
    Util.keywords("keyword", false, "").class.should == Array
  end

  it "should return an array of strings" do
    Util.keywords("keyword", false, "").first.class.should == String
  end

  it "should remove accents from the text passed" do
    Util.keywords("café", false, "").should == ["cafe"]
  end

  it "should downcase the text passed" do
    Util.keywords("CaFé", false, "").should == ["cafe"]
  end

  it "should split whitespaces, hifens, dots, underlines, etc.." do
    Util.keywords("CaFé-express.com delicious;come visit, and 'win' an \"iPad\"", false, "").should == ["cafe", "express", "com", "delicious", "come", "visit", "and", "win", "an", "ipad"]
  end

  it "should stem keywords" do
    Util.keywords("A runner running and eating", true, "").should == ["runner", "run", "and", "eat"]
  end

  it "should ignore keywords from ignore list" do
    Util.keywords("An amazing awesome runner running and eating", true, YAML.load(File.open(File.dirname(__FILE__) + '/config/ignorelist.yml'))["ignorelist"]).should == ["an", "runner", "run", "and", "eat"]
  end

  it "should ignore keywords with less than two words" do
    Util.keywords("A runner running", false, "").should_not include "a"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongoid_search-0.2.3 spec/util_spec.rb
mongoid_search-0.2.1 spec/util_spec.rb