spec/util_spec.rb in mongoid_search-0.3.4 vs spec/util_spec.rb in mongoid_search-0.3.5

- old
+ new

@@ -1,73 +1,72 @@ -# encoding: utf-8 + require File.expand_path(File.dirname(__FILE__) + '/spec_helper') describe Mongoid::Search::Util do - before(:all) do @default_proc = Mongoid::Search.stem_proc end after(:all) do Mongoid::Search.stem_proc = @default_proc end before do Mongoid::Search.stem_keywords = false - Mongoid::Search.ignore_list = "" + Mongoid::Search.ignore_list = '' Mongoid::Search.stem_proc = @default_proc end - it "should return an empty array if no text is passed" do - expect(Mongoid::Search::Util.normalize_keywords("")).to eq [] + it 'should return an empty array if no text is passed' do + expect(Mongoid::Search::Util.normalize_keywords('')).to eq [] end - it "should return an array of keywords" do - expect(Mongoid::Search::Util.normalize_keywords("keyword").class).to eq Array + it 'should return an array of keywords' do + expect(Mongoid::Search::Util.normalize_keywords('keyword').class).to eq Array end - it "should return an array of strings" do - expect(Mongoid::Search::Util.normalize_keywords("keyword").first.class).to eq String + it 'should return an array of strings' do + expect(Mongoid::Search::Util.normalize_keywords('keyword').first.class).to eq String end - it "should remove accents from the text passed" do - expect(Mongoid::Search::Util.normalize_keywords("café")).to eq ["cafe"] + it 'should remove accents from the text passed' do + expect(Mongoid::Search::Util.normalize_keywords('café')).to eq ['cafe'] end - it "should downcase the text passed" do - expect(Mongoid::Search::Util.normalize_keywords("CaFé")).to eq ["cafe"] + it 'should downcase the text passed' do + expect(Mongoid::Search::Util.normalize_keywords('CaFé')).to eq ['cafe'] end - it "should downcase utf-8 chars of the text passed" do - expect(Mongoid::Search::Util.normalize_keywords("Кафе")).to eq ["кафе"] + it 'should downcase utf-8 chars of the text passed' do + expect(Mongoid::Search::Util.normalize_keywords('Кафе')).to eq ['кафе'] end - it "should split whitespaces, hifens, dots, underlines, etc.." do - expect(Mongoid::Search::Util.normalize_keywords("CaFé-express.com delicious;come visit, and 'win' an \"iPad\"")).to eq ["cafe", "express", "com", "delicious", "come", "visit", "and", "win", "an", "ipad"] + it 'should split whitespaces, hifens, dots, underlines, etc..' do + expect(Mongoid::Search::Util.normalize_keywords("CaFé-express.com delicious;come visit, and 'win' an \"iPad\"")).to eq %w[cafe express com delicious come visit and win an ipad] end - it "should stem keywords" do + it 'should stem keywords' do Mongoid::Search.stem_keywords = true - expect(Mongoid::Search::Util.normalize_keywords("A runner running and eating")).to eq ["runner", "run", "and", "eat"] + expect(Mongoid::Search::Util.normalize_keywords('A runner running and eating')).to eq %w[runner run and eat] end - it "should stem keywords using a custom proc" do + it 'should stem keywords using a custom proc' do Mongoid::Search.stem_keywords = true - Mongoid::Search.stem_proc = lambda { |word| word.upcase } + Mongoid::Search.stem_proc = ->(word) { word.upcase } - expect(Mongoid::Search::Util.normalize_keywords("A runner running and eating")).to eq ["RUNNER", "RUNNING", "AND", "EATING"] + expect(Mongoid::Search::Util.normalize_keywords('A runner running and eating')).to eq %w[RUNNER RUNNING AND EATING] end - it "should ignore keywords from ignore list" do + it 'should ignore keywords from ignore list' do Mongoid::Search.stem_keywords = true - Mongoid::Search.ignore_list = YAML.load(File.open(File.dirname(__FILE__) + '/config/ignorelist.yml'))["ignorelist"] - expect(Mongoid::Search::Util.normalize_keywords("An amazing awesome runner running and eating")).to eq ["an", "runner", "run", "and", "eat"] + Mongoid::Search.ignore_list = YAML.safe_load(File.open(File.dirname(__FILE__) + '/config/ignorelist.yml'))['ignorelist'] + expect(Mongoid::Search::Util.normalize_keywords('An amazing awesome runner running and eating')).to eq %w[an runner run and eat] end - it "should ignore keywords with less than two words" do - expect(Mongoid::Search::Util.normalize_keywords("A runner running")).not_to include "a" + it 'should ignore keywords with less than two words' do + expect(Mongoid::Search::Util.normalize_keywords('A runner running')).not_to include 'a' end - it "should not ignore numbers" do - expect(Mongoid::Search::Util.normalize_keywords("Ford T 1908")).to include "1908" + it 'should not ignore numbers' do + expect(Mongoid::Search::Util.normalize_keywords('Ford T 1908')).to include '1908' end end