Sha256: 6b7aa6c3a87bbf06b969c25e4bfb3ad487e8a4929af2d3ef5b9fa052ddac8622

Contents?: true

Size: 1.24 KB

Versions: 70

Compression:

Stored size: 1.24 KB

Contents

# -*- coding: utf-8 -*-
#
# @file
# @brief ファイルテスト用ユーティリティ
# @author ongaeshi
# @date 2011/02/21
#
#
# 以下のことを自動でやってくれます
#
# 1. tmpディレクトリの作成
# 2. tmpディレクトリに移動
# 3. テスト実行
# 4. 元のディレクトリに戻る
# 5. tmpディレクトリの削除
#
# また、以下の関数が使えます
#
# assert_diff_files(file1, file2)
#
# 二つのファイルが等しい場合はテスト成功
# 失敗した場合は二つのファイルのdiffを表示します

require 'pathname'
require 'fileutils'

module FileTestUtils
  def setup
    create_tmp_dir
    FileUtils.cd(@tmp_dir.to_s)
  end

  def assert_diff_files(file1, file2)
    unless (IO.read(file1) == IO.read(file2))
      puts `diff -c #{file1} #{file2}`
      assert_equal true, false
    else
      assert_equal true, true
    end
  end

  def teardown
    teardown_custom(true)
  end

  def teardown_custom(is_remove_dir)
    FileUtils.cd(@prev_dir)
    FileUtils.rm_rf(@tmp_dir.to_s) if (is_remove_dir)
  end

  private

  def create_tmp_dir
    @prev_dir = Dir.pwd
    @tmp_dir = Pathname(File.dirname(__FILE__)) + "tmp"
    FileUtils.rm_rf(@tmp_dir.to_s)
    FileUtils.mkdir_p(@tmp_dir.to_s)
  end
end

Version data entries

70 entries across 70 versions & 2 rubygems

Version Path
milkode-1.8.9.2 test/file_test_utils.rb
milkode-1.8.9.1 test/file_test_utils.rb
milkode-1.8.9 test/file_test_utils.rb
milkode-1.8.8 test/file_test_utils.rb
milkode-1.8.7 test/file_test_utils.rb
milkode-1.8.6 test/file_test_utils.rb
milkode-1.8.5 test/file_test_utils.rb
milkode-1.8.4 test/file_test_utils.rb
milkode-1.8.3 test/file_test_utils.rb
milkode-1.8.2 test/file_test_utils.rb
milkode-1.8.1 test/file_test_utils.rb
milkode-1.8.0 test/file_test_utils.rb
milkode-1.7.1 test/file_test_utils.rb
milkode-1.7.0 test/file_test_utils.rb
milkode-1.6.1 test/file_test_utils.rb
milkode-1.6.0 test/file_test_utils.rb
milkode-1.5.0 test/file_test_utils.rb
milkode-1.4.0 test/file_test_utils.rb
milkode-1.3.0 test/file_test_utils.rb
milkode-1.2.0 test/file_test_utils.rb