spec/jldrill/model/Kanji_spec.rb in jldrill-0.5.1.7 vs spec/jldrill/model/Kanji_spec.rb in jldrill-0.6.0.1
- old
+ new
@@ -1,5 +1,6 @@
+# encoding: utf-8
require 'jldrill/model/moji/Kanji'
require 'jldrill/model/moji/Radical'
require 'jldrill/model/Config'
module JLDrill
@@ -50,6 +51,31 @@
kanji = list.findChar("δΈ€")
kanji.should_not be_nil
end
end
+
+ describe KanjiFile do
+ it "should be able to read the file in chunks" do
+ kf = KanjiFile.new
+ kf.lines.size.should be(0)
+ kf.file = (File.join(Config::DATA_DIR, "tests/kanji.dat"))
+ kf.readLines
+ kf.encoding.should eql(Kconv::UTF8)
+ kf.lines.size.should be(100)
+ # Not EOF yet
+ kf.parseChunk(10).should eql(false)
+ kf.fraction.should eql(0.10)
+ kf.parseChunk(10).should eql(false)
+ kf.fraction.should eql(0.20)
+ # Read to the EOF
+ kf.parseChunk(1000).should eql(true)
+
+ # It should dispose of the unparsed lines after parsing
+ kf.fraction.should eql(0.0)
+ kf.lines.should eql([])
+
+ kf.kanjiList.size.should eql(100)
+ end
+ end
+
end