class ActiveRecord::FixtureSet::FileTest
Public Instance Methods
fixture_helper()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 75 def fixture_helper "Fixture helper" end
test_empty_file()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 49 def test_empty_file tmp_yaml ["empty", "yml"], "" do |t| assert_equal [], File.open(t.path) { |fh| fh.to_a } end end
test_erb_filename()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 140 def test_erb_filename filename = "filename.yaml" erb = File.new(filename).send(:prepare_erb, "<% Quails.env %>\n") assert_equal erb.filename, filename end
test_erb_processing()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 42 def test_erb_processing File.open(::File.join(FIXTURES_ROOT, "developers.yml")) do |fh| devs = Array.new(8) { |i| "dev_#{i + 3}" } assert_equal [], devs - fh.to_a.map(&:first) end end
test_extracts_model_class_from_config_row()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 134 def test_extracts_model_class_from_config_row File.open(::File.join(FIXTURES_ROOT, "other_posts.yml")) do |fh| assert_equal "Post", fh.model_class end end
test_independent_render_contexts()
click to toggle source
Make sure that each fixture gets its own rendering context so that fixtures are independent.
# File activerecord/test/cases/fixture_set/file_test.rb, line 115 def test_independent_render_contexts yaml1 = "<% def leaked_method; 'leak'; end %>\n" yaml2 = "one:\n name: <%= leaked_method %>\n" tmp_yaml ["leaky", "yml"], yaml1 do |t1| tmp_yaml ["curious", "yml"], yaml2 do |t2| File.open(t1.path) { |fh| fh.to_a } assert_raises(NameError) do File.open(t2.path) { |fh| fh.to_a } end end end end
test_names()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 23 def test_names File.open(::File.join(FIXTURES_ROOT, "accounts.yml")) do |fh| assert_equal ["signals37", "unknown", "quails_core_account", "last_account", "quails_core_account_2", "odegy_account"].sort, fh.to_a.map(&:first).sort end end
test_open()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 9 def test_open fh = File.open(::File.join(FIXTURES_ROOT, "accounts.yml")) assert_equal 6, fh.to_a.length end
test_open_with_block()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 14 def test_open_with_block called = false File.open(::File.join(FIXTURES_ROOT, "accounts.yml")) do |fh| called = true assert_equal 6, fh.to_a.length end assert called, "block called" end
test_removes_fixture_config_row()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 128 def test_removes_fixture_config_row File.open(::File.join(FIXTURES_ROOT, "other_posts.yml")) do |fh| assert_equal(["second_welcome"], fh.each.map { |name, _| name }) end end
test_render_context_helper()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 73 def test_render_context_helper ActiveRecord::FixtureSet.context_class.class_eval do def fixture_helper "Fixture helper" end end yaml = "one:\n name: <%= fixture_helper %>\n" tmp_yaml ["curious", "yml"], yaml do |t| golden = [["one", { "name" => "Fixture helper" }]] assert_equal golden, File.open(t.path) { |fh| fh.to_a } end ActiveRecord::FixtureSet.context_class.class_eval do remove_method :fixture_helper end end
test_render_context_lookup_scope()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 90 def test_render_context_lookup_scope yaml = <<END one: ActiveRecord: <%= defined? ActiveRecord %> ActiveRecord_FixtureSet: <%= defined? ActiveRecord::FixtureSet %> FixtureSet: <%= defined? FixtureSet %> ActiveRecord_FixtureSet_File: <%= defined? ActiveRecord::FixtureSet::File %> File: <%= File.name %> END golden = [["one", { "ActiveRecord" => "constant", "ActiveRecord_FixtureSet" => "constant", "FixtureSet" => nil, "ActiveRecord_FixtureSet_File" => "constant", "File" => "File" }]] tmp_yaml ["curious", "yml"], yaml do |t| assert_equal golden, File.open(t.path) { |fh| fh.to_a } end end
test_values()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 34 def test_values File.open(::File.join(FIXTURES_ROOT, "accounts.yml")) do |fh| assert_equal [1, 2, 3, 4, 5, 6].sort, fh.to_a.map(&:last).map { |x| x["id"] }.sort end end
test_wrong_fixture_format_nested()
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 65 def test_wrong_fixture_format_nested tmp_yaml ["empty", "yml"], "one: two" do |t| assert_raises(ActiveRecord::Fixture::FormatError) do File.open(t.path) { |fh| fh.to_a } end end end
test_wrong_fixture_format_string()
click to toggle source
A
valid YAML file is not necessarily a value Fixture
file. Make sure an exception is raised if the format is not valid Fixture
format.
# File activerecord/test/cases/fixture_set/file_test.rb, line 57 def test_wrong_fixture_format_string tmp_yaml ["empty", "yml"], "qwerty" do |t| assert_raises(ActiveRecord::Fixture::FormatError) do File.open(t.path) { |fh| fh.to_a } end end end
Private Instance Methods
tmp_yaml(name, contents) { |t| ... }
click to toggle source
# File activerecord/test/cases/fixture_set/file_test.rb, line 147 def tmp_yaml(name, contents) t = Tempfile.new name t.binmode t.write contents t.close yield t ensure t.close true end