require File.dirname(__FILE__) + '/../../../../test/test_helper' require File.expand_path(File.dirname(__FILE__) + '/helper_testcase') class TinyMceHelperTest < HelperTestCase include TinyMCEHelper def setup @uses_tiny_mce = nil super end def test_javascript_include_tiny_mce assert_match /\/javascripts\/tiny_mce\/tiny_mce.js/, javascript_include_tiny_mce # We don't match the full string because asset timestamping gets in the way... end def test_javascript_include_tiny_mce_if_used assert_nil javascript_include_tiny_mce_if_used @uses_tiny_mce = true assert_match /\/javascripts\/tiny_mce\/tiny_mce.js/, javascript_include_tiny_mce_if_used end def test_tiny_mce_alias_is_available_for_helper assert respond_to?(:tiny_mce) assert_equal tiny_mce_init, tiny_mce end def test_tiny_mce_with_default_options_produces_tiny_mce_with_simple_theme_in_textareas_mode assert_equal "", tiny_mce end def test_tiny_mce_with_array_of_plugins_produces_comma_separated_values assert_equal "", tiny_mce_init(:plugins => %w{table contextmenu paste -externalplugin}) end def test_tiny_mce_with_true_value_for_debug_produces_true_literal assert_equal "", tiny_mce_init('debug' => true) end def test_tiny_mce_with_false_value_for_debug_produces_false_literal assert_equal "", tiny_mce_init(:debug => false) end def test_tiny_mce_overriding_default_values assert_equal "", tiny_mce_init(:theme => 'advanced', :mode => 'specific_textareas', :editor_selector => 'test-selector') end def test_tiny_mce_with_numeric_value_for_width_produces_string assert_equal "", tiny_mce_init(:width => 50) end def test_tiny_mce_raises_exception assert_raise(TinyMCEHelper::InvalidOption) {tiny_mce(:invalid_option => true)} assert_raise(TinyMCEHelper::InvalidOption) {tiny_mce(:mode => Class)} end def test_using_tiny_mce_eh assert !using_tiny_mce? @uses_tiny_mce = true assert using_tiny_mce? end def test_include_tiny_mce_if_needed_includes_and_inits @uses_tiny_mce = true assert_match /