tiny_mce_helper 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +13 -0
- data/README +178 -0
- data/Rakefile +80 -0
- data/init.rb +1 -0
- data/install.rb +7 -0
- data/lib/tiny_mce_helper.rb +244 -0
- data/tasks/tiny_mce_helper_tasks.rake +21 -0
- data/test/app_root/config/tiny_mce_options.yml +119 -0
- data/test/app_root/config_bak/tiny_mce_options.yml +119 -0
- data/test/files/sourceforge.html +1271 -0
- data/test/files/tinymce_2_0_8.tgz +0 -0
- data/test/files/tinymce_2_1_1_1.tgz +0 -0
- data/test/files/wiki.html +361 -0
- data/test/test_helper.rb +18 -0
- data/test/unit/tiny_mce_helper_test.rb +323 -0
- data/uninstall.rb +2 -0
- metadata +74 -0
Binary file
|
Binary file
|
@@ -0,0 +1,361 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
5
|
+
<meta name="keywords" content="TinyMCE:Configuration,Configuration/accessibility focus,Configuration/accessibility warnings,Configuration/add form submit trigger,Configuration/add unload trigger,Configuration/apply source formatting,Configuration/ask,Configuration/auto focus,Configuration/auto reset designmode,Configuration/auto resize,Configuration/browsers" />
|
6
|
+
<link rel="shortcut icon" href="/favicon.ico" />
|
7
|
+
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="Moxiecode Documentation Wiki (English)" />
|
8
|
+
<title>TinyMCE:Configuration - Moxiecode Documentation Wiki</title>
|
9
|
+
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/skins/monobook/main.css?9"; /*]]>*/</style>
|
10
|
+
<link rel="stylesheet" type="text/css" media="print" href="/skins/common/commonPrint.css" />
|
11
|
+
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/monobook/IE50Fixes.css";</style><![endif]-->
|
12
|
+
<!--[if IE 5.5000]><style type="text/css">@import "/skins/monobook/IE55Fixes.css";</style><![endif]-->
|
13
|
+
<!--[if IE 6]><style type="text/css">@import "/skins/monobook/IE60Fixes.css";</style><![endif]-->
|
14
|
+
<!--[if IE 7]><style type="text/css">@import "/skins/monobook/IE70Fixes.css?1";</style><![endif]-->
|
15
|
+
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js"></script>
|
16
|
+
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
|
17
|
+
|
18
|
+
<script type= "text/javascript">
|
19
|
+
var skin = "monobook";
|
20
|
+
var stylepath = "/skins";
|
21
|
+
|
22
|
+
var wgArticlePath = "/index.php/$1";
|
23
|
+
var wgScriptPath = "";
|
24
|
+
var wgServer = "http://wiki.moxiecode.com";
|
25
|
+
|
26
|
+
var wgCanonicalNamespace = "TinyMCE";
|
27
|
+
var wgNamespaceNumber = 100;
|
28
|
+
var wgPageName = "TinyMCE:Configuration";
|
29
|
+
var wgTitle = "Configuration";
|
30
|
+
var wgArticleId = 1515;
|
31
|
+
var wgIsArticle = true;
|
32
|
+
|
33
|
+
var wgUserName = null;
|
34
|
+
var wgUserLanguage = "en";
|
35
|
+
var wgContentLanguage = "en";
|
36
|
+
</script>
|
37
|
+
|
38
|
+
<script type="text/javascript" src="/skins/common/wikibits.js?1"><!-- wikibits js --></script>
|
39
|
+
<script type="text/javascript" src="/index.php?title=-&action=raw&gen=js"><!-- site js --></script>
|
40
|
+
<style type="text/css">/*<![CDATA[*/
|
41
|
+
@import "/index.php?title=MediaWiki:Common.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
|
42
|
+
@import "/index.php?title=MediaWiki:Monobook.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
|
43
|
+
@import "/index.php?title=-&action=raw&gen=css&maxage=18000";
|
44
|
+
/*]]>*/</style>
|
45
|
+
<!-- Head Scripts -->
|
46
|
+
</head>
|
47
|
+
<body class="mediawiki ns-100 ltr">
|
48
|
+
<div id="globalWrapper">
|
49
|
+
<div id="column-content">
|
50
|
+
<div id="content">
|
51
|
+
<a name="top" id="top"></a>
|
52
|
+
<h1 class="firstHeading">TinyMCE:Configuration</h1>
|
53
|
+
<div id="bodyContent">
|
54
|
+
<h3 id="siteSub">From Moxiecode Documentation Wiki</h3>
|
55
|
+
<div id="contentSub"></div>
|
56
|
+
<div id="jump-to-nav">Jump to: <a href="#column-one">navigation</a>, <a href="#searchInput">search</a></div> <!-- start content -->
|
57
|
+
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
|
58
|
+
<ul>
|
59
|
+
<li class="toclevel-1"><a href="#Configuration_reference"><span class="tocnumber">1</span> <span class="toctext">Configuration reference</span></a>
|
60
|
+
<ul>
|
61
|
+
<li class="toclevel-2"><a href="#Configuration_options"><span class="tocnumber">1.1</span> <span class="toctext">Configuration options</span></a>
|
62
|
+
<ul>
|
63
|
+
<li class="toclevel-3"><a href="#General"><span class="tocnumber">1.1.1</span> <span class="toctext">General</span></a></li>
|
64
|
+
<li class="toclevel-3"><a href="#Callbacks"><span class="tocnumber">1.1.2</span> <span class="toctext">Callbacks</span></a></li>
|
65
|
+
<li class="toclevel-3"><a href="#Cleanup.2FOutput"><span class="tocnumber">1.1.3</span> <span class="toctext">Cleanup/Output</span></a></li>
|
66
|
+
<li class="toclevel-3"><a href="#URL"><span class="tocnumber">1.1.4</span> <span class="toctext">URL</span></a></li>
|
67
|
+
<li class="toclevel-3"><a href="#Layout"><span class="tocnumber">1.1.5</span> <span class="toctext">Layout</span></a></li>
|
68
|
+
<li class="toclevel-3"><a href="#Visual_aids"><span class="tocnumber">1.1.6</span> <span class="toctext">Visual aids</span></a></li>
|
69
|
+
<li class="toclevel-3"><a href="#Undo.2FRedo"><span class="tocnumber">1.1.7</span> <span class="toctext">Undo/Redo</span></a></li>
|
70
|
+
<li class="toclevel-3"><a href="#File_lists"><span class="tocnumber">1.1.8</span> <span class="toctext">File lists</span></a></li>
|
71
|
+
<li class="toclevel-3"><a href="#Tab_specific"><span class="tocnumber">1.1.9</span> <span class="toctext">Tab specific</span></a></li>
|
72
|
+
<li class="toclevel-3"><a href="#Triggers.2FPatches"><span class="tocnumber">1.1.10</span> <span class="toctext">Triggers/Patches</span></a></li>
|
73
|
+
<li class="toclevel-3"><a href="#Advanced_theme"><span class="tocnumber">1.1.11</span> <span class="toctext">Advanced theme</span></a></li>
|
74
|
+
</ul>
|
75
|
+
</li>
|
76
|
+
</ul>
|
77
|
+
</li>
|
78
|
+
<li class="toclevel-1"><a href="#Initialization_of_TinyMCE"><span class="tocnumber">2</span> <span class="toctext">Initialization of TinyMCE</span></a>
|
79
|
+
<ul>
|
80
|
+
<li class="toclevel-2"><a href="#Example_of_TinyMCE_configuration"><span class="tocnumber">2.1</span> <span class="toctext">Example of TinyMCE configuration</span></a></li>
|
81
|
+
</ul>
|
82
|
+
</li>
|
83
|
+
</ul>
|
84
|
+
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
|
85
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=1" title="Edit section: Configuration reference">edit</a>]</div><a name="Configuration_reference"></a><h2> Configuration reference </h2>
|
86
|
+
<p>This document is the index/reference page for all available core configuration options in TinyMCE.
|
87
|
+
</p>
|
88
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=2" title="Edit section: Configuration options">edit</a>]</div><a name="Configuration_options"></a><h3> Configuration options </h3>
|
89
|
+
<p>All configuration options below are to be placed within the tinyMCE.init() JavaScript call.
|
90
|
+
</p>
|
91
|
+
<div style="float: left; width: 260px; padding: 5px;">
|
92
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=3" title="Edit section: General">edit</a>]</div><a name="General"></a><h4> General </h4>
|
93
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/accessibility_focus" title="TinyMCE:Configuration/accessibility focus">accessibility_focus</a>
|
94
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/accessibility_warnings" title="TinyMCE:Configuration/accessibility warnings">accessibility_warnings</a>
|
95
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/ask" title="TinyMCE:Configuration/ask">ask</a>
|
96
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/auto_focus" title="TinyMCE:Configuration/auto focus">auto_focus</a>
|
97
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/auto_reset_designmode" title="TinyMCE:Configuration/auto reset designmode">auto_reset_designmode</a>
|
98
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/auto_resize" title="TinyMCE:Configuration/auto resize">auto_resize</a>
|
99
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/browsers" title="TinyMCE:Configuration/browsers">browsers</a>
|
100
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/button_tile_map" title="TinyMCE:Configuration/button tile map">button_tile_map</a>
|
101
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/custom_shortcuts" title="TinyMCE:Configuration/custom shortcuts">custom_shortcuts</a>
|
102
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/debug" title="TinyMCE:Configuration/debug">debug</a>
|
103
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/default_document" title="TinyMCE:Configuration/default document">default_document</a>
|
104
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/dialog_type" title="TinyMCE:Configuration/dialog type">dialog_type</a>
|
105
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/directionality" title="TinyMCE:Configuration/directionality">directionality</a>
|
106
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/docs_language" title="TinyMCE:Configuration/docs language">docs_language</a>
|
107
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/editor_deselector" title="TinyMCE:Configuration/editor deselector">editor_deselector</a>
|
108
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/editor_selector" title="TinyMCE:Configuration/editor selector">editor_selector</a>
|
109
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/elements" title="TinyMCE:Configuration/elements">elements</a>
|
110
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/event_elements" title="TinyMCE:Configuration/event elements">event_elements</a>
|
111
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/focus_alert" title="TinyMCE:Configuration/focus alert">focus_alert</a>
|
112
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/gecko_spellcheck" title="TinyMCE:Configuration/gecko spellcheck">gecko_spellcheck</a>
|
113
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/hide_selects_on_submit" title="TinyMCE:Configuration/hide selects on submit">hide_selects_on_submit</a>
|
114
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/language" title="TinyMCE:Configuration/language">language</a>
|
115
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/mode" title="TinyMCE:Configuration/mode">mode</a>
|
116
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/nowrap" title="TinyMCE:Configuration/nowrap">nowrap</a>
|
117
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/object_resizing" title="TinyMCE:Configuration/object resizing">object_resizing</a>
|
118
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/plugins" title="TinyMCE:Configuration/plugins">plugins</a>
|
119
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/strict_loading_mode" title="TinyMCE:Configuration/strict loading mode">strict_loading_mode</a>
|
120
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/table_inline_editing" title="TinyMCE:Configuration/table inline editing">table_inline_editing</a>
|
121
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/textarea_trigger" title="TinyMCE:Configuration/textarea trigger">textarea_trigger</a>
|
122
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme" title="TinyMCE:Configuration/theme">theme</a>
|
123
|
+
</li></ul>
|
124
|
+
<p><br />
|
125
|
+
</p>
|
126
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=4" title="Edit section: Callbacks">edit</a>]</div><a name="Callbacks"></a><h4>Callbacks</h4>
|
127
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/cleanup_callback" title="TinyMCE:Configuration/cleanup callback">cleanup_callback</a>
|
128
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/execcommand_callback" title="TinyMCE:Configuration/execcommand callback">execcommand_callback</a>
|
129
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/file_browser_callback" title="TinyMCE:Configuration/file browser callback">file_browser_callback</a>
|
130
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/handle_event_callback" title="TinyMCE:Configuration/handle event callback">handle_event_callback</a>
|
131
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/handle_node_change_callback" title="TinyMCE:Configuration/handle node change callback">handle_node_change_callback</a>
|
132
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/init_instance_callback" title="TinyMCE:Configuration/init instance callback">init_instance_callback</a>
|
133
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/onchange_callback" title="TinyMCE:Configuration/onchange callback">onchange_callback</a>
|
134
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/oninit" title="TinyMCE:Configuration/oninit">oninit</a>
|
135
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/onpageload" title="TinyMCE:Configuration/onpageload">onpageload</a>
|
136
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/remove_instance_callback" title="TinyMCE:Configuration/remove instance callback">remove_instance_callback</a>
|
137
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/save_callback" title="TinyMCE:Configuration/save callback">save_callback</a>
|
138
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/setupcontent_callback" title="TinyMCE:Configuration/setupcontent callback">setupcontent_callback</a>
|
139
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/urlconverter_callback" title="TinyMCE:Configuration/urlconverter callback">urlconverter_callback</a>
|
140
|
+
</li></ul>
|
141
|
+
<p><br />
|
142
|
+
</p>
|
143
|
+
</div>
|
144
|
+
<div style="float: left; width: 260px; padding: 5px;">
|
145
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=5" title="Edit section: Cleanup/Output">edit</a>]</div><a name="Cleanup.2FOutput"></a><h4>Cleanup/Output</h4>
|
146
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/apply_source_formatting" title="TinyMCE:Configuration/apply source formatting">apply_source_formatting</a>
|
147
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/cleanup" title="TinyMCE:Configuration/cleanup">cleanup</a>
|
148
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/cleanup_on_startup" title="TinyMCE:Configuration/cleanup on startup">cleanup_on_startup</a>
|
149
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/cleanup_serializer" title="TinyMCE:Configuration/cleanup serializer">cleanup_serializer</a>
|
150
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/convert_fonts_to_spans" title="TinyMCE:Configuration/convert fonts to spans">convert_fonts_to_spans</a>
|
151
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/convert_newlines_to_brs" title="TinyMCE:Configuration/convert newlines to brs">convert_newlines_to_brs</a>
|
152
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/doctype" title="TinyMCE:Configuration/doctype">doctype</a>
|
153
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/encoding" title="TinyMCE:Configuration/encoding">encoding</a>
|
154
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/entities" title="TinyMCE:Configuration/entities">entities</a>
|
155
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/entity_encoding" title="TinyMCE:Configuration/entity encoding">entity_encoding</a>
|
156
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/extended_valid_elements" title="TinyMCE:Configuration/extended valid elements">extended_valid_elements</a>
|
157
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/fix_content_duplication" title="TinyMCE:Configuration/fix content duplication">fix_content_duplication</a>
|
158
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/fix_list_elements" title="TinyMCE:Configuration/fix list elements">fix_list_elements</a>
|
159
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/fix_table_elements" title="TinyMCE:Configuration/fix table elements">fix_table_elements</a>
|
160
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/font_size_classes" title="TinyMCE:Configuration/font size classes">font_size_classes</a>
|
161
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/font_size_style_values" title="TinyMCE:Configuration/font size style values">font_size_style_values</a>
|
162
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/force_p_newlines" title="TinyMCE:Configuration/force p newlines">force_p_newlines</a>
|
163
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/force_br_newlines" title="TinyMCE:Configuration/force br newlines">force_br_newlines</a>
|
164
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/force_hex_style_colors" title="TinyMCE:Configuration/force hex style colors">force_hex_style_colors</a>
|
165
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/forced_root_block" title="TinyMCE:Configuration/forced root block">forced_root_block</a>
|
166
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/inline_styles" title="TinyMCE:Configuration/inline styles">inline_styles</a>
|
167
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/invalid_elements" title="TinyMCE:Configuration/invalid elements">invalid_elements</a>
|
168
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/merge_styles_invalid_parents" title="TinyMCE:Configuration/merge styles invalid parents">merge_styles_invalid_parents</a>
|
169
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/remove_linebreaks" title="TinyMCE:Configuration/remove linebreaks">remove_linebreaks</a>
|
170
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/remove_trailing_nbsp" title="TinyMCE:Configuration/remove trailing nbsp">remove_trailing_nbsp</a>
|
171
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/preformatted" title="TinyMCE:Configuration/preformatted">preformatted</a>
|
172
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/trim_span_elements" title="TinyMCE:Configuration/trim span elements">trim_span_elements</a>
|
173
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/valid_child_elements" title="TinyMCE:Configuration/valid child elements">valid_child_elements</a>
|
174
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/valid_elements" title="TinyMCE:Configuration/valid elements">valid_elements</a>
|
175
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/verify_css_classes" title="TinyMCE:Configuration/verify css classes">verify_css_classes</a>
|
176
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/verify_html" title="TinyMCE:Configuration/verify html">verify_html</a>
|
177
|
+
</li></ul>
|
178
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=6" title="Edit section: URL">edit</a>]</div><a name="URL"></a><h4>URL</h4>
|
179
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/convert_urls" title="TinyMCE:Configuration/convert urls">convert_urls</a>
|
180
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/relative_urls" title="TinyMCE:Configuration/relative urls">relative_urls</a>
|
181
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/remove_script_host" title="TinyMCE:Configuration/remove script host">remove_script_host</a>
|
182
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/document_base_url" title="TinyMCE:Configuration/document base url">document_base_url</a>
|
183
|
+
</li></ul>
|
184
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=7" title="Edit section: Layout">edit</a>]</div><a name="Layout"></a><h4>Layout</h4>
|
185
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/content_css" title="TinyMCE:Configuration/content css">content_css</a>
|
186
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/popups_css" title="TinyMCE:Configuration/popups css">popups_css</a>
|
187
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/popups_css_add" title="TinyMCE:Configuration/popups css add">popups_css_add</a>
|
188
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/editor_css" title="TinyMCE:Configuration/editor css">editor_css</a>
|
189
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/width" title="TinyMCE:Configuration/width">width</a>
|
190
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/height" title="TinyMCE:Configuration/height">height</a>
|
191
|
+
</li></ul>
|
192
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=8" title="Edit section: Visual aids">edit</a>]</div><a name="Visual_aids"></a><h4>Visual aids</h4>
|
193
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/visual" title="TinyMCE:Configuration/visual">visual</a>
|
194
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/visual_table_class" title="TinyMCE:Configuration/visual table class">visual_table_class</a>
|
195
|
+
</li></ul>
|
196
|
+
</div>
|
197
|
+
<div style="float: left; width: 260px; padding: 5px;">
|
198
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=9" title="Edit section: Undo/Redo">edit</a>]</div><a name="Undo.2FRedo"></a><h4>Undo/Redo</h4>
|
199
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/custom_undo_redo" title="TinyMCE:Configuration/custom undo redo">custom_undo_redo</a>
|
200
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/custom_undo_redo_levels" title="TinyMCE:Configuration/custom undo redo levels">custom_undo_redo_levels</a>
|
201
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/custom_undo_redo_keyboard_shortcuts" title="TinyMCE:Configuration/custom undo redo keyboard shortcuts">custom_undo_redo_keyboard_shortcuts</a>
|
202
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/custom_undo_redo_restore_selection" title="TinyMCE:Configuration/custom undo redo restore selection">custom_undo_redo_restore_selection</a>
|
203
|
+
</li></ul>
|
204
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=10" title="Edit section: File lists">edit</a>]</div><a name="File_lists"></a><h4>File lists</h4>
|
205
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/external_link_list_url" title="TinyMCE:Configuration/external link list url">external_link_list_url</a>
|
206
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/external_image_list_url" title="TinyMCE:Configuration/external image list url">external_image_list_url</a>
|
207
|
+
</li></ul>
|
208
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=11" title="Edit section: Tab specific">edit</a>]</div><a name="Tab_specific"></a><h4>Tab specific</h4>
|
209
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/display_tab_class" title="TinyMCE:Configuration/display tab class">display_tab_class</a>
|
210
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/hidden_tab_class" title="TinyMCE:Configuration/hidden tab class">hidden_tab_class</a>
|
211
|
+
</li></ul>
|
212
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=12" title="Edit section: Triggers/Patches">edit</a>]</div><a name="Triggers.2FPatches"></a><h4>Triggers/Patches</h4>
|
213
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/add_form_submit_trigger" title="TinyMCE:Configuration/add form submit trigger">add_form_submit_trigger</a>
|
214
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/add_unload_trigger" title="TinyMCE:Configuration/add unload trigger">add_unload_trigger</a>
|
215
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/submit_patch" title="TinyMCE:Configuration/submit patch">submit_patch</a>
|
216
|
+
</li></ul>
|
217
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=13" title="Edit section: Advanced theme">edit</a>]</div><a name="Advanced_theme"></a><h4>Advanced theme</h4>
|
218
|
+
<ul><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_layout_manager" title="TinyMCE:Configuration/theme advanced layout manager">theme_advanced_layout_manager</a>
|
219
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_blockformats" title="TinyMCE:Configuration/theme advanced blockformats">theme_advanced_blockformats</a>
|
220
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_styles" title="TinyMCE:Configuration/theme advanced styles">theme_advanced_styles</a>
|
221
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_source_editor_width" title="TinyMCE:Configuration/theme advanced source editor width">theme_advanced_source_editor_width</a>
|
222
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_source_editor_height" title="TinyMCE:Configuration/theme advanced source editor height">theme_advanced_source_editor_height</a>
|
223
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_source_editor_wrap" title="TinyMCE:Configuration/theme advanced source editor wrap">theme_advanced_source_editor_wrap</a>
|
224
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_toolbar_location" title="TinyMCE:Configuration/theme advanced toolbar location">theme_advanced_toolbar_location</a>
|
225
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_toolbar_align" title="TinyMCE:Configuration/theme advanced toolbar align">theme_advanced_toolbar_align</a>
|
226
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_statusbar_location" title="TinyMCE:Configuration/theme advanced statusbar location">theme_advanced_statusbar_location</a>
|
227
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_buttons_1_n" title="TinyMCE:Configuration/theme advanced buttons 1 n">theme_advanced_buttons<1-n></a>
|
228
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_buttons_1_n_add" title="TinyMCE:Configuration/theme advanced buttons 1 n add">theme_advanced_buttons<1-n>_add</a>
|
229
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_buttons_1_n_add_before" title="TinyMCE:Configuration/theme advanced buttons 1 n add before">theme_advanced_buttons<1-n>_add_before</a>
|
230
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_disable" title="TinyMCE:Configuration/theme advanced disable">theme_advanced_disable</a>
|
231
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_containers" title="TinyMCE:Configuration/theme advanced containers">theme_advanced_containers</a>
|
232
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_containers_default_class" title="TinyMCE:Configuration/theme advanced containers default class">theme_advanced_containers_default_class</a>
|
233
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_containers_default_align" title="TinyMCE:Configuration/theme advanced containers default align">theme_advanced_containers_default_align</a>
|
234
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_container_container" title="TinyMCE:Configuration/theme advanced container container">theme_advanced_container_<container></a>
|
235
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_container_container_class" title="TinyMCE:Configuration/theme advanced container container class">theme_advanced_container_<container>_class</a>
|
236
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_container_container_align" title="TinyMCE:Configuration/theme advanced container container align">theme_advanced_container_<container>_align</a>
|
237
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_custom_layout" title="TinyMCE:Configuration/theme advanced custom layout">theme_advanced_custom_layout</a>
|
238
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_link_targets" title="TinyMCE:Configuration/theme advanced link targets">theme_advanced_link_targets</a>
|
239
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_resizing" title="TinyMCE:Configuration/theme advanced resizing">theme_advanced_resizing</a>
|
240
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_resizing_use_cookie" title="TinyMCE:Configuration/theme advanced resizing use cookie">theme_advanced_resizing_use_cookie</a>
|
241
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_resize_horizontal" title="TinyMCE:Configuration/theme advanced resize horizontal">theme_advanced_resize_horizontal</a>
|
242
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_path" title="TinyMCE:Configuration/theme advanced path">theme_advanced_path</a>
|
243
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_fonts" title="TinyMCE:Configuration/theme advanced fonts">theme_advanced_fonts</a>
|
244
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_text_colors" title="TinyMCE:Configuration/theme advanced text colors">theme_advanced_text_colors</a>
|
245
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_background_colors" title="TinyMCE:Configuration/theme advanced background colors">theme_advanced_background_colors</a>
|
246
|
+
</li><li> <a href="/index.php/TinyMCE:Configuration/theme_advanced_more_colors" title="TinyMCE:Configuration/theme advanced more colors">theme_advanced_more_colors</a>
|
247
|
+
</li></ul>
|
248
|
+
</div>
|
249
|
+
<div style="clear: both;"> </div>
|
250
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=14" title="Edit section: Initialization of TinyMCE">edit</a>]</div><a name="Initialization_of_TinyMCE"></a><h2>Initialization of TinyMCE</h2>
|
251
|
+
<p>In order to initialize the TinyMCE the following code must be placed within HEAD element of a document. The following example is configured to convert all TEXTAREA elements into editors when the page loads. There are other <a href="/index.php/TinyMCE:Configuration/mode" title="TinyMCE:Configuration/mode">modes</a> as well.
|
252
|
+
</p>
|
253
|
+
<div class="editsection" style="float:right;margin-left:5px;">[<a href="/index.php?title=TinyMCE:Configuration&action=edit&section=15" title="Edit section: Example of TinyMCE configuration">edit</a>]</div><a name="Example_of_TinyMCE_configuration"></a><h4>Example of TinyMCE configuration</h4>
|
254
|
+
<pre>
|
255
|
+
<html>
|
256
|
+
<head>
|
257
|
+
<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
|
258
|
+
<script language="javascript" type="text/javascript">
|
259
|
+
tinyMCE.init({
|
260
|
+
theme : "advanced",
|
261
|
+
mode : "textareas"
|
262
|
+
});
|
263
|
+
</script>
|
264
|
+
</head>
|
265
|
+
</pre>
|
266
|
+
<p>Note: Remember to remove the last "," character in the options list.
|
267
|
+
</p>
|
268
|
+
<!-- Saved in parser cache with key docwiki:pcache:idhash:1515-0!1!0!!en!2 and timestamp 20070819194128 -->
|
269
|
+
<div class="printfooter">
|
270
|
+
Retrieved from "<a href="http://wiki.moxiecode.com/index.php/TinyMCE:Configuration">http://wiki.moxiecode.com/index.php/TinyMCE:Configuration</a>"</div>
|
271
|
+
<!-- end content -->
|
272
|
+
<div class="visualClear"></div>
|
273
|
+
</div>
|
274
|
+
</div>
|
275
|
+
</div>
|
276
|
+
<div id="column-one">
|
277
|
+
<div id="p-cactions" class="portlet">
|
278
|
+
<h5>Views</h5>
|
279
|
+
<ul>
|
280
|
+
<li id="ca-nstab-tinymce" class="selected"><a href="/index.php/TinyMCE:Configuration">TinyMCE</a></li>
|
281
|
+
<li id="ca-talk" class="new"><a href="/index.php?title=TinyMCE_Talk:Configuration&action=edit">Discussion</a></li>
|
282
|
+
<li id="ca-edit"><a href="/index.php?title=TinyMCE:Configuration&action=edit">Edit</a></li>
|
283
|
+
<li id="ca-history"><a href="/index.php?title=TinyMCE:Configuration&action=history">History</a></li>
|
284
|
+
</ul>
|
285
|
+
</div>
|
286
|
+
<div class="portlet" id="p-personal">
|
287
|
+
<h5>Personal tools</h5>
|
288
|
+
<div class="pBody">
|
289
|
+
<ul>
|
290
|
+
<li id="pt-login"><a href="/index.php?title=Special:Userlogin&returnto=TinyMCE:Configuration">Log in / create account</a></li>
|
291
|
+
</ul>
|
292
|
+
</div>
|
293
|
+
</div>
|
294
|
+
<div class="portlet" id="p-logo">
|
295
|
+
<a style="background-image: url(/images/logo.gif);" href="/index.php/Main_Page" title="Main Page"></a>
|
296
|
+
</div>
|
297
|
+
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
|
298
|
+
<div class='portlet' id='p-Documentation'>
|
299
|
+
<h5>Documentation</h5>
|
300
|
+
<div class='pBody'>
|
301
|
+
<ul>
|
302
|
+
<li id="n-TinyMCE"><a href="/index.php/TinyMCE:Index">TinyMCE</a></li>
|
303
|
+
<li id="n-TinyMCE-FAQ"><a href="/index.php/TinyMCE:FAQ">TinyMCE FAQ</a></li>
|
304
|
+
<li id="n-TinyMCE-Compressor"><a href="/index.php/TinyMCE:Compressor">TinyMCE Compressor</a></li>
|
305
|
+
<li id="n-TinyMCE-Spellchecker"><a href="/index.php/TinyMCE:Plugins/spellchecker">TinyMCE Spellchecker</a></li>
|
306
|
+
<li id="n-MCImageManager"><a href="/index.php/MCImageManager:Index">MCImageManager</a></li>
|
307
|
+
<li id="n-MCFileManager"><a href="/index.php/MCFileManager:Index">MCFileManager</a></li>
|
308
|
+
<li id="n-recentchanges"><a href="/index.php/Special:Recentchanges">Recent changes</a></li>
|
309
|
+
</ul>
|
310
|
+
</div>
|
311
|
+
</div>
|
312
|
+
<div id="p-search" class="portlet">
|
313
|
+
<h5><label for="searchInput">Search</label></h5>
|
314
|
+
<div id="searchBody" class="pBody">
|
315
|
+
<form action="/index.php/Special:Search" id="searchform"><div>
|
316
|
+
<input id="searchInput" name="search" type="text" accesskey="f" value="" />
|
317
|
+
<input type='submit' name="go" class="searchButton" id="searchGoButton" value="Go" />
|
318
|
+
<input type='submit' name="fulltext" class="searchButton" value="Search" />
|
319
|
+
</div></form>
|
320
|
+
</div>
|
321
|
+
</div>
|
322
|
+
<div class="portlet" id="p-tb">
|
323
|
+
<h5>Toolbox</h5>
|
324
|
+
<div class="pBody">
|
325
|
+
<ul>
|
326
|
+
<li id="t-whatlinkshere"><a href="/index.php?title=Special:Whatlinkshere&target=TinyMCE%3AConfiguration">What links here</a></li>
|
327
|
+
<li id="t-recentchangeslinked"><a href="/index.php?title=Special:Recentchangeslinked&target=TinyMCE%3AConfiguration">Related changes</a></li>
|
328
|
+
<li id="t-specialpages"><a href="/index.php/Special:Specialpages">Special pages</a></li>
|
329
|
+
<li id="t-print"><a href="/index.php?title=TinyMCE:Configuration&printable=yes">Printable version</a></li> <li id="t-permalink"><a href="/index.php?title=TinyMCE:Configuration&oldid=2888">Permanent link</a></li> </ul>
|
330
|
+
</div>
|
331
|
+
</div>
|
332
|
+
<div class="portlet" id="p-ex">
|
333
|
+
<h5>External links</h5>
|
334
|
+
<div class="pBody">
|
335
|
+
<ul>
|
336
|
+
<li><a href="http://tinymce.moxiecode.com">TinyMCE Website</a></li>
|
337
|
+
<li><a href="http://tinymce.moxiecode.com/forum">TinyMCE Forum</a></li>
|
338
|
+
<li><a href="http://www.moxiecode.com">Moxiecode Website</a></li>
|
339
|
+
<li><a href="http://www.w3schools.com/">W3Schools Website</a></li>
|
340
|
+
<li><a href="http://www.fiddlertool.com/fiddler/">Fiddler Tool</a></li>
|
341
|
+
<li><a href="http://sourceforge.net/tracker/?atid=635682&group_id=103281&func=browse">Report a bug</a></li>
|
342
|
+
</ul>
|
343
|
+
</div>
|
344
|
+
</div>
|
345
|
+
</div><!-- end of the left (by default at least) column -->
|
346
|
+
<div class="visualClear"></div>
|
347
|
+
<div id="footer">
|
348
|
+
<div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="/skins/common/images/poweredby_mediawiki_88x31.png" alt="MediaWiki" /></a></div>
|
349
|
+
<ul id="f-list">
|
350
|
+
<li id="lastmod"> This page was last modified 15:32, 17 May 2007.</li>
|
351
|
+
<li id="viewcount">This page has been accessed 194,097 times.</li>
|
352
|
+
<li id="privacy"><a href="/index.php/Moxiecode_Documentation_Wiki:Privacy_policy" title="Moxiecode Documentation Wiki:Privacy policy">Privacy policy</a></li>
|
353
|
+
<li id="about"><a href="/index.php/Moxiecode_Documentation_Wiki:About" title="Moxiecode Documentation Wiki:About">About Moxiecode Documentation Wiki</a></li>
|
354
|
+
<li id="disclaimer"><a href="/index.php/Moxiecode_Documentation_Wiki:General_disclaimer" title="Moxiecode Documentation Wiki:General disclaimer">Disclaimers</a></li>
|
355
|
+
</ul>
|
356
|
+
</div>
|
357
|
+
|
358
|
+
|
359
|
+
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
|
360
|
+
</div>
|
361
|
+
<!-- Served by monster in 0.148 secs. --></body></html>
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'rubygems'
|
3
|
+
require 'action_controller'
|
4
|
+
require 'action_controller/test_process'
|
5
|
+
require 'action_view'
|
6
|
+
|
7
|
+
RAILS_ROOT = "#{File.dirname(__FILE__)}/app_root"
|
8
|
+
EXPANDED_RAILS_ROOT = File.expand_path(RAILS_ROOT)
|
9
|
+
|
10
|
+
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
11
|
+
require File.dirname(__FILE__) + '/../init'
|
12
|
+
|
13
|
+
class Test::Unit::TestCase #:nodoc:
|
14
|
+
private
|
15
|
+
def assert_html_equal(expected, actual)
|
16
|
+
assert_equal expected.strip.gsub(/\n\s*/, ''), actual.strip.gsub(/\n\s*/, '')
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,323 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
# Don't go out to the Internet if we're not live
|
4
|
+
unless ENV['LIVE']
|
5
|
+
class << PluginAWeek::Helpers::TinyMCEHelper
|
6
|
+
# Use pages ewe've already downloaded for Sourceforge and Wiki information
|
7
|
+
def open(name, *rest, &block)
|
8
|
+
if name.include?('sourceforge')
|
9
|
+
name = 'test/files/sourceforge.html'
|
10
|
+
elsif name.include?('wiki')
|
11
|
+
name = 'test/files/wiki.html'
|
12
|
+
end
|
13
|
+
|
14
|
+
super
|
15
|
+
end
|
16
|
+
|
17
|
+
# User files we've already downloaded for extracting the TinyMCE soure
|
18
|
+
def system(cmd, *args)
|
19
|
+
if cmd =~ /^wget .+2_0_8/
|
20
|
+
FileUtils.cp("#{EXPANDED_RAILS_ROOT}/../../test/files/tinymce_2_0_8.tgz", '/tmp/')
|
21
|
+
elsif cmd =~ /^wget .+2_1_1_1/
|
22
|
+
FileUtils.cp("#{EXPANDED_RAILS_ROOT}/../../test/files/tinymce_2_1_1_1.tgz", '/tmp/')
|
23
|
+
else
|
24
|
+
super
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Simulate user input
|
31
|
+
class << STDIN
|
32
|
+
attr_accessor :prompted
|
33
|
+
|
34
|
+
def gets
|
35
|
+
@prompted = true
|
36
|
+
"#{@gets.is_a?(Array) ? @gets.shift : @gets}\n"
|
37
|
+
end
|
38
|
+
|
39
|
+
def gets=(value)
|
40
|
+
@gets = value
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
class TinyMceHelperTest < Test::Unit::TestCase
|
45
|
+
include ActionView::Helpers::TagHelper
|
46
|
+
include ActionView::Helpers::AssetTagHelper
|
47
|
+
include ActionView::Helpers::JavaScriptHelper
|
48
|
+
include PluginAWeek::Helpers::TinyMCEHelper
|
49
|
+
|
50
|
+
def setup
|
51
|
+
PluginAWeek::Helpers::TinyMCEHelper.verbose = true
|
52
|
+
@uses_tiny_mce = nil
|
53
|
+
|
54
|
+
# Set up config path
|
55
|
+
@config_root = "#{RAILS_ROOT}/config"
|
56
|
+
FileUtils.cp("#{RAILS_ROOT}/config_bak/tiny_mce_options.yml", @config_root)
|
57
|
+
@original_config_files = Dir["#{RAILS_ROOT}/config/**/*"].sort
|
58
|
+
|
59
|
+
# Set up public path
|
60
|
+
@public_root = "#{RAILS_ROOT}/public"
|
61
|
+
FileUtils.mkdir_p("#{RAILS_ROOT}/public/javascripts")
|
62
|
+
|
63
|
+
# Track valid options
|
64
|
+
@original_valid_options = PluginAWeek::Helpers::TinyMCEHelper.valid_options.dup
|
65
|
+
|
66
|
+
# Set default STDIN value
|
67
|
+
STDIN.gets = 'n'
|
68
|
+
STDIN.prompted = false
|
69
|
+
|
70
|
+
# Set up test request
|
71
|
+
@request = ActionController::TestRequest.new
|
72
|
+
@controller = ActionController::Base.new
|
73
|
+
@controller.request = @request
|
74
|
+
@controller.instance_eval {@_params = request.path_parameters}
|
75
|
+
@controller.send(:initialize_current_url)
|
76
|
+
|
77
|
+
# Make sure we always start in a test environment
|
78
|
+
Object.const_set('RAILS_ENV', 'test')
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_valid_options_should_not_be_empty
|
82
|
+
assert PluginAWeek::Helpers::TinyMCEHelper.valid_options.any?
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_install_should_save_latest_version_to_default_target
|
86
|
+
PluginAWeek::Helpers::TinyMCEHelper.install(:force => true)
|
87
|
+
|
88
|
+
assert File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce")
|
89
|
+
assert File.open("#{RAILS_ROOT}/public/javascripts/tinymce/changelog").readlines.join.include?('Version 2.1.1.1')
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_install_should_allow_custom_version
|
93
|
+
PluginAWeek::Helpers::TinyMCEHelper.install(:version => '2.0.8', :force => true)
|
94
|
+
|
95
|
+
assert File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce")
|
96
|
+
assert File.open("#{RAILS_ROOT}/public/javascripts/tinymce/changelog").readlines.join.include?('Version 2.0.8')
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_install_should_allow_custom_target
|
100
|
+
PluginAWeek::Helpers::TinyMCEHelper.install(:target => 'public/javascripts/tiny_mce', :force => true)
|
101
|
+
|
102
|
+
assert File.exists?("#{RAILS_ROOT}/public/javascripts/tiny_mce")
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_install_should_prompt_user_if_base_target_already_exists
|
106
|
+
FileUtils.mkdir("#{RAILS_ROOT}/public/javascripts/tinymce")
|
107
|
+
PluginAWeek::Helpers::TinyMCEHelper.install
|
108
|
+
|
109
|
+
assert STDIN.prompted
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_install_should_skip_if_target_exists_and_user_skips
|
113
|
+
FileUtils.mkdir("#{RAILS_ROOT}/public/javascripts/tinymce")
|
114
|
+
STDIN.gets = 'n'
|
115
|
+
PluginAWeek::Helpers::TinyMCEHelper.install
|
116
|
+
|
117
|
+
assert !File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce/changelog")
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_install_should_not_skip_if_target_exists_and_user_doesnt_skip
|
121
|
+
FileUtils.mkdir("#{RAILS_ROOT}/public/javascripts/tinymce")
|
122
|
+
STDIN.gets = 'y'
|
123
|
+
PluginAWeek::Helpers::TinyMCEHelper.install
|
124
|
+
|
125
|
+
assert File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce/changelog")
|
126
|
+
end
|
127
|
+
|
128
|
+
def test_install_should_continue_prompting_user_if_target_exists_and_invalid_option_is_typed
|
129
|
+
FileUtils.mkdir("#{RAILS_ROOT}/public/javascripts/tinymce")
|
130
|
+
STDIN.gets = %w(k y)
|
131
|
+
PluginAWeek::Helpers::TinyMCEHelper.install
|
132
|
+
|
133
|
+
assert STDIN.gets.chomp.empty?
|
134
|
+
assert File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce/changelog")
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_install_should_overwrite_existing_folder_if_forced
|
138
|
+
FileUtils.mkdir("#{RAILS_ROOT}/public/javascripts/tinymce")
|
139
|
+
PluginAWeek::Helpers::TinyMCEHelper.install(:force => true)
|
140
|
+
|
141
|
+
assert File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce/changelog")
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_uninstall_should_remove_options_configuration
|
145
|
+
PluginAWeek::Helpers::TinyMCEHelper.uninstall
|
146
|
+
assert !File.exists?("#{RAILS_ROOT}/config/tiny_mce_options.yml")
|
147
|
+
end
|
148
|
+
|
149
|
+
def test_uninstall_should_remove_tinymce_source
|
150
|
+
FileUtils.mkdir("#{RAILS_ROOT}/public/javascripts/tinymce")
|
151
|
+
PluginAWeek::Helpers::TinyMCEHelper.uninstall
|
152
|
+
|
153
|
+
assert !File.exists?("#{RAILS_ROOT}/public/javascripts/tinymce")
|
154
|
+
end
|
155
|
+
|
156
|
+
def test_should_update_options_if_options_configuration_doesnt_exist
|
157
|
+
FileUtils.rm("#{RAILS_ROOT}/config/tiny_mce_options.yml")
|
158
|
+
PluginAWeek::Helpers::TinyMCEHelper.update_options
|
159
|
+
|
160
|
+
assert File.exists?("#{RAILS_ROOT}/config/tiny_mce_options.yml")
|
161
|
+
options = File.open(PluginAWeek::Helpers::TinyMCEHelper::OPTIONS_FILE_PATH) {|f| YAML.load(f.read)}
|
162
|
+
assert_instance_of Array, options
|
163
|
+
end
|
164
|
+
|
165
|
+
def test_should_update_options_if_options_configuration_exists
|
166
|
+
File.truncate("#{RAILS_ROOT}/config/tiny_mce_options.yml", 0)
|
167
|
+
PluginAWeek::Helpers::TinyMCEHelper.update_options
|
168
|
+
|
169
|
+
assert File.exists?("#{RAILS_ROOT}/config/tiny_mce_options.yml")
|
170
|
+
options = File.open(PluginAWeek::Helpers::TinyMCEHelper::OPTIONS_FILE_PATH) {|f| YAML.load(f.read)}
|
171
|
+
assert_instance_of Array, options
|
172
|
+
end
|
173
|
+
|
174
|
+
def test_should_be_using_tiny_mce_if_instance_variable_exists
|
175
|
+
@uses_tiny_mce = true
|
176
|
+
assert using_tiny_mce?
|
177
|
+
end
|
178
|
+
|
179
|
+
def test_should_not_be_using_tiny_mce_if_instance_variable_doesnt_exist
|
180
|
+
@uses_tiny_mce = false
|
181
|
+
assert !using_tiny_mce?
|
182
|
+
end
|
183
|
+
|
184
|
+
def test_should_use_source_file_name_if_in_development
|
185
|
+
Object.const_set('RAILS_ENV', 'development')
|
186
|
+
assert_equal 'tinymce/tiny_mce_src', tiny_mce_file_name
|
187
|
+
end
|
188
|
+
|
189
|
+
def test_should_use_compressed_file_name_if_in_test
|
190
|
+
Object.const_set('RAILS_ENV', 'test')
|
191
|
+
assert_equal 'tinymce/tiny_mce', tiny_mce_file_name
|
192
|
+
end
|
193
|
+
|
194
|
+
def test_should_use_compressed_file_name_if_in_production
|
195
|
+
Object.const_set('RAILS_ENV', 'production')
|
196
|
+
assert_equal 'tinymce/tiny_mce', tiny_mce_file_name
|
197
|
+
end
|
198
|
+
|
199
|
+
def test_should_use_environment_file_name_for_javascript_include_in_development
|
200
|
+
Object.const_set('RAILS_ENV', 'development')
|
201
|
+
assert_equal '<script src="/javascripts/tinymce/tiny_mce_src.js" type="text/javascript"></script>', javascript_include_tiny_mce
|
202
|
+
end
|
203
|
+
|
204
|
+
def test_should_use_environment_file_name_for_javascript_include_in_test
|
205
|
+
Object.const_set('RAILS_ENV', 'test')
|
206
|
+
assert_equal '<script src="/javascripts/tinymce/tiny_mce.js" type="text/javascript"></script>', javascript_include_tiny_mce
|
207
|
+
end
|
208
|
+
|
209
|
+
def test_should_include_conditional_javascript_if_using_tiny_mce
|
210
|
+
@uses_tiny_mce = true
|
211
|
+
assert_equal '<script src="/javascripts/tinymce/tiny_mce.js" type="text/javascript"></script>', javascript_include_tiny_mce_if_used
|
212
|
+
end
|
213
|
+
|
214
|
+
def test_should_not_include_conditional_javascript_if_not_using_tiny_mce
|
215
|
+
@uses_tiny_mce = false
|
216
|
+
assert_nil javascript_include_tiny_mce_if_used
|
217
|
+
end
|
218
|
+
|
219
|
+
def test_script_should_use_textareas_mode_and_simple_theme_by_default
|
220
|
+
expected = <<-end_eval
|
221
|
+
tinyMCE.init({
|
222
|
+
mode : 'textareas',
|
223
|
+
theme : 'simple'
|
224
|
+
});
|
225
|
+
end_eval
|
226
|
+
assert_html_equal expected, tiny_mce_init_script
|
227
|
+
end
|
228
|
+
|
229
|
+
def test_script_should_raise_exception_if_invalid_option_provided
|
230
|
+
assert_raise(ArgumentError) {tiny_mce_init_script(:invalid => true)}
|
231
|
+
end
|
232
|
+
|
233
|
+
def test_script_should_not_raise_exception_if_invalid_option_provided_but_valid_options_is_nil
|
234
|
+
PluginAWeek::Helpers::TinyMCEHelper.valid_options = nil
|
235
|
+
assert_nothing_raised {tiny_mce_init_script(:invalid => true)}
|
236
|
+
end
|
237
|
+
|
238
|
+
def test_script_should_not_raise_exception_if_invalid_option_provided_but_valid_options_is_empty
|
239
|
+
PluginAWeek::Helpers::TinyMCEHelper.valid_options = []
|
240
|
+
assert_nothing_raised {tiny_mce_init_script(:invalid => true)}
|
241
|
+
end
|
242
|
+
|
243
|
+
def test_script_should_not_raise_exception_for_dynamic_options
|
244
|
+
assert_nothing_raised {tiny_mce_init_script(:theme_advanced_buttons_1 => '', :theme_advanced_container_test => '')}
|
245
|
+
end
|
246
|
+
|
247
|
+
def test_script_should_convert_symbols
|
248
|
+
expected = <<-end_eval
|
249
|
+
tinyMCE.init({
|
250
|
+
mode : 'textareas',
|
251
|
+
theme : 'simple'
|
252
|
+
});
|
253
|
+
end_eval
|
254
|
+
assert_html_equal expected, tiny_mce_init_script(:mode => :textareas)
|
255
|
+
end
|
256
|
+
|
257
|
+
def test_script_should_convert_numbers
|
258
|
+
expected = <<-end_eval
|
259
|
+
tinyMCE.init({
|
260
|
+
mode : 'textareas',
|
261
|
+
theme : 'simple',
|
262
|
+
width : '640'
|
263
|
+
});
|
264
|
+
end_eval
|
265
|
+
assert_html_equal expected, tiny_mce_init_script(:width => 640)
|
266
|
+
end
|
267
|
+
|
268
|
+
def test_script_should_convert_arrays
|
269
|
+
expected = <<-end_eval
|
270
|
+
tinyMCE.init({
|
271
|
+
mode : 'textareas',
|
272
|
+
theme : 'simple',
|
273
|
+
valid_elements : 'b,p,br,i,u'
|
274
|
+
});
|
275
|
+
end_eval
|
276
|
+
assert_html_equal expected, tiny_mce_init_script(:valid_elements => %w(b p br i u))
|
277
|
+
end
|
278
|
+
|
279
|
+
def test_script_should_convert_boolean_true
|
280
|
+
expected = <<-end_eval
|
281
|
+
tinyMCE.init({
|
282
|
+
auto_reset_designmode : true,
|
283
|
+
mode : 'textareas',
|
284
|
+
theme : 'simple'
|
285
|
+
});
|
286
|
+
end_eval
|
287
|
+
assert_html_equal expected, tiny_mce_init_script(:auto_reset_designmode => true)
|
288
|
+
end
|
289
|
+
|
290
|
+
def test_script_should_convert_boolean_false
|
291
|
+
expected = <<-end_eval
|
292
|
+
tinyMCE.init({
|
293
|
+
auto_reset_designmode : false,
|
294
|
+
mode : 'textareas',
|
295
|
+
theme : 'simple'
|
296
|
+
});
|
297
|
+
end_eval
|
298
|
+
assert_html_equal expected, tiny_mce_init_script(:auto_reset_designmode => false)
|
299
|
+
end
|
300
|
+
|
301
|
+
def test_script_should_raise_exception_if_unknown_value_class_provided
|
302
|
+
assert_raise(ArgumentError) {tiny_mce_init_script(:mode => Hash.new)}
|
303
|
+
end
|
304
|
+
|
305
|
+
def test_tiny_mce_should_wrap_script_in_javascript_tag
|
306
|
+
expected = <<-end_eval
|
307
|
+
<script type="text/javascript">
|
308
|
+
//<![CDATA[
|
309
|
+
tinyMCE.init({
|
310
|
+
mode : 'textareas',
|
311
|
+
theme : 'simple'
|
312
|
+
});
|
313
|
+
//]]>
|
314
|
+
</script>
|
315
|
+
end_eval
|
316
|
+
assert_html_equal expected, tiny_mce
|
317
|
+
end
|
318
|
+
|
319
|
+
def teardown
|
320
|
+
FileUtils.rmtree(@public_root)
|
321
|
+
PluginAWeek::Helpers::TinyMCEHelper.valid_options = @original_valid_options
|
322
|
+
end
|
323
|
+
end
|