#!/usr/bin/env ruby require 'test/unit' currentPath = File.dirname(__FILE__) require File.join( currentPath, '../lib/masterview' ) require File.join( currentPath, '../lib/masterview/directives/hidden_field') class TestHiddenField < Test::Unit::TestCase include MasterView::Directives def setup @directives = MasterView::DirectiveSet.new end def hidden_field_exec(obj, method, other, options) attr_value = "#{obj}, #{method}" attr_value << ', ' << other unless other.nil? tag = MasterView::Tag.new(@directives, 'input', options, :normal, nil) @directives.directives = [] @directives << Hidden_field.new(attr_value) assert_equal nil, @directives.determine_dcs(:stag).render dcs = @directives.determine_dcs(:etag) dcs.context = tag.create_context dcs.context[:tag].content = "hello world" dcs.render end def test_normal obj = ':product' method = ':price' ret = hidden_field_exec(obj, method, nil, { 'type' => 'hidden', 'value' => 'fake text' } ) assert_equal "<%= hidden_field #{obj}, #{method} %>", ret end def test_extra obj = ':product' method = ':price' ret = hidden_field_exec(obj, method, "'more', 'stuff'", { 'type' => 'hidden', 'value' => 'fake text' } ) assert_equal "<%= hidden_field #{obj}, #{method} %>", ret end def test_all obj = ':product' method = ':price' ret = hidden_field_exec(obj, method, nil, { 'type' => 'hidden', 'value' => 'fake text' } ) assert_equal "<%= hidden_field #{obj}, #{method} %>", ret end def test_all_uc obj = ':product' method = ':price' ret = hidden_field_exec(obj, method, nil, { 'TYPE' => 'HIDDEN', 'value' => 'fake text' } ) assert_equal "<%= hidden_field #{obj}, #{method} %>", ret end end