Changeset 5300 for platform/tdiary/test
- Timestamp:
- 01/23/08 00:02:56 (10 months ago)
- Files:
-
- 1 modified
-
platform/tdiary/test/my_hotentry_test.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
platform/tdiary/test/my_hotentry_test.rb
r5070 r5300 1 #!/usr/bin/env ruby2 1 $KCODE = 'e' 3 require 'test/unit' 2 require 'rubygems' 3 gem 'rspec' 4 require 'spec' 4 5 require 'tmpdir' 5 6 require 'fileutils' 6 7 begin 8 $:.unshift(File.join(File.dirname(__FILE__), "..", "plugin")) 7 9 require 'my_hotentry' 8 10 rescue 9 11 end 10 12 11 class MyHotEntryTest < Test::Unit::TestCase 12 def setup 13 # @cache_path は「ファイル名-プロセス番号」 14 @cache_path = File.join(Dir.tmpdir, "#{__FILE__}-#{$$}")15 Dir.mkdir(@cache_path)16 @dbfile = "#{@cache_path}/my_hotentry.dat"17 end13 describe "MyHotEntry" do 14 before do 15 # @cache_path �ϡ֥ե�����-�ץ����� 16 @cache_path = File.join(Dir.tmpdir, "#{__FILE__}-#{$$}") 17 Dir.mkdir(@cache_path) 18 @dbfile = "#{@cache_path}/my_hotentry.dat" 19 end 18 20 19 def teardown 20 FileUtils.rmtree(@cache_path)21 end21 after do 22 FileUtils.rmtree(@cache_path) 23 end 22 24 23 def test_update 24 # 人気の日記一覧を取得する 25 base_url = 'http://d.hatena.ne.jp/' 26 hotentry = MyHotEntry.new(@dbfile) 27 hotentry.update(base_url) 28 # キャッシュファイルが生成されていること 29 assert(File.file?(@dbfile)) 30 # 人気の日記が取得できていること 31 entries = hotentry.entries 32 assert(entries.size > 0) 33 entries.each do |entry| 34 assert(entry[:url].include?(base_url), 'base_url で指定したURLが含まれていること') 35 assert(entry[:title].size > 0) 36 end 37 end 25 it "update" do 26 # �͵���������� base_url = 'http://d.hatena.ne.jp/' 27 hotentry = MyHotEntry.new(@dbfile) 28 hotentry.update(base_url) 29 # �������������뤬���������뤳�� File.file?(@dbfile).should be_true 30 # �͵������Ǥ��Ƥ��뤳�� entries = hotentry.entries 31 entries.size.should > 0 32 entries.each do |entry| 33 entry[:url].should be_include(base_url) 34 entry[:title].size.should > 0 35 end 36 end 38 37 39 # 何度も取得してもキャッシュサイズが大きくならないこと 40 def test_double_update 41 base_url = 'http://d.hatena.ne.jp/' 42 hotentry = MyHotEntry.new(@dbfile) 43 sleep 0.5 44 hotentry.update(base_url) 45 assert(hotentry.entries.size > 0) 46 size = hotentry.entries.size 47 sleep 0.5 48 hotentry.update(base_url) 49 assert_equal(size, hotentry.entries.size) 50 end 38 # ���������Ƥ⥭�����奵������������ʤ������� it "double update" do 39 base_url = 'http://d.hatena.ne.jp/' 40 hotentry = MyHotEntry.new(@dbfile) 41 sleep 0.5 42 hotentry.update(base_url) 43 hotentry.entries.size.should > 0 44 size = hotentry.entries.size 45 sleep 0.5 46 hotentry.update(base_url) 47 hotentry.entries.size.should == size 48 end 51 49 52 # 取得結果が空の場合はキャッシュをクリアしない 53 def test_update_noentry 54 exist_url = 'http://d.hatena.ne.jp/'55 empty_url = 'http://empty-url-123456'56 hotentry = MyHotEntry.new(@dbfile)50 # ����������ϥ����������ꥢ���ʤ� 51 it "update noentry" do 52 exist_url = 'http://d.hatena.ne.jp/' 53 empty_url = 'http://empty-url-123456' 54 hotentry = MyHotEntry.new(@dbfile) 57 55 58 sleep 0.559 hotentry.update(empty_url)60 assert_equal(0, hotentry.entries.size) 56 sleep 0.5 57 hotentry.update(empty_url) 58 hotentry.entries.size.should == 0 61 59 62 sleep 0.563 hotentry.update(exist_url)64 assert(hotentry.entries.size > 0) 65 exist_size = hotentry.entries.size60 sleep 0.5 61 hotentry.update(exist_url) 62 hotentry.entries.size.should > 0 63 exist_size = hotentry.entries.size 66 64 67 sleep 0.568 hotentry.update(empty_url)69 assert_equal(exist_size, hotentry.entries.size) 70 end65 sleep 0.5 66 hotentry.update(empty_url) 67 hotentry.entries.size.should == exist_size 68 end 71 69 end 72
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)