#!/usr/bin/env ruby #encoding: utf-8 $: << File.expand_path('../lib', File.dirname(__FILE__)) $: << File.dirname(__FILE__) require 'test/unit' require 'stub/cgi' require 'htmlgrid/composite' require 'htmlgrid/inputtext' require 'htmlgrid/form' class StubComposite < HtmlGrid::Composite attr_writer :container COMPONENTS = { [0,0,1] => :foo, } LABELS = true SYMBOL_MAP = { :bar => HtmlGrid::InputText, } attr_reader :model, :session public :resolve_offset, :labels? def init @barcount=0 super end def foo(model) 1.upto(2).each { |idx| @grid.add(baz(model), 0, idx, 0) } "Foo" end def baz(model) @barcount += 1 "Baz#{@barcount}" end end class StubCompositeModel end class StubCompositeLookandfeel def attributes(key) {} end def lookup(key) end def base_url 'http://www.oddb.org/de/gcc' end end class StubCompositeSession def lookandfeel StubCompositeLookandfeel.new end def error(key) end end class StubCompositeForm < HtmlGrid::Form COMPONENTS = { [0,0] => StubComposite } EVENT = :foo end class TestComposite < Test::Unit::TestCase def setup @composite = StubComposite.new(StubCompositeModel.new, StubCompositeSession.new) end def test_to_html expected = "
Foo
Baz1
Baz2
" expected = '
Foo
Baz1
Baz2
' puts expected assert_equal(expected, @composite.to_html(CGI.new)) end end