rails_tinymce 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (659) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +130 -0
  5. data/Rakefile +22 -0
  6. data/assets/app/controllers/attachments_controller.rb +31 -0
  7. data/assets/app/helpers/remote_link_renderer.rb +10 -0
  8. data/assets/app/models/tiny_print.rb +12 -0
  9. data/assets/app/models/tiny_video.rb +6 -0
  10. data/assets/app/views/attachments/_show_attachment_list.html.erb +34 -0
  11. data/assets/config/initializers/tiny_mce_plus_config.rb +76 -0
  12. data/assets/public/images/tiny_mce/spinner.gif +0 -0
  13. data/assets/public/javascripts/tiny_mce/.DS_Store +0 -0
  14. data/assets/public/javascripts/tiny_mce/blank.htm +9 -0
  15. data/assets/public/javascripts/tiny_mce/langs/en.js +154 -0
  16. data/assets/public/javascripts/tiny_mce/langs/readme.txt +9 -0
  17. data/assets/public/javascripts/tiny_mce/license.txt +504 -0
  18. data/assets/public/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  19. data/assets/public/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  20. data/assets/public/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +54 -0
  21. data/assets/public/javascripts/tiny_mce/plugins/advhr/images/advhr.gif +0 -0
  22. data/assets/public/javascripts/tiny_mce/plugins/advhr/js/rule.js +34 -0
  23. data/assets/public/javascripts/tiny_mce/plugins/advhr/jscripts/rule.js +43 -0
  24. data/assets/public/javascripts/tiny_mce/plugins/advhr/langs/en.js +8 -0
  25. data/assets/public/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  26. data/assets/public/javascripts/tiny_mce/plugins/advhr/readme.txt +1 -0
  27. data/assets/public/javascripts/tiny_mce/plugins/advhr/rule.htm +63 -0
  28. data/assets/public/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  29. data/assets/public/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  30. data/assets/public/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +49 -0
  31. data/assets/public/javascripts/tiny_mce/plugins/advimage/image.htm +237 -0
  32. data/assets/public/javascripts/tiny_mce/plugins/advimage/images/sample.gif +0 -0
  33. data/assets/public/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  34. data/assets/public/javascripts/tiny_mce/plugins/advimage/js/image.js +438 -0
  35. data/assets/public/javascripts/tiny_mce/plugins/advimage/jscripts/functions.js +538 -0
  36. data/assets/public/javascripts/tiny_mce/plugins/advimage/langs/en.js +27 -0
  37. data/assets/public/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  38. data/assets/public/javascripts/tiny_mce/plugins/advimage/readme.txt +1 -0
  39. data/assets/public/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  40. data/assets/public/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  41. data/assets/public/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +58 -0
  42. data/assets/public/javascripts/tiny_mce/plugins/advlink/js/advlink.js +563 -0
  43. data/assets/public/javascripts/tiny_mce/plugins/advlink/jscripts/functions.js +587 -0
  44. data/assets/public/javascripts/tiny_mce/plugins/advlink/langs/en.js +46 -0
  45. data/assets/public/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  46. data/assets/public/javascripts/tiny_mce/plugins/advlink/link.htm +339 -0
  47. data/assets/public/javascripts/tiny_mce/plugins/advlink/readme.txt +1 -0
  48. data/assets/public/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  49. data/assets/public/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +51 -0
  50. data/assets/public/javascripts/tiny_mce/plugins/autosave/langs/en.js +5 -0
  51. data/assets/public/javascripts/tiny_mce/plugins/autosave/readme.txt +1 -0
  52. data/assets/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  53. data/assets/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +115 -0
  54. data/assets/public/javascripts/tiny_mce/plugins/compat2x/editor_plugin.js +1 -0
  55. data/assets/public/javascripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +613 -0
  56. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/css/contextmenu.css +74 -0
  57. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  58. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +84 -0
  59. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/images/spacer.gif +0 -0
  60. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/readme.txt +1 -0
  61. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/css/advimage.css +84 -0
  62. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/editor_plugin.js +49 -0
  63. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/editor_plugin_src.js +48 -0
  64. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/image.htm +270 -0
  65. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/img/sample.gif +0 -0
  66. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/js/functions.js +511 -0
  67. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/langs/en_dlg.js +43 -0
  68. data/assets/public/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  69. data/assets/public/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +79 -0
  70. data/assets/public/javascripts/tiny_mce/plugins/directionality/images/ltr.gif +0 -0
  71. data/assets/public/javascripts/tiny_mce/plugins/directionality/images/rtl.gif +0 -0
  72. data/assets/public/javascripts/tiny_mce/plugins/directionality/langs/en.js +6 -0
  73. data/assets/public/javascripts/tiny_mce/plugins/directionality/readme.txt +1 -0
  74. data/assets/public/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  75. data/assets/public/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +40 -0
  76. data/assets/public/javascripts/tiny_mce/plugins/emotions/emotions.htm +41 -0
  77. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/emotions.gif +0 -0
  78. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/readme.txt +2 -0
  79. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-cool.gif +0 -0
  80. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-cry.gif +0 -0
  81. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif +0 -0
  82. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif +0 -0
  83. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-frown.gif +0 -0
  84. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif +0 -0
  85. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif +0 -0
  86. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif +0 -0
  87. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif +0 -0
  88. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif +0 -0
  89. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-smile.gif +0 -0
  90. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif +0 -0
  91. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif +0 -0
  92. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif +0 -0
  93. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-wink.gif +0 -0
  94. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-yell.gif +0 -0
  95. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  96. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  97. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  98. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  99. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  100. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  101. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  102. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  103. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  104. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  105. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  106. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  107. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  108. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  109. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  110. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  111. data/assets/public/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  112. data/assets/public/javascripts/tiny_mce/plugins/emotions/jscripts/functions.js +21 -0
  113. data/assets/public/javascripts/tiny_mce/plugins/emotions/langs/en.js +22 -0
  114. data/assets/public/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  115. data/assets/public/javascripts/tiny_mce/plugins/emotions/readme.txt +1 -0
  116. data/assets/public/javascripts/tiny_mce/plugins/example/dialog.htm +27 -0
  117. data/assets/public/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  118. data/assets/public/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +81 -0
  119. data/assets/public/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
  120. data/assets/public/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  121. data/assets/public/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
  122. data/assets/public/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  123. data/assets/public/javascripts/tiny_mce/plugins/fullpage/blank.htm +9 -0
  124. data/assets/public/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +178 -0
  125. data/assets/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  126. data/assets/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +122 -0
  127. data/assets/public/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +577 -0
  128. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/add.gif +0 -0
  129. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/fullpage.gif +0 -0
  130. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/move_down.gif +0 -0
  131. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/move_up.gif +0 -0
  132. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/remove.gif +0 -0
  133. data/assets/public/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +462 -0
  134. data/assets/public/javascripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js +580 -0
  135. data/assets/public/javascripts/tiny_mce/plugins/fullpage/langs/en.js +92 -0
  136. data/assets/public/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  137. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/css/page.css +21 -0
  138. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  139. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +131 -0
  140. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +97 -0
  141. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif +0 -0
  142. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/langs/en.js +5 -0
  143. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/readme.txt +1 -0
  144. data/assets/public/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  145. data/assets/public/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +51 -0
  146. data/assets/public/javascripts/tiny_mce/plugins/iespell/images/iespell.gif +0 -0
  147. data/assets/public/javascripts/tiny_mce/plugins/iespell/langs/en.js +7 -0
  148. data/assets/public/javascripts/tiny_mce/plugins/iespell/readme.txt +1 -0
  149. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css +70 -0
  150. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  151. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +563 -0
  152. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/spacer.gif +0 -0
  153. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_back.png +0 -0
  154. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_close.gif +0 -0
  155. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif +0 -0
  156. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif +0 -0
  157. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif +0 -0
  158. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js +453 -0
  159. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/readme.txt +0 -0
  160. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  161. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  162. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  163. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  164. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  165. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  166. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  167. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +89 -0
  168. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  169. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  170. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +80 -0
  171. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif +0 -0
  172. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif +0 -0
  173. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/langs/en.js +12 -0
  174. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/readme.txt +1 -0
  175. data/assets/public/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  176. data/assets/public/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +209 -0
  177. data/assets/public/javascripts/tiny_mce/plugins/layer/images/absolute.gif +0 -0
  178. data/assets/public/javascripts/tiny_mce/plugins/layer/images/backward.gif +0 -0
  179. data/assets/public/javascripts/tiny_mce/plugins/layer/images/forward.gif +0 -0
  180. data/assets/public/javascripts/tiny_mce/plugins/layer/images/insert_layer.gif +0 -0
  181. data/assets/public/javascripts/tiny_mce/plugins/layer/images/insertlayer.gif +0 -0
  182. data/assets/public/javascripts/tiny_mce/plugins/layer/images/movebackward.gif +0 -0
  183. data/assets/public/javascripts/tiny_mce/plugins/layer/images/moveforward.gif +0 -0
  184. data/assets/public/javascripts/tiny_mce/plugins/layer/langs/en.js +9 -0
  185. data/assets/public/javascripts/tiny_mce/plugins/layer/readme.txt +1 -0
  186. data/assets/public/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
  187. data/assets/public/javascripts/tiny_mce/plugins/media/css/media.css +152 -0
  188. data/assets/public/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  189. data/assets/public/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +353 -0
  190. data/assets/public/javascripts/tiny_mce/plugins/media/images/flash.gif +0 -0
  191. data/assets/public/javascripts/tiny_mce/plugins/media/images/media.gif +0 -0
  192. data/assets/public/javascripts/tiny_mce/plugins/media/images/quicktime.gif +0 -0
  193. data/assets/public/javascripts/tiny_mce/plugins/media/images/realmedia.gif +0 -0
  194. data/assets/public/javascripts/tiny_mce/plugins/media/images/shockwave.gif +0 -0
  195. data/assets/public/javascripts/tiny_mce/plugins/media/images/windowsmedia.gif +0 -0
  196. data/assets/public/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  197. data/assets/public/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  198. data/assets/public/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  199. data/assets/public/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  200. data/assets/public/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  201. data/assets/public/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  202. data/assets/public/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  203. data/assets/public/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
  204. data/assets/public/javascripts/tiny_mce/plugins/media/js/media.js +692 -0
  205. data/assets/public/javascripts/tiny_mce/plugins/media/jscripts/embed.js +73 -0
  206. data/assets/public/javascripts/tiny_mce/plugins/media/jscripts/media.js +590 -0
  207. data/assets/public/javascripts/tiny_mce/plugins/media/langs/en.js +94 -0
  208. data/assets/public/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  209. data/assets/public/javascripts/tiny_mce/plugins/media/media.htm +851 -0
  210. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  211. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +50 -0
  212. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif +0 -0
  213. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/langs/en.js +5 -0
  214. data/assets/public/javascripts/tiny_mce/plugins/noneditable/css/noneditable.css +9 -0
  215. data/assets/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  216. data/assets/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +81 -0
  217. data/assets/public/javascripts/tiny_mce/plugins/noneditable/readme.txt +1 -0
  218. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  219. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  220. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +73 -0
  221. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  222. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  223. data/assets/public/javascripts/tiny_mce/plugins/paste/blank.htm +22 -0
  224. data/assets/public/javascripts/tiny_mce/plugins/paste/css/blank.css +14 -0
  225. data/assets/public/javascripts/tiny_mce/plugins/paste/css/pasteword.css +3 -0
  226. data/assets/public/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  227. data/assets/public/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +382 -0
  228. data/assets/public/javascripts/tiny_mce/plugins/paste/images/pastetext.gif +0 -0
  229. data/assets/public/javascripts/tiny_mce/plugins/paste/images/pasteword.gif +0 -0
  230. data/assets/public/javascripts/tiny_mce/plugins/paste/images/selectall.gif +0 -0
  231. data/assets/public/javascripts/tiny_mce/plugins/paste/js/pastetext.js +42 -0
  232. data/assets/public/javascripts/tiny_mce/plugins/paste/js/pasteword.js +56 -0
  233. data/assets/public/javascripts/tiny_mce/plugins/paste/jscripts/pastetext.js +38 -0
  234. data/assets/public/javascripts/tiny_mce/plugins/paste/jscripts/pasteword.js +52 -0
  235. data/assets/public/javascripts/tiny_mce/plugins/paste/langs/en.js +10 -0
  236. data/assets/public/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  237. data/assets/public/javascripts/tiny_mce/plugins/paste/pastetext.htm +34 -0
  238. data/assets/public/javascripts/tiny_mce/plugins/paste/pasteword.htm +29 -0
  239. data/assets/public/javascripts/tiny_mce/plugins/paste/readme.txt +1 -0
  240. data/assets/public/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  241. data/assets/public/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +187 -0
  242. data/assets/public/javascripts/tiny_mce/plugins/preview/example.html +28 -0
  243. data/assets/public/javascripts/tiny_mce/plugins/preview/images/preview.gif +0 -0
  244. data/assets/public/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  245. data/assets/public/javascripts/tiny_mce/plugins/preview/langs/en.js +5 -0
  246. data/assets/public/javascripts/tiny_mce/plugins/preview/readme.txt +1 -0
  247. data/assets/public/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  248. data/assets/public/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +31 -0
  249. data/assets/public/javascripts/tiny_mce/plugins/print/images/print.gif +0 -0
  250. data/assets/public/javascripts/tiny_mce/plugins/print/langs/en.js +5 -0
  251. data/assets/public/javascripts/tiny_mce/plugins/print/readme.txt +1 -0
  252. data/assets/public/javascripts/tiny_mce/plugins/readme.txt +1 -0
  253. data/assets/public/javascripts/tiny_mce/plugins/safari/blank.htm +1 -0
  254. data/assets/public/javascripts/tiny_mce/plugins/safari/editor_plugin.js +1 -0
  255. data/assets/public/javascripts/tiny_mce/plugins/safari/editor_plugin_src.js +414 -0
  256. data/assets/public/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  257. data/assets/public/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +100 -0
  258. data/assets/public/javascripts/tiny_mce/plugins/save/images/cancel.gif +0 -0
  259. data/assets/public/javascripts/tiny_mce/plugins/save/images/save.gif +0 -0
  260. data/assets/public/javascripts/tiny_mce/plugins/save/langs/en.js +6 -0
  261. data/assets/public/javascripts/tiny_mce/plugins/save/readme.txt +1 -0
  262. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  263. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  264. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +53 -0
  265. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/replace.gif +0 -0
  266. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif +0 -0
  267. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif +0 -0
  268. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/search.gif +0 -0
  269. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +110 -0
  270. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js +86 -0
  271. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/langs/en.js +21 -0
  272. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  273. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/readme.txt +1 -0
  274. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +105 -0
  275. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  276. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  277. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +336 -0
  278. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  279. data/assets/public/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
  280. data/assets/public/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  281. data/assets/public/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +48 -0
  282. data/assets/public/javascripts/tiny_mce/plugins/style/images/apply_button_bg.gif +0 -0
  283. data/assets/public/javascripts/tiny_mce/plugins/style/images/style_info.gif +0 -0
  284. data/assets/public/javascripts/tiny_mce/plugins/style/images/styleprops.gif +0 -0
  285. data/assets/public/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
  286. data/assets/public/javascripts/tiny_mce/plugins/style/jscripts/props.js +633 -0
  287. data/assets/public/javascripts/tiny_mce/plugins/style/langs/en.js +66 -0
  288. data/assets/public/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  289. data/assets/public/javascripts/tiny_mce/plugins/style/props.htm +731 -0
  290. data/assets/public/javascripts/tiny_mce/plugins/style/readme.txt +1 -0
  291. data/assets/public/javascripts/tiny_mce/plugins/table/cell.htm +183 -0
  292. data/assets/public/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  293. data/assets/public/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  294. data/assets/public/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  295. data/assets/public/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  296. data/assets/public/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1038 -0
  297. data/assets/public/javascripts/tiny_mce/plugins/table/images/buttons.gif +0 -0
  298. data/assets/public/javascripts/tiny_mce/plugins/table/images/table.gif +0 -0
  299. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_cell_props.gif +0 -0
  300. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_delete.gif +0 -0
  301. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_delete_col.gif +0 -0
  302. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_delete_row.gif +0 -0
  303. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_col_after.gif +0 -0
  304. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_col_before.gif +0 -0
  305. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_row_after.gif +0 -0
  306. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_row_before.gif +0 -0
  307. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_merge_cells.gif +0 -0
  308. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_row_props.gif +0 -0
  309. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_split_cells.gif +0 -0
  310. data/assets/public/javascripts/tiny_mce/plugins/table/js/cell.js +256 -0
  311. data/assets/public/javascripts/tiny_mce/plugins/table/js/merge_cells.js +28 -0
  312. data/assets/public/javascripts/tiny_mce/plugins/table/js/row.js +207 -0
  313. data/assets/public/javascripts/tiny_mce/plugins/table/js/table.js +382 -0
  314. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/cell.js +249 -0
  315. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/merge_cells.js +24 -0
  316. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/row.js +200 -0
  317. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/table.js +364 -0
  318. data/assets/public/javascripts/tiny_mce/plugins/table/langs/en.js +79 -0
  319. data/assets/public/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  320. data/assets/public/javascripts/tiny_mce/plugins/table/merge_cells.htm +38 -0
  321. data/assets/public/javascripts/tiny_mce/plugins/table/readme.txt +1 -0
  322. data/assets/public/javascripts/tiny_mce/plugins/table/row.htm +160 -0
  323. data/assets/public/javascripts/tiny_mce/plugins/table/table.htm +192 -0
  324. data/assets/public/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
  325. data/assets/public/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
  326. data/assets/public/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  327. data/assets/public/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +149 -0
  328. data/assets/public/javascripts/tiny_mce/plugins/template/images/template.gif +0 -0
  329. data/assets/public/javascripts/tiny_mce/plugins/template/js/template.js +100 -0
  330. data/assets/public/javascripts/tiny_mce/plugins/template/jscripts/template.js +143 -0
  331. data/assets/public/javascripts/tiny_mce/plugins/template/langs/en.js +16 -0
  332. data/assets/public/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  333. data/assets/public/javascripts/tiny_mce/plugins/template/template.htm +39 -0
  334. data/assets/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  335. data/assets/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +73 -0
  336. data/assets/public/javascripts/tiny_mce/plugins/visualchars/images/visualchars.gif +0 -0
  337. data/assets/public/javascripts/tiny_mce/plugins/visualchars/langs/en.js +5 -0
  338. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +149 -0
  339. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +149 -0
  340. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +154 -0
  341. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +149 -0
  342. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  343. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  344. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css +24 -0
  345. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +170 -0
  346. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  347. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +134 -0
  348. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/abbr.gif +0 -0
  349. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/acronym.gif +0 -0
  350. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/attribs.gif +0 -0
  351. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/cite.gif +0 -0
  352. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/date_time.gif +0 -0
  353. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/del.gif +0 -0
  354. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/ins.gif +0 -0
  355. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif +0 -0
  356. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +170 -0
  357. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +25 -0
  358. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +25 -0
  359. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +123 -0
  360. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +25 -0
  361. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +50 -0
  362. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +221 -0
  363. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +49 -0
  364. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js +29 -0
  365. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js +29 -0
  366. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js +130 -0
  367. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js +29 -0
  368. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/del.js +54 -0
  369. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js +241 -0
  370. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js +53 -0
  371. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en.js +42 -0
  372. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  373. data/assets/public/javascripts/tiny_mce/themes/advanced/about.htm +56 -0
  374. data/assets/public/javascripts/tiny_mce/themes/advanced/anchor.htm +32 -0
  375. data/assets/public/javascripts/tiny_mce/themes/advanced/charmap.htm +54 -0
  376. data/assets/public/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -0
  377. data/assets/public/javascripts/tiny_mce/themes/advanced/css/colorpicker.css +53 -0
  378. data/assets/public/javascripts/tiny_mce/themes/advanced/css/editor_content.css +45 -0
  379. data/assets/public/javascripts/tiny_mce/themes/advanced/css/editor_popup.css +331 -0
  380. data/assets/public/javascripts/tiny_mce/themes/advanced/css/editor_ui.css +97 -0
  381. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/about.htm +31 -0
  382. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm +162 -0
  383. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm +45 -0
  384. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif +0 -0
  385. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif +0 -0
  386. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif +0 -0
  387. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif +0 -0
  388. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/index.htm +27 -0
  389. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm +32 -0
  390. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm +65 -0
  391. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm +33 -0
  392. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm +71 -0
  393. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/style.css +28 -0
  394. data/assets/public/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  395. data/assets/public/javascripts/tiny_mce/themes/advanced/editor_template_src.js +998 -0
  396. data/assets/public/javascripts/tiny_mce/themes/advanced/image.htm +86 -0
  397. data/assets/public/javascripts/tiny_mce/themes/advanced/images/anchor.gif +0 -0
  398. data/assets/public/javascripts/tiny_mce/themes/advanced/images/anchor_symbol.gif +0 -0
  399. data/assets/public/javascripts/tiny_mce/themes/advanced/images/backcolor.gif +0 -0
  400. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold.gif +0 -0
  401. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_de_se.gif +0 -0
  402. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_es.gif +0 -0
  403. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_fr.gif +0 -0
  404. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_ru.gif +0 -0
  405. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_tw.gif +0 -0
  406. data/assets/public/javascripts/tiny_mce/themes/advanced/images/browse.gif +0 -0
  407. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bullist.gif +0 -0
  408. data/assets/public/javascripts/tiny_mce/themes/advanced/images/button_menu.gif +0 -0
  409. data/assets/public/javascripts/tiny_mce/themes/advanced/images/buttons.gif +0 -0
  410. data/assets/public/javascripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif +0 -0
  411. data/assets/public/javascripts/tiny_mce/themes/advanced/images/charmap.gif +0 -0
  412. data/assets/public/javascripts/tiny_mce/themes/advanced/images/cleanup.gif +0 -0
  413. data/assets/public/javascripts/tiny_mce/themes/advanced/images/close.gif +0 -0
  414. data/assets/public/javascripts/tiny_mce/themes/advanced/images/code.gif +0 -0
  415. data/assets/public/javascripts/tiny_mce/themes/advanced/images/color.gif +0 -0
  416. data/assets/public/javascripts/tiny_mce/themes/advanced/images/colors.jpg +0 -0
  417. data/assets/public/javascripts/tiny_mce/themes/advanced/images/copy.gif +0 -0
  418. data/assets/public/javascripts/tiny_mce/themes/advanced/images/custom_1.gif +0 -0
  419. data/assets/public/javascripts/tiny_mce/themes/advanced/images/cut.gif +0 -0
  420. data/assets/public/javascripts/tiny_mce/themes/advanced/images/forecolor.gif +0 -0
  421. data/assets/public/javascripts/tiny_mce/themes/advanced/images/help.gif +0 -0
  422. data/assets/public/javascripts/tiny_mce/themes/advanced/images/hr.gif +0 -0
  423. data/assets/public/javascripts/tiny_mce/themes/advanced/images/image.gif +0 -0
  424. data/assets/public/javascripts/tiny_mce/themes/advanced/images/indent.gif +0 -0
  425. data/assets/public/javascripts/tiny_mce/themes/advanced/images/insert_button_bg.gif +0 -0
  426. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic.gif +0 -0
  427. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_de_se.gif +0 -0
  428. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_es.gif +0 -0
  429. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_ru.gif +0 -0
  430. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_tw.gif +0 -0
  431. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifycenter.gif +0 -0
  432. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifyfull.gif +0 -0
  433. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifyleft.gif +0 -0
  434. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifyright.gif +0 -0
  435. data/assets/public/javascripts/tiny_mce/themes/advanced/images/link.gif +0 -0
  436. data/assets/public/javascripts/tiny_mce/themes/advanced/images/menu_check.gif +0 -0
  437. data/assets/public/javascripts/tiny_mce/themes/advanced/images/newdocument.gif +0 -0
  438. data/assets/public/javascripts/tiny_mce/themes/advanced/images/numlist.gif +0 -0
  439. data/assets/public/javascripts/tiny_mce/themes/advanced/images/opacity.png +0 -0
  440. data/assets/public/javascripts/tiny_mce/themes/advanced/images/outdent.gif +0 -0
  441. data/assets/public/javascripts/tiny_mce/themes/advanced/images/paste.gif +0 -0
  442. data/assets/public/javascripts/tiny_mce/themes/advanced/images/redo.gif +0 -0
  443. data/assets/public/javascripts/tiny_mce/themes/advanced/images/removeformat.gif +0 -0
  444. data/assets/public/javascripts/tiny_mce/themes/advanced/images/separator.gif +0 -0
  445. data/assets/public/javascripts/tiny_mce/themes/advanced/images/spacer.gif +0 -0
  446. data/assets/public/javascripts/tiny_mce/themes/advanced/images/statusbar_resize.gif +0 -0
  447. data/assets/public/javascripts/tiny_mce/themes/advanced/images/strikethrough.gif +0 -0
  448. data/assets/public/javascripts/tiny_mce/themes/advanced/images/sub.gif +0 -0
  449. data/assets/public/javascripts/tiny_mce/themes/advanced/images/sup.gif +0 -0
  450. data/assets/public/javascripts/tiny_mce/themes/advanced/images/toolbar_bg.gif +0 -0
  451. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline.gif +0 -0
  452. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_es.gif +0 -0
  453. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_fr.gif +0 -0
  454. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_ru.gif +0 -0
  455. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_tw.gif +0 -0
  456. data/assets/public/javascripts/tiny_mce/themes/advanced/images/undo.gif +0 -0
  457. data/assets/public/javascripts/tiny_mce/themes/advanced/images/unlink.gif +0 -0
  458. data/assets/public/javascripts/tiny_mce/themes/advanced/images/visualaid.gif +0 -0
  459. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif +0 -0
  460. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_end.gif +0 -0
  461. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif +0 -0
  462. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif +0 -0
  463. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif +0 -0
  464. data/assets/public/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  465. data/assets/public/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  466. data/assets/public/javascripts/tiny_mce/themes/advanced/js/about.js +76 -0
  467. data/assets/public/javascripts/tiny_mce/themes/advanced/js/anchor.js +33 -0
  468. data/assets/public/javascripts/tiny_mce/themes/advanced/js/charmap.js +325 -0
  469. data/assets/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js +245 -0
  470. data/assets/public/javascripts/tiny_mce/themes/advanced/js/image.js +243 -0
  471. data/assets/public/javascripts/tiny_mce/themes/advanced/js/link.js +124 -0
  472. data/assets/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  473. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/about.js +75 -0
  474. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/anchor.js +74 -0
  475. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/charmap.js +326 -0
  476. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/color_picker.js +240 -0
  477. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/image.js +81 -0
  478. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/link.js +74 -0
  479. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/source_editor.js +59 -0
  480. data/assets/public/javascripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  481. data/assets/public/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  482. data/assets/public/javascripts/tiny_mce/themes/advanced/link.htm +64 -0
  483. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/content.css +18 -0
  484. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +114 -0
  485. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  486. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  487. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  488. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  489. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  490. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  491. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +195 -0
  492. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +18 -0
  493. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +113 -0
  494. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  495. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  496. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  497. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +195 -0
  498. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  499. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  500. data/assets/public/javascripts/tiny_mce/themes/advanced/source_editor.htm +32 -0
  501. data/assets/public/javascripts/tiny_mce/themes/simple/css/editor_content.css +25 -0
  502. data/assets/public/javascripts/tiny_mce/themes/simple/css/editor_popup.css +41 -0
  503. data/assets/public/javascripts/tiny_mce/themes/simple/css/editor_ui.css +125 -0
  504. data/assets/public/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
  505. data/assets/public/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  506. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold.gif +0 -0
  507. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_de_se.gif +0 -0
  508. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_fr.gif +0 -0
  509. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_ru.gif +0 -0
  510. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_tw.gif +0 -0
  511. data/assets/public/javascripts/tiny_mce/themes/simple/images/bullist.gif +0 -0
  512. data/assets/public/javascripts/tiny_mce/themes/simple/images/buttons.gif +0 -0
  513. data/assets/public/javascripts/tiny_mce/themes/simple/images/cleanup.gif +0 -0
  514. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic.gif +0 -0
  515. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic_de_se.gif +0 -0
  516. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic_ru.gif +0 -0
  517. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic_tw.gif +0 -0
  518. data/assets/public/javascripts/tiny_mce/themes/simple/images/numlist.gif +0 -0
  519. data/assets/public/javascripts/tiny_mce/themes/simple/images/redo.gif +0 -0
  520. data/assets/public/javascripts/tiny_mce/themes/simple/images/separator.gif +0 -0
  521. data/assets/public/javascripts/tiny_mce/themes/simple/images/spacer.gif +0 -0
  522. data/assets/public/javascripts/tiny_mce/themes/simple/images/strikethrough.gif +0 -0
  523. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline.gif +0 -0
  524. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline_fr.gif +0 -0
  525. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline_ru.gif +0 -0
  526. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline_tw.gif +0 -0
  527. data/assets/public/javascripts/tiny_mce/themes/simple/images/undo.gif +0 -0
  528. data/assets/public/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  529. data/assets/public/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
  530. data/assets/public/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  531. data/assets/public/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  532. data/assets/public/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  533. data/assets/public/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  534. data/assets/public/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  535. data/assets/public/javascripts/tiny_mce/tiny_mce.js +1 -0
  536. data/assets/public/javascripts/tiny_mce/tiny_mce_popup.js +246 -0
  537. data/assets/public/javascripts/tiny_mce/tiny_mce_src.js +9608 -0
  538. data/assets/public/javascripts/tiny_mce/utils/editable_selects.js +61 -0
  539. data/assets/public/javascripts/tiny_mce/utils/form_utils.js +195 -0
  540. data/assets/public/javascripts/tiny_mce/utils/mclayer.js +210 -0
  541. data/assets/public/javascripts/tiny_mce/utils/mctabs.js +74 -0
  542. data/assets/public/javascripts/tiny_mce/utils/validate.js +219 -0
  543. data/generators/rails_tiny_mce_migration/rails_tiny_mce_migration_generator.rb +11 -0
  544. data/generators/rails_tiny_mce_migration/templates/migration.rb +24 -0
  545. data/init.rb +3 -0
  546. data/install.rb +1 -0
  547. data/lib/rails_tinymce.rb +3 -0
  548. data/lib/rails_tinymce/version.rb +3 -0
  549. data/lib/tiny_mce.rb +36 -0
  550. data/lib/tiny_mce_helper.rb +48 -0
  551. data/plugins/paperclip/LICENSE +26 -0
  552. data/plugins/paperclip/README.rdoc +174 -0
  553. data/plugins/paperclip/Rakefile +99 -0
  554. data/plugins/paperclip/cucumber/paperclip_steps.rb +6 -0
  555. data/plugins/paperclip/generators/paperclip/USAGE +5 -0
  556. data/plugins/paperclip/generators/paperclip/paperclip_generator.rb +27 -0
  557. data/plugins/paperclip/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  558. data/plugins/paperclip/init.rb +1 -0
  559. data/plugins/paperclip/lib/paperclip.rb +353 -0
  560. data/plugins/paperclip/lib/paperclip/attachment.rb +414 -0
  561. data/plugins/paperclip/lib/paperclip/callback_compatability.rb +33 -0
  562. data/plugins/paperclip/lib/paperclip/geometry.rb +115 -0
  563. data/plugins/paperclip/lib/paperclip/interpolations.rb +108 -0
  564. data/plugins/paperclip/lib/paperclip/iostream.rb +58 -0
  565. data/plugins/paperclip/lib/paperclip/matchers.rb +4 -0
  566. data/plugins/paperclip/lib/paperclip/matchers/have_attached_file_matcher.rb +49 -0
  567. data/plugins/paperclip/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +66 -0
  568. data/plugins/paperclip/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +48 -0
  569. data/plugins/paperclip/lib/paperclip/matchers/validate_attachment_size_matcher.rb +83 -0
  570. data/plugins/paperclip/lib/paperclip/processor.rb +49 -0
  571. data/plugins/paperclip/lib/paperclip/storage.rb +243 -0
  572. data/plugins/paperclip/lib/paperclip/thumbnail.rb +73 -0
  573. data/plugins/paperclip/lib/paperclip/upfile.rb +48 -0
  574. data/plugins/paperclip/paperclip.gemspec +37 -0
  575. data/plugins/paperclip/shoulda_macros/paperclip.rb +117 -0
  576. data/plugins/paperclip/tasks/paperclip_tasks.rake +79 -0
  577. data/plugins/paperclip/test/.gitignore +1 -0
  578. data/plugins/paperclip/test/attachment_test.rb +780 -0
  579. data/plugins/paperclip/test/database.yml +4 -0
  580. data/plugins/paperclip/test/fixtures/12k.png +0 -0
  581. data/plugins/paperclip/test/fixtures/50x50.png +0 -0
  582. data/plugins/paperclip/test/fixtures/5k.png +0 -0
  583. data/plugins/paperclip/test/fixtures/bad.png +1 -0
  584. data/plugins/paperclip/test/fixtures/s3.yml +8 -0
  585. data/plugins/paperclip/test/fixtures/text.txt +0 -0
  586. data/plugins/paperclip/test/fixtures/twopage.pdf +0 -0
  587. data/plugins/paperclip/test/geometry_test.rb +177 -0
  588. data/plugins/paperclip/test/helper.rb +108 -0
  589. data/plugins/paperclip/test/integration_test.rb +483 -0
  590. data/plugins/paperclip/test/interpolations_test.rb +124 -0
  591. data/plugins/paperclip/test/iostream_test.rb +71 -0
  592. data/plugins/paperclip/test/matchers/have_attached_file_matcher_test.rb +21 -0
  593. data/plugins/paperclip/test/matchers/validate_attachment_content_type_matcher_test.rb +30 -0
  594. data/plugins/paperclip/test/matchers/validate_attachment_presence_matcher_test.rb +21 -0
  595. data/plugins/paperclip/test/matchers/validate_attachment_size_matcher_test.rb +50 -0
  596. data/plugins/paperclip/test/paperclip_test.rb +327 -0
  597. data/plugins/paperclip/test/processor_test.rb +10 -0
  598. data/plugins/paperclip/test/storage_test.rb +303 -0
  599. data/plugins/paperclip/test/thumbnail_test.rb +227 -0
  600. data/plugins/responds_to_parent/MIT-LICENSE +20 -0
  601. data/plugins/responds_to_parent/README +42 -0
  602. data/plugins/responds_to_parent/Rakefile +22 -0
  603. data/plugins/responds_to_parent/init.rb +2 -0
  604. data/plugins/responds_to_parent/lib/parent_selector_assertion.rb +144 -0
  605. data/plugins/responds_to_parent/lib/responds_to_parent.rb +46 -0
  606. data/plugins/responds_to_parent/test/assert_select_parent_test.rb +318 -0
  607. data/plugins/responds_to_parent/test/responds_to_parent_test.rb +115 -0
  608. data/plugins/will_paginate/.gitignore +4 -0
  609. data/plugins/will_paginate/.manifest +49 -0
  610. data/plugins/will_paginate/CHANGELOG +92 -0
  611. data/plugins/will_paginate/LICENSE +18 -0
  612. data/plugins/will_paginate/README.rdoc +131 -0
  613. data/plugins/will_paginate/Rakefile +62 -0
  614. data/plugins/will_paginate/examples/apple-circle.gif +0 -0
  615. data/plugins/will_paginate/examples/index.haml +69 -0
  616. data/plugins/will_paginate/examples/index.html +92 -0
  617. data/plugins/will_paginate/examples/pagination.css +90 -0
  618. data/plugins/will_paginate/examples/pagination.sass +91 -0
  619. data/plugins/will_paginate/init.rb +1 -0
  620. data/plugins/will_paginate/lib/will_paginate.rb +86 -0
  621. data/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
  622. data/plugins/will_paginate/lib/will_paginate/collection.rb +145 -0
  623. data/plugins/will_paginate/lib/will_paginate/core_ext.rb +32 -0
  624. data/plugins/will_paginate/lib/will_paginate/finder.rb +247 -0
  625. data/plugins/will_paginate/lib/will_paginate/named_scope.rb +132 -0
  626. data/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +39 -0
  627. data/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
  628. data/plugins/will_paginate/lib/will_paginate/view_helpers.rb +373 -0
  629. data/plugins/will_paginate/test/boot.rb +21 -0
  630. data/plugins/will_paginate/test/collection_test.rb +140 -0
  631. data/plugins/will_paginate/test/console +8 -0
  632. data/plugins/will_paginate/test/database.yml +22 -0
  633. data/plugins/will_paginate/test/finder_test.rb +434 -0
  634. data/plugins/will_paginate/test/fixtures/admin.rb +3 -0
  635. data/plugins/will_paginate/test/fixtures/developer.rb +13 -0
  636. data/plugins/will_paginate/test/fixtures/developers_projects.yml +13 -0
  637. data/plugins/will_paginate/test/fixtures/project.rb +15 -0
  638. data/plugins/will_paginate/test/fixtures/projects.yml +6 -0
  639. data/plugins/will_paginate/test/fixtures/replies.yml +29 -0
  640. data/plugins/will_paginate/test/fixtures/reply.rb +7 -0
  641. data/plugins/will_paginate/test/fixtures/schema.rb +38 -0
  642. data/plugins/will_paginate/test/fixtures/topic.rb +6 -0
  643. data/plugins/will_paginate/test/fixtures/topics.yml +30 -0
  644. data/plugins/will_paginate/test/fixtures/user.rb +2 -0
  645. data/plugins/will_paginate/test/fixtures/users.yml +35 -0
  646. data/plugins/will_paginate/test/helper.rb +37 -0
  647. data/plugins/will_paginate/test/lib/activerecord_test_case.rb +36 -0
  648. data/plugins/will_paginate/test/lib/activerecord_test_connector.rb +69 -0
  649. data/plugins/will_paginate/test/lib/load_fixtures.rb +11 -0
  650. data/plugins/will_paginate/test/lib/view_test_process.rb +165 -0
  651. data/plugins/will_paginate/test/tasks.rake +56 -0
  652. data/plugins/will_paginate/test/view_test.rb +355 -0
  653. data/plugins/will_paginate/will_paginate.gemspec +21 -0
  654. data/rails_tinymce.gemspec +21 -0
  655. data/tasks/tiny_mce_plus_tasks.rake +23 -0
  656. data/test/tiny_mce_plus_test.rb +8 -0
  657. data/tiny_mce_options.yml +124 -0
  658. data/uninstall.rb +1 -0
  659. metadata +725 -0
@@ -0,0 +1,10 @@
1
+ require 'test/helper'
2
+
3
+ class ProcessorTest < Test::Unit::TestCase
4
+ should "instantiate and call #make when sent #make to the class" do
5
+ processor = mock
6
+ processor.expects(:make).with()
7
+ Paperclip::Processor.expects(:new).with(:one, :two, :three).returns(processor)
8
+ Paperclip::Processor.make(:one, :two, :three)
9
+ end
10
+ end
@@ -0,0 +1,303 @@
1
+ require 'test/helper'
2
+ require 'aws/s3'
3
+
4
+ class StorageTest < Test::Unit::TestCase
5
+ def rails_env(env)
6
+ silence_warnings do
7
+ Object.const_set(:RAILS_ENV, env)
8
+ end
9
+ end
10
+
11
+ context "Parsing S3 credentials" do
12
+ setup do
13
+ AWS::S3::Base.stubs(:establish_connection!)
14
+ rebuild_model :storage => :s3,
15
+ :bucket => "testing",
16
+ :s3_credentials => {:not => :important}
17
+
18
+ @dummy = Dummy.new
19
+ @avatar = @dummy.avatar
20
+
21
+ @current_env = RAILS_ENV
22
+ end
23
+
24
+ teardown do
25
+ rails_env(@current_env)
26
+ end
27
+
28
+ should "get the correct credentials when RAILS_ENV is production" do
29
+ rails_env("production")
30
+ assert_equal({:key => "12345"},
31
+ @avatar.parse_credentials('production' => {:key => '12345'},
32
+ :development => {:key => "54321"}))
33
+ end
34
+
35
+ should "get the correct credentials when RAILS_ENV is development" do
36
+ rails_env("development")
37
+ assert_equal({:key => "54321"},
38
+ @avatar.parse_credentials('production' => {:key => '12345'},
39
+ :development => {:key => "54321"}))
40
+ end
41
+
42
+ should "return the argument if the key does not exist" do
43
+ rails_env("not really an env")
44
+ assert_equal({:test => "12345"}, @avatar.parse_credentials(:test => "12345"))
45
+ end
46
+ end
47
+
48
+ context "" do
49
+ setup do
50
+ AWS::S3::Base.stubs(:establish_connection!)
51
+ rebuild_model :storage => :s3,
52
+ :s3_credentials => {},
53
+ :bucket => "bucket",
54
+ :path => ":attachment/:basename.:extension",
55
+ :url => ":s3_path_url"
56
+ @dummy = Dummy.new
57
+ @dummy.avatar = StringIO.new(".")
58
+ end
59
+
60
+ should "return a url based on an S3 path" do
61
+ assert_match %r{^http://s3.amazonaws.com/bucket/avatars/stringio.txt}, @dummy.avatar.url
62
+ end
63
+ end
64
+ context "" do
65
+ setup do
66
+ AWS::S3::Base.stubs(:establish_connection!)
67
+ rebuild_model :storage => :s3,
68
+ :s3_credentials => {},
69
+ :bucket => "bucket",
70
+ :path => ":attachment/:basename.:extension",
71
+ :url => ":s3_domain_url"
72
+ @dummy = Dummy.new
73
+ @dummy.avatar = StringIO.new(".")
74
+ end
75
+
76
+ should "return a url based on an S3 subdomain" do
77
+ assert_match %r{^http://bucket.s3.amazonaws.com/avatars/stringio.txt}, @dummy.avatar.url
78
+ end
79
+ end
80
+ context "" do
81
+ setup do
82
+ AWS::S3::Base.stubs(:establish_connection!)
83
+ rebuild_model :storage => :s3,
84
+ :s3_credentials => {
85
+ :production => { :bucket => "prod_bucket" },
86
+ :development => { :bucket => "dev_bucket" }
87
+ },
88
+ :s3_host_alias => "something.something.com",
89
+ :path => ":attachment/:basename.:extension",
90
+ :url => ":s3_alias_url"
91
+ @dummy = Dummy.new
92
+ @dummy.avatar = StringIO.new(".")
93
+ end
94
+
95
+ should "return a url based on the host_alias" do
96
+ assert_match %r{^http://something.something.com/avatars/stringio.txt}, @dummy.avatar.url
97
+ end
98
+ end
99
+
100
+ context "Parsing S3 credentials with a bucket in them" do
101
+ setup do
102
+ AWS::S3::Base.stubs(:establish_connection!)
103
+ rebuild_model :storage => :s3,
104
+ :s3_credentials => {
105
+ :production => { :bucket => "prod_bucket" },
106
+ :development => { :bucket => "dev_bucket" }
107
+ }
108
+ @dummy = Dummy.new
109
+ @old_env = RAILS_ENV
110
+ end
111
+
112
+ teardown{ rails_env(@old_env) }
113
+
114
+ should "get the right bucket in production" do
115
+ rails_env("production")
116
+ assert_equal "prod_bucket", @dummy.avatar.bucket_name
117
+ end
118
+
119
+ should "get the right bucket in development" do
120
+ rails_env("development")
121
+ assert_equal "dev_bucket", @dummy.avatar.bucket_name
122
+ end
123
+ end
124
+
125
+ context "An attachment with S3 storage" do
126
+ setup do
127
+ rebuild_model :storage => :s3,
128
+ :bucket => "testing",
129
+ :path => ":attachment/:style/:basename.:extension",
130
+ :s3_credentials => {
131
+ 'access_key_id' => "12345",
132
+ 'secret_access_key' => "54321"
133
+ }
134
+ end
135
+
136
+ should "be extended by the S3 module" do
137
+ assert Dummy.new.avatar.is_a?(Paperclip::Storage::S3)
138
+ end
139
+
140
+ should "not be extended by the Filesystem module" do
141
+ assert ! Dummy.new.avatar.is_a?(Paperclip::Storage::Filesystem)
142
+ end
143
+
144
+ context "when assigned" do
145
+ setup do
146
+ @file = File.new(File.join(File.dirname(__FILE__), 'fixtures', '5k.png'), 'rb')
147
+ @dummy = Dummy.new
148
+ @dummy.avatar = @file
149
+ end
150
+
151
+ teardown { @file.close }
152
+
153
+ should "not get a bucket to get a URL" do
154
+ @dummy.avatar.expects(:s3).never
155
+ @dummy.avatar.expects(:s3_bucket).never
156
+ assert_match %r{^http://s3\.amazonaws\.com/testing/avatars/original/5k\.png}, @dummy.avatar.url
157
+ end
158
+
159
+ context "and saved" do
160
+ setup do
161
+ AWS::S3::S3Object.stubs(:store).with(@dummy.avatar.path, anything, 'testing', :content_type => 'image/png', :access => :public_read)
162
+ @dummy.save
163
+ end
164
+
165
+ should "succeed" do
166
+ assert true
167
+ end
168
+ end
169
+
170
+ context "and remove" do
171
+ setup do
172
+ AWS::S3::S3Object.stubs(:exists?).returns(true)
173
+ AWS::S3::S3Object.stubs(:delete)
174
+ @dummy.destroy_attached_files
175
+ end
176
+
177
+ should "succeed" do
178
+ assert true
179
+ end
180
+ end
181
+ end
182
+ end
183
+
184
+ context "An attachment with S3 storage and bucket defined as a Proc" do
185
+ setup do
186
+ AWS::S3::Base.stubs(:establish_connection!)
187
+ rebuild_model :storage => :s3,
188
+ :bucket => lambda { |attachment| "bucket_#{attachment.instance.other}" },
189
+ :s3_credentials => {:not => :important}
190
+ end
191
+
192
+ should "get the right bucket name" do
193
+ assert "bucket_a", Dummy.new(:other => 'a').avatar.bucket_name
194
+ assert "bucket_b", Dummy.new(:other => 'b').avatar.bucket_name
195
+ end
196
+ end
197
+
198
+ context "An attachment with S3 storage and specific s3 headers set" do
199
+ setup do
200
+ AWS::S3::Base.stubs(:establish_connection!)
201
+ rebuild_model :storage => :s3,
202
+ :bucket => "testing",
203
+ :path => ":attachment/:style/:basename.:extension",
204
+ :s3_credentials => {
205
+ 'access_key_id' => "12345",
206
+ 'secret_access_key' => "54321"
207
+ },
208
+ :s3_headers => {'Cache-Control' => 'max-age=31557600'}
209
+ end
210
+
211
+ context "when assigned" do
212
+ setup do
213
+ @file = File.new(File.join(File.dirname(__FILE__), 'fixtures', '5k.png'), 'rb')
214
+ @dummy = Dummy.new
215
+ @dummy.avatar = @file
216
+ end
217
+
218
+ teardown { @file.close }
219
+
220
+ context "and saved" do
221
+ setup do
222
+ AWS::S3::Base.stubs(:establish_connection!)
223
+ AWS::S3::S3Object.stubs(:store).with(@dummy.avatar.path,
224
+ anything,
225
+ 'testing',
226
+ :content_type => 'image/png',
227
+ :access => :public_read,
228
+ 'Cache-Control' => 'max-age=31557600')
229
+ @dummy.save
230
+ end
231
+
232
+ should "succeed" do
233
+ assert true
234
+ end
235
+ end
236
+ end
237
+ end
238
+
239
+ context "with S3 credentials in a YAML file" do
240
+ setup do
241
+ ENV['S3_KEY'] = 'env_key'
242
+ ENV['S3_BUCKET'] = 'env_bucket'
243
+ ENV['S3_SECRET'] = 'env_secret'
244
+
245
+ rails_env('test')
246
+
247
+ rebuild_model :storage => :s3,
248
+ :s3_credentials => File.new(File.join(File.dirname(__FILE__), "fixtures/s3.yml"))
249
+
250
+ Dummy.delete_all
251
+
252
+ @dummy = Dummy.new
253
+ end
254
+
255
+ should "run it the file through ERB" do
256
+ assert_equal 'env_bucket', @dummy.avatar.bucket_name
257
+ assert_equal 'env_key', AWS::S3::Base.connection.options[:access_key_id]
258
+ assert_equal 'env_secret', AWS::S3::Base.connection.options[:secret_access_key]
259
+ end
260
+ end
261
+
262
+ unless ENV["S3_TEST_BUCKET"].blank?
263
+ context "Using S3 for real, an attachment with S3 storage" do
264
+ setup do
265
+ rebuild_model :styles => { :thumb => "100x100", :square => "32x32#" },
266
+ :storage => :s3,
267
+ :bucket => ENV["S3_TEST_BUCKET"],
268
+ :path => ":class/:attachment/:id/:style.:extension",
269
+ :s3_credentials => File.new(File.join(File.dirname(__FILE__), "s3.yml"))
270
+
271
+ Dummy.delete_all
272
+ @dummy = Dummy.new
273
+ end
274
+
275
+ should "be extended by the S3 module" do
276
+ assert Dummy.new.avatar.is_a?(Paperclip::Storage::S3)
277
+ end
278
+
279
+ context "when assigned" do
280
+ setup do
281
+ @file = File.new(File.join(File.dirname(__FILE__), 'fixtures', '5k.png'), 'rb')
282
+ @dummy.avatar = @file
283
+ end
284
+
285
+ teardown { @file.close }
286
+
287
+ should "still return a Tempfile when sent #to_file" do
288
+ assert_equal Tempfile, @dummy.avatar.to_file.class
289
+ end
290
+
291
+ context "and saved" do
292
+ setup do
293
+ @dummy.save
294
+ end
295
+
296
+ should "be on S3" do
297
+ assert true
298
+ end
299
+ end
300
+ end
301
+ end
302
+ end
303
+ end
@@ -0,0 +1,227 @@
1
+ require 'test/helper'
2
+
3
+ class ThumbnailTest < Test::Unit::TestCase
4
+
5
+ context "A Paperclip Tempfile" do
6
+ setup do
7
+ @tempfile = Paperclip::Tempfile.new("file.jpg")
8
+ end
9
+
10
+ should "have its path contain a real extension" do
11
+ assert_equal ".jpg", File.extname(@tempfile.path)
12
+ end
13
+
14
+ should "be a real Tempfile" do
15
+ assert @tempfile.is_a?(::Tempfile)
16
+ end
17
+ end
18
+
19
+ context "Another Paperclip Tempfile" do
20
+ setup do
21
+ @tempfile = Paperclip::Tempfile.new("file")
22
+ end
23
+
24
+ should "not have an extension if not given one" do
25
+ assert_equal "", File.extname(@tempfile.path)
26
+ end
27
+
28
+ should "still be a real Tempfile" do
29
+ assert @tempfile.is_a?(::Tempfile)
30
+ end
31
+ end
32
+
33
+ context "An image" do
34
+ setup do
35
+ @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "5k.png"), 'rb')
36
+ end
37
+
38
+ teardown { @file.close }
39
+
40
+ [["600x600>", "434x66"],
41
+ ["400x400>", "400x61"],
42
+ ["32x32<", "434x66"]
43
+ ].each do |args|
44
+ context "being thumbnailed with a geometry of #{args[0]}" do
45
+ setup do
46
+ @thumb = Paperclip::Thumbnail.new(@file, :geometry => args[0])
47
+ end
48
+
49
+ should "start with dimensions of 434x66" do
50
+ cmd = %Q[identify -format "%wx%h" "#{@file.path}"]
51
+ assert_equal "434x66", `#{cmd}`.chomp
52
+ end
53
+
54
+ should "report the correct target geometry" do
55
+ assert_equal args[0], @thumb.target_geometry.to_s
56
+ end
57
+
58
+ context "when made" do
59
+ setup do
60
+ @thumb_result = @thumb.make
61
+ end
62
+
63
+ should "be the size we expect it to be" do
64
+ cmd = %Q[identify -format "%wx%h" "#{@thumb_result.path}"]
65
+ assert_equal args[1], `#{cmd}`.chomp
66
+ end
67
+ end
68
+ end
69
+ end
70
+
71
+ context "being thumbnailed at 100x50 with cropping" do
72
+ setup do
73
+ @thumb = Paperclip::Thumbnail.new(@file, :geometry => "100x50#")
74
+ end
75
+
76
+ should "report its correct current and target geometries" do
77
+ assert_equal "100x50#", @thumb.target_geometry.to_s
78
+ assert_equal "434x66", @thumb.current_geometry.to_s
79
+ end
80
+
81
+ should "report its correct format" do
82
+ assert_nil @thumb.format
83
+ end
84
+
85
+ should "have whiny turned on by default" do
86
+ assert @thumb.whiny
87
+ end
88
+
89
+ should "have convert_options set to nil by default" do
90
+ assert_equal nil, @thumb.convert_options
91
+ end
92
+
93
+ should "send the right command to convert when sent #make" do
94
+ Paperclip.expects(:"`").with do |arg|
95
+ arg.match %r{convert\s+"#{File.expand_path(@thumb.file.path)}\[0\]"\s+-resize\s+\"x50\"\s+-crop\s+\"100x50\+114\+0\"\s+\+repage\s+".*?"}
96
+ end
97
+ @thumb.make
98
+ end
99
+
100
+ should "create the thumbnail when sent #make" do
101
+ dst = @thumb.make
102
+ assert_match /100x50/, `identify "#{dst.path}"`
103
+ end
104
+ end
105
+
106
+ context "being thumbnailed with source file options set" do
107
+ setup do
108
+ @thumb = Paperclip::Thumbnail.new(@file,
109
+ :geometry => "100x50#",
110
+ :source_file_options => "-strip")
111
+ end
112
+
113
+ should "have source_file_options value set" do
114
+ assert_equal "-strip", @thumb.source_file_options
115
+ end
116
+
117
+ should "send the right command to convert when sent #make" do
118
+ Paperclip.expects(:"`").with do |arg|
119
+ arg.match %r{convert\s+-strip\s+"#{File.expand_path(@thumb.file.path)}\[0\]"\s+-resize\s+"x50"\s+-crop\s+"100x50\+114\+0"\s+\+repage\s+".*?"}
120
+ end
121
+ @thumb.make
122
+ end
123
+
124
+ should "create the thumbnail when sent #make" do
125
+ dst = @thumb.make
126
+ assert_match /100x50/, `identify "#{dst.path}"`
127
+ end
128
+
129
+ context "redefined to have bad source_file_options setting" do
130
+ setup do
131
+ @thumb = Paperclip::Thumbnail.new(@file,
132
+ :geometry => "100x50#",
133
+ :source_file_options => "-this-aint-no-option")
134
+ end
135
+
136
+ should "error when trying to create the thumbnail" do
137
+ assert_raises(Paperclip::PaperclipError) do
138
+ @thumb.make
139
+ end
140
+ end
141
+ end
142
+ end
143
+
144
+ context "being thumbnailed with convert options set" do
145
+ setup do
146
+ @thumb = Paperclip::Thumbnail.new(@file,
147
+ :geometry => "100x50#",
148
+ :convert_options => "-strip -depth 8")
149
+ end
150
+
151
+ should "have convert_options value set" do
152
+ assert_equal "-strip -depth 8", @thumb.convert_options
153
+ end
154
+
155
+ should "send the right command to convert when sent #make" do
156
+ Paperclip.expects(:"`").with do |arg|
157
+ arg.match %r{convert\s+"#{File.expand_path(@thumb.file.path)}\[0\]"\s+-resize\s+"x50"\s+-crop\s+"100x50\+114\+0"\s+\+repage\s+-strip\s+-depth\s+8\s+".*?"}
158
+ end
159
+ @thumb.make
160
+ end
161
+
162
+ should "create the thumbnail when sent #make" do
163
+ dst = @thumb.make
164
+ assert_match /100x50/, `identify "#{dst.path}"`
165
+ end
166
+
167
+ context "redefined to have bad convert_options setting" do
168
+ setup do
169
+ @thumb = Paperclip::Thumbnail.new(@file,
170
+ :geometry => "100x50#",
171
+ :convert_options => "-this-aint-no-option")
172
+ end
173
+
174
+ should "error when trying to create the thumbnail" do
175
+ assert_raises(Paperclip::PaperclipError) do
176
+ @thumb.make
177
+ end
178
+ end
179
+ end
180
+ end
181
+
182
+ context "being thumbnailed with a blank geometry string" do
183
+ setup do
184
+ @thumb = Paperclip::Thumbnail.new(@file,
185
+ :geometry => "",
186
+ :convert_options => "-gravity center -crop \"300x300+0-0\"")
187
+ end
188
+
189
+ should "not get resized by default" do
190
+ assert_no_match(/-resize/, @thumb.transformation_command)
191
+ end
192
+ end
193
+ end
194
+
195
+ context "A multipage PDF" do
196
+ setup do
197
+ @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "twopage.pdf"), 'rb')
198
+ end
199
+
200
+ teardown { @file.close }
201
+
202
+ should "start with two pages with dimensions 612x792" do
203
+ cmd = %Q[identify -format "%wx%h" "#{@file.path}"]
204
+ assert_equal "612x792"*2, `#{cmd}`.chomp
205
+ end
206
+
207
+ context "being thumbnailed at 100x100 with cropping" do
208
+ setup do
209
+ @thumb = Paperclip::Thumbnail.new(@file, :geometry => "100x100#", :format => :png)
210
+ end
211
+
212
+ should "report its correct current and target geometries" do
213
+ assert_equal "100x100#", @thumb.target_geometry.to_s
214
+ assert_equal "612x792", @thumb.current_geometry.to_s
215
+ end
216
+
217
+ should "report its correct format" do
218
+ assert_equal :png, @thumb.format
219
+ end
220
+
221
+ should "create the thumbnail when sent #make" do
222
+ dst = @thumb.make
223
+ assert_match /100x100/, `identify "#{dst.path}"`
224
+ end
225
+ end
226
+ end
227
+ end