Changeset 5300 for platform/tdiary/test

Show
Ignore:
Timestamp:
01/23/08 00:02:56 (10 months ago)
Author:
kakutani
Message:

platform/tdiary/my_hotentry_test.rb: converted to spec file.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • platform/tdiary/test/my_hotentry_test.rb

    r5070 r5300  
    1 #!/usr/bin/env ruby 
    21$KCODE = 'e' 
    3 require 'test/unit' 
     2require 'rubygems' 
     3gem 'rspec' 
     4require 'spec' 
    45require 'tmpdir' 
    56require 'fileutils' 
    67begin 
     8        $:.unshift(File.join(File.dirname(__FILE__), "..", "plugin")) 
    79  require 'my_hotentry' 
    810rescue 
    911end 
    1012 
    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   end 
     13describe "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 
    1820 
    19   def teardown 
    20     FileUtils.rmtree(@cache_path) 
    21   end 
     21        after do 
     22                FileUtils.rmtree(@cache_path) 
     23        end 
    2224 
    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 
    3837 
    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 
    5149 
    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) 
    5755 
    58     sleep 0.5 
    59     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 
    6159 
    62     sleep 0.5 
    63     hotentry.update(exist_url) 
    64     assert(hotentry.entries.size > 0) 
    65     exist_size = hotentry.entries.size 
     60                sleep 0.5 
     61                hotentry.update(exist_url) 
     62                hotentry.entries.size.should > 0 
     63                exist_size = hotentry.entries.size 
    6664 
    67     sleep 0.5 
    68     hotentry.update(empty_url) 
    69     assert_equal(exist_size, hotentry.entries.size) 
    70   end 
     65                sleep 0.5 
     66                hotentry.update(empty_url) 
     67                hotentry.entries.size.should == exist_size 
     68        end 
    7169end 
    72