Sha256: 1a66f95a4ad4ef70ec103cffd1304bc96a4b9c65380e5e29134c28d22f71b520
Contents?: true
Size: 1.64 KB
Versions: 6
Compression:
Stored size: 1.64 KB
Contents
require File.expand_path('../../helper', __FILE__) class HydeTest < TestCase def assert_fixture_works(path) build_fixture(path) { |control, var| assert File.exists?(var) if read(control) != read(var) flunk "Failed in #{var}\n" + "Control:\n" + read(control).gsub(/^/, '| ') + "\n\n" + "Variable:\n" + read(var).gsub(/^/, '| ') end } end def assert_fixture_fails(path, error=Hyde::Error, &blk) begin build_fixture(path) rescue error => e yield e else flunk "Assertion failed" end end def build_fixture(path, &blk) # Build project = build path Dir[project.root('control/**/*')].each do |control| next unless File.file?(control) var = control.sub('/control/', '/public/') yield control, var end if block_given? end def read(file) File.open(file) { |f| f.read } end teardown do # Remove the generated Dir[fixture('*', 'public')].each { |dir| FileUtils.rm_rf dir } end test "fixture one" do assert_fixture_works fixture('one') end test "fixture subclass" do assert_fixture_works fixture('subclass') end test "fixture extensions" do assert_fixture_works fixture('extensions') end test "fixture parent" do assert_fixture_works fixture('parent') end test "fixture sort" do assert_fixture_works fixture('sort') end test "fixture nested_layout" do assert_fixture_works fixture('nested_layout') end test "fixture fail_type" do assert_fixture_fails(fixture('fail_type')) { |e| assert e.message.include?('nonexistent') } end end
Version data entries
6 entries across 6 versions & 1 rubygems