require File.join(File.dirname(__FILE__), 'spartan_helper') require 'active_test/asserts/assigns' class SimpleController def page_found @simple = "set" @fruits = [:apples, :pears, :bananas, :mangoes, :papayas, 6, "cheese", [:wine]] end end class AssertsAssignsTest < Test::Unit::TestCase include ActiveTest::Asserts::Assigns def setup @controller = SimpleController.new get :page_found end def test_should_assert_assign_simple_is_set assert_assigned :simple end def test_should_assert_not_assigned_complex assert_not_assigned :complex end def test_should_assert_simple_equals_set assert_assigned :simple, "set" end def test_should_assert_simple_not_equal_to_tes assert_not_assigned :simple, "tes" end def test_should_assert_is_enumerable_for_inclusion assert_raises(Test::Unit::AssertionFailedError) { assert_assign_includes :complex, "non-existent" } assert_raises(Test::Unit::AssertionFailedError) { assert_assign_excludes :complex, "non-existent" } end def test_should_assert_is_included assert_assign_includes :fruits, :apples end def test_should_assert_is_excluded assert_assign_excludes :fruits, :pineapples end def test_should_assert_includes_different_data_types assert_assign_includes :fruits, 6 assert_assign_includes :fruits, "cheese" assert_assign_includes :fruits, [:wine] end def test_should_assert_excludes_different_data_types assert_assign_excludes :fruits, 3 assert_assign_excludes :fruits, "bread" assert_assign_excludes :fruits, [:sacrements] end protected def get(action) @controller.send action end def assigns(symbol) @controller.instance_variable_get("@#{symbol}") end end