From 9a1c4eff90bcc6678bdbf63ef4733b2d59e8a618 Mon Sep 17 00:00:00 2001 From: Gibheer Date: Mon, 30 May 2011 22:22:52 +0200 Subject: [PATCH] fixed a bug in IndexReader#read which returned a hash instead of an array --- lib/polecat/index_reader.rb | 3 ++- spec/index_reader/read_spec.rb | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/polecat/index_reader.rb b/lib/polecat/index_reader.rb index 1817953..5902e29 100644 --- a/lib/polecat/index_reader.rb +++ b/lib/polecat/index_reader.rb @@ -29,8 +29,9 @@ class Polecat files.each do |file| documents += Marshal.load(File.read(file)) end + documents else - {} + [] end end diff --git a/spec/index_reader/read_spec.rb b/spec/index_reader/read_spec.rb index 76872ac..7e36d91 100644 --- a/spec/index_reader/read_spec.rb +++ b/spec/index_reader/read_spec.rb @@ -5,9 +5,9 @@ describe "IndexReader#read" do @path = prepare_index_dir end - it "returns a hash with all documents" do + it "returns a array with all documents" do r = Polecat::IndexReader.new @path - r.read.class.should == Hash + r.read.class.should == Array end it "returns an empty hash for a empty directory" do @@ -23,6 +23,13 @@ describe "IndexReader#read" do r.read.count.should == 1 end + it "returns an array of documents" do + w = Polecat::IndexWriter.new @path + w.add Spec::FooDocument.new(:id => 23) + w.write + w.create_reader.read[0].kind_of?(Polecat::Document).should == true + end + it "merges all documents from different files together" do w = Polecat::IndexWriter.new @path w.add Spec::FooDocument.new(:id => 23)