#!/usr/bin/env ruby
require 'test/unit'
currentPath = File.dirname(__FILE__)
require File.join( currentPath, '../lib/masterview' )
require File.join( currentPath, 'test_helper' )
class TestTemplate < Test::Unit::TestCase
def test_attr
template = <<-END
foo bar
END
expected = {
'foo/bar' => "foo bar
"
}
assert_template_result expected, template
end
def test_attr_erb
template = <<-END
foo bar
END
expected = {
'foo/bar' => "\">foo bar
"
}
assert_template_result expected, template
end
def test_attr_erb2
template = <<-END
foo bar
END
expected = {
'foo/bar' => "\">foo bar
"
}
assert_template_result expected, template
end
def test_multi
template = <<-END
END
expected = {
'foo/bar' => "<%= h product[:price] %>
",
'baz/caz' => "<%= h product[:name] %>
"
}
assert_template_result expected, template
end
def test_multi_gen_render
template = <<-END
END
expected = {
'foo/bar' => "<%= h product[:price] %><%= render( :partial => 'baz/caz' ) %>
",
'baz/_caz.rhtml' => "<%= h product[:name] %>
"
}
assert_template_result expected, template
end
def test_multi_spec_dir
template = <<-END
END
expected = {
'/a/b/foo/bar' => "<%= h product[:price] %>
",
'/a/b/baz/caz' => "<%= h product[:name] %>
"
}
assert_template_result expected, template, :output_dir => '/a/b'
end
def test_replace
template = <<-END
foo bar
END
expected = {
'foo/bar' => "<%= h product[:price] %>
"
}
assert_template_result expected, template
end
def test_block_and_content
template = <<-END
END
expected = {
'foo/bar' => "<% @products.each do |product| %>Name: | <%= product.name %> |
<% end %>
"
}
assert_template_result expected, template
end
def test_form
template = <<-END
END
expected = {
'foo/bar' => "<%= form_tag {:action => 'create'}, :method => \"get\" %>hello world <%= end_form_tag %>
"
}
assert_template_result expected, template
end
def test_link_to
template = <<-END
END
expected = {
'foo/bar' => "<%= link_to 'Hello World', :action => 'show', :id => @product %>
"
}
assert_template_result expected, template
end
def test_link_to_if
template = <<-END
END
expected = {
'foo/bar' => "<%= link_to_if @product_pages.current.previous, 'Previous page', {:page => @product_pages.current.previous } %>
"
}
assert_template_result expected, template
end
def test_submit
template = <<-END
END
expected = {
'foo/bar' => "<%= submit_tag 'Hello World', :foo => 'bar' %>
"
}
assert_template_result expected, template
end
def test_text_field
template = <<-END
END
expected = {
'foo/bar' => "<%= text_field 'product', 'price', :maxlength => 21, :size => 10 %>
"
}
assert_template_result expected, template
end
def test_hidden_field
template = <<-END
END
expected = {
'foo/bar' => "<%= hidden_field 'product', 'price' %>
"
}
assert_template_result expected, template
end
def test_password_field
template = <<-END
END
expected = {
'foo/bar' => "<%= password_field 'product', 'price', :maxlength => 21, :size => 10 %>
"
}
assert_template_result expected, template
end
def test_text_area
template = <<-END
END
expected = {
'foo/bar' => "<%= text_area 'product', 'desc', :class => \"foo\", :cols => 21, :disabled => true, :readonly => true, :rows => 10, :style => \"bar\" %>
"
}
assert_template_result expected, template
end
def test_example
template = <<-END
foo bar
END
expected = {
'foo/bar' => "<%= h product[:price] %>
"
}
assert_template_result expected, template
end
def test_import
template = <<-END
foo bar
END
expected = { }
assert_template_result expected, template
end
def test_import2
template = <<-END
END
expected = {
'cat/dog' => "Hello World
"
}
assert_template_result expected, template
end
def test_import3
template = <<-END
END
expected = {
'egg/flower' => "Wow
",
'foo/bar' => "Hello
"
}
assert_template_result expected, template
end
def test_import_render
template = <<-END
END
expected = {
'foo/bar' => "Hello <%= render( :partial => 'cat/dog' ) %>
",
'egg/flower' => "Wow
"
}
assert_template_result expected, template
end
def test_omit_tag
template = <<-END
END
expected = {
'foo/bar' => "bar
"
}
assert_template_result expected, template
end
def test_omit_tag_eval
template = <<-END
END
expected = {
'foo/bar' => "<% if @hello %>
<% end %>bar<% if @hello %>
<% end %>
"
}
assert_template_result expected, template
end
def test_omit_tag_root
template = <<-END
hello world
END
expected = {
'foo/bar' => " hello world "
}
assert_template_result expected, template
end
def test_omit_tag_root_with_children
template = <<-END
hello world
END
expected = {
'foo/bar' => " hello world"
}
assert_template_result expected, template
end
def test_omit_tag_root_with_nested_generate
template = <<-END
first layer
hello world
END
expected = {
'foo/bar' => " first layer ",
'baz/cat' => "hello world"
}
assert_template_result expected, template
end
def test_omit_tag_root_with_nested_gen_render
template = <<-END
first layer
hello world
END
expected = {
'foo/bar' => " first layer <%= render( :partial => 'baz/cat' ) %>",
'baz/_cat.rhtml' => "hello world"
}
assert_template_result expected, template
end
end