skylinecms 3.0.8 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (467) hide show
  1. data/CHANGELOG +131 -10
  2. data/README.md +1 -2
  3. data/Rakefile +3 -3
  4. data/app/controllers/skyline/application_controller.rb +40 -4
  5. data/app/controllers/skyline/articles_controller.rb +4 -4
  6. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +1 -1
  7. data/app/controllers/skyline/content_controller.rb +4 -3
  8. data/app/controllers/skyline/{media_files_data_controller.rb → media/data_controller.rb} +61 -59
  9. data/app/controllers/skyline/media/dirs_controller.rb +83 -0
  10. data/app/controllers/skyline/media/files_controller.rb +80 -0
  11. data/app/controllers/skyline/sections_controller.rb +10 -3
  12. data/app/controllers/skyline/settings_controller.rb +4 -2
  13. data/app/controllers/skyline/user_preferences_controller.rb +18 -0
  14. data/app/controllers/skyline/users_controller.rb +1 -1
  15. data/app/controllers/skyline/variant_current_editor_controller.rb +2 -0
  16. data/app/helpers/skyline/application_helper.rb +39 -35
  17. data/app/helpers/skyline/dialog_helper.rb +11 -10
  18. data/app/helpers/skyline/editors/boolean.rb +2 -2
  19. data/app/helpers/skyline/editors/page_browser.rb +2 -0
  20. data/app/helpers/skyline/editors/wysiwyg.rb +1 -1
  21. data/app/helpers/skyline/js_layout_helper.rb +19 -0
  22. data/app/helpers/skyline/media/dirs_helper.rb +2 -0
  23. data/app/helpers/skyline/media/files_helper.rb +6 -0
  24. data/app/helpers/skyline/media_files_helper.rb +2 -2
  25. data/app/helpers/skyline/menu_helper.rb +33 -0
  26. data/app/helpers/skyline/message_generator.rb +5 -1
  27. data/app/helpers/skyline/notification_generator.rb +6 -0
  28. data/app/helpers/skyline/plugin_helper.rb +21 -0
  29. data/app/helpers/skyline/presenters/presenter.rb +4 -13
  30. data/app/helpers/skyline/presenters/table.rb +0 -27
  31. data/app/helpers/skyline/ref_object_helper.rb +2 -2
  32. data/app/helpers/skyline/tree_helper.rb +74 -5
  33. data/app/models/skyline/article.rb +18 -6
  34. data/app/models/skyline/article_version.rb +1 -1
  35. data/app/models/skyline/image_ref.rb +9 -5
  36. data/app/models/skyline/inline_ref.rb +3 -2
  37. data/app/models/skyline/link_section_link.rb +2 -2
  38. data/app/models/skyline/media_file.rb +33 -10
  39. data/app/models/skyline/page.rb +10 -9
  40. data/app/models/skyline/section.rb +1 -1
  41. data/app/models/skyline/sections/content_collection_section.rb +1 -1
  42. data/app/models/skyline/sections/content_item_section.rb +1 -1
  43. data/app/models/skyline/sections/heading_section.rb +1 -1
  44. data/app/models/skyline/sections/iframe_section.rb +2 -2
  45. data/app/models/skyline/sections/link_section.rb +1 -1
  46. data/app/models/skyline/sections/media_section.rb +32 -5
  47. data/app/models/skyline/sections/page_fragment_section.rb +1 -1
  48. data/app/models/skyline/sections/raw_section.rb +1 -1
  49. data/app/models/skyline/sections/redirect_section.rb +4 -4
  50. data/app/models/skyline/sections/rss_section.rb +7 -2
  51. data/app/models/skyline/sections/splitter_section.rb +1 -1
  52. data/app/models/skyline/sections/wysiwyg_section.rb +3 -3
  53. data/app/models/skyline/site.rb +1 -1
  54. data/app/models/skyline/user.rb +1 -1
  55. data/app/models/skyline/user_preference.rb +69 -0
  56. data/app/models/skyline/variant.rb +1 -1
  57. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +1 -1
  58. data/app/templates/skyline/sections/media_section/default/index.html.erb +9 -9
  59. data/app/views/skyline/articles/_list.html.erb +34 -0
  60. data/app/views/skyline/articles/edit.html.erb +13 -6
  61. data/app/views/skyline/articles/index.html.erb +12 -43
  62. data/app/views/skyline/articles/page/_index.html.erb +13 -11
  63. data/app/views/skyline/authentications/new.html.erb +2 -2
  64. data/app/views/skyline/browser/links/_index.html.erb +4 -2
  65. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +12 -13
  66. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +122 -51
  67. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +7 -7
  68. data/app/views/skyline/content/list.rhtml +1 -3
  69. data/app/views/skyline/content/presenters/_table.html.erb +45 -0
  70. data/app/views/skyline/layouts/content.html.erb +1 -1
  71. data/app/views/skyline/layouts/media.html.erb +2 -1
  72. data/app/views/skyline/layouts/pages.html.erb +10 -0
  73. data/app/views/skyline/link_section_links/_form.html.erb +0 -1
  74. data/app/views/skyline/locales/show.js.erb +2 -2
  75. data/app/views/skyline/media/dirs/_edit.html.erb +42 -0
  76. data/app/views/skyline/media/dirs/_index.html.erb +14 -0
  77. data/app/views/skyline/media/dirs/_show.html.erb +34 -0
  78. data/app/views/skyline/media/dirs/index.html.erb +36 -0
  79. data/app/views/skyline/media/files/_edit.html.erb +101 -0
  80. data/app/views/skyline/media/files/_index.html.erb +68 -0
  81. data/app/views/skyline/media/files/_new.html.erb +45 -0
  82. data/app/views/skyline/publications/_index.html.erb +2 -2
  83. data/app/views/skyline/sections/_media_section.html.erb +12 -2
  84. data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -3
  85. data/app/views/skyline/settings/index.html +14 -0
  86. data/app/views/skyline/shared/_head.html.erb +2 -0
  87. data/app/views/skyline/shared/_header_area.html.erb +7 -5
  88. data/app/views/skyline/users/index.html.erb +31 -16
  89. data/config/initializers/dependencies.rb +6 -1
  90. data/config/initializers/observers.rb +1 -2
  91. data/config/initializers/rails_defaults.rb +1 -1
  92. data/config/locales/en-US.yml +110 -68
  93. data/config/locales/nl-NL.yml +117 -77
  94. data/config/routes.rb +36 -32
  95. data/db/fixtures/roles_and_rights.rb +65 -40
  96. data/db/migrate/20090302102548_add_media_nodes.rb +2 -2
  97. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +2 -2
  98. data/db/migrate/20090309134731_add_tags.rb +2 -2
  99. data/db/migrate/20090309135746_create_media_files_tags.rb +2 -2
  100. data/db/migrate/20090319091342_create_media_caches.rb +2 -2
  101. data/db/migrate/20090327083240_create_users.rb +2 -2
  102. data/db/migrate/20090327084656_create_roles.rb +2 -2
  103. data/db/migrate/20090327084719_create_rights.rb +2 -2
  104. data/db/migrate/20090327084739_create_grants.rb +2 -2
  105. data/db/migrate/20090327090918_create_rights_roles.rb +2 -2
  106. data/db/migrate/20090408115155_create_ref_objects.rb +2 -2
  107. data/db/migrate/20090504140044_create_test_sections.rb +2 -2
  108. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +2 -2
  109. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +1 -1
  110. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +6 -6
  111. data/db/migrate/20091221145204_add_skyline_media_section_link.rb +11 -0
  112. data/db/migrate/20100109145958_add_associated_tags_index.rb +9 -0
  113. data/db/migrate/20100115111440_create_skyline_user_preferences.rb +14 -0
  114. data/db/migrate/20100120113953_remove_unused_articles_index.rb +9 -0
  115. data/db/migrate/20100409073447_change_referable_uri_to_text.rb +9 -0
  116. data/doc/Bundler.md +33 -28
  117. data/doc/MIGRATION.md +48 -0
  118. data/lib/skyline/{content_item.rb → belongs_to_referable.rb} +57 -88
  119. data/lib/skyline/configuration.rb +14 -15
  120. data/lib/skyline/content/content.rb +14 -2
  121. data/lib/skyline/deprecated/version3_0_8.rb +106 -0
  122. data/lib/skyline/{form_builder_with_errors.rb → form_builder.rb} +5 -5
  123. data/lib/skyline/{referable.rb → has_many_referables_in.rb} +22 -12
  124. data/lib/skyline/javascript_generator_methods.rb +1 -1
  125. data/lib/skyline/plugins_manager.rb +135 -14
  126. data/lib/skyline/rendering/helpers/renderer_helper.rb +14 -9
  127. data/lib/skyline/{renderer.rb → rendering/renderer.rb} +3 -4
  128. data/lib/skyline/{renderable_scope_interface.rb → rendering/scopes/interface.rb} +1 -1
  129. data/lib/skyline/{wildcard_renderable_scope.rb → rendering/scopes/wildcard.rb} +3 -3
  130. data/lib/skyline/{section_item.rb → sections/interface.rb} +17 -10
  131. data/lib/skyline/settings.rb +29 -19
  132. data/lib/skyline/taggable.rb +3 -3
  133. data/lib/skyline/version.rb +2 -2
  134. data/{tasks → lib/tasks}/database.rake +14 -2
  135. data/{tasks → lib/tasks}/implementation.rake +0 -0
  136. data/lib/tasks/testing.rake +41 -0
  137. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  138. data/public/skyline/javascripts/src/application.js +114 -120
  139. data/public/skyline/javascripts/src/browser.js +22 -4
  140. data/public/skyline/javascripts/src/library_uploader.js +13 -3
  141. data/public/skyline/javascripts/src/sections.js +57 -6
  142. data/public/skyline/javascripts/src/skyline/src/dialog.js +6 -0
  143. data/public/skyline/javascripts/src/skyline/src/drag.js +6 -0
  144. data/public/skyline/javascripts/src/skyline/src/events.js +50 -0
  145. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +12 -11
  146. data/public/skyline/javascripts/src/skyline/src/layout.js +172 -30
  147. data/public/skyline/javascripts/src/skyline/src/menu.js +3 -0
  148. data/public/skyline/javascripts/src/skyline/src/menubutton.js +3 -0
  149. data/public/skyline/javascripts/src/skyline/src/skyline.js +3 -0
  150. data/public/skyline/javascripts/src/skyline/src/table.js +398 -0
  151. data/public/skyline/javascripts/src/skyline/src/tabs.js +2 -2
  152. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +34 -26
  153. data/public/skyline/javascripts/src/skyline/src/tree.js +3 -0
  154. data/public/skyline/javascripts/src/skyline/src/uploader.js +2 -2
  155. data/public/skyline/javascripts/src/skyline/src/utils.js +3 -0
  156. data/public/skyline/javascripts/src/skyline/test/_dynamic_right.html +24 -0
  157. data/public/skyline/javascripts/src/skyline/test/_right_content.html +1 -0
  158. data/public/skyline/javascripts/src/skyline/test/basic_layout.html +190 -0
  159. data/public/skyline/javascripts/src/skyline/test/dialog.html +101 -0
  160. data/public/skyline/javascripts/src/skyline/test/draggablefiles.html +196 -0
  161. data/public/skyline/javascripts/src/skyline/test/dynamic_layout.html +89 -0
  162. data/public/skyline/javascripts/src/skyline/test/field_replicator.html +60 -0
  163. data/public/skyline/javascripts/src/skyline/test/last-closed.gif +0 -0
  164. data/public/skyline/javascripts/src/skyline/test/last-open.gif +0 -0
  165. data/public/skyline/javascripts/src/skyline/test/menubutton.html +81 -0
  166. data/public/skyline/javascripts/src/skyline/test/middle.gif +0 -0
  167. data/public/skyline/javascripts/src/skyline/test/sortable.html +121 -0
  168. data/public/skyline/javascripts/src/skyline/test/table.html +521 -0
  169. data/public/skyline/javascripts/src/skyline/test/tagselector.html +72 -0
  170. data/public/skyline/javascripts/src/skyline/test/toggle.html +95 -0
  171. data/public/skyline/javascripts/src/skyline/test/tree.html +310 -0
  172. data/public/skyline/javascripts/src/skyline/test/tree.png +0 -0
  173. data/public/skyline/javascripts/src/skyline/test/undohtml.css +27 -0
  174. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +2 -2
  175. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +1 -354
  176. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +64 -52
  177. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +1 -1
  178. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +156 -75
  179. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +14 -4
  180. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +8 -0
  181. data/public/skyline/javascripts/src/skyline.editor/test/dialog.html +28 -0
  182. data/public/skyline/javascripts/src/skyline.editor/test/lorem.html +7 -0
  183. data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +87 -0
  184. data/public/skyline/javascripts/src/skyline.editor/test/undohtml.css +27 -0
  185. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +205 -0
  186. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +54 -0
  187. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +111 -0
  188. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +19 -3
  189. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +1 -0
  190. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +6 -2
  191. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +14 -10
  192. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +7 -3
  193. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +8 -4
  194. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +18 -2
  195. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +6 -3
  196. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +2 -7
  197. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +6 -3
  198. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +2 -7
  199. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +1 -1
  200. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +6 -3
  201. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +1 -1
  202. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +2 -7
  203. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  204. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  205. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
  206. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +52 -44
  207. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  208. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +388 -17
  209. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  210. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +6 -3
  211. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
  212. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +58 -6
  213. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +6 -3
  214. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -1
  215. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +8 -5
  216. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +2 -7
  217. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +6 -3
  218. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
  219. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +10 -3
  220. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +2 -7
  221. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +18 -8
  222. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
  223. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -6
  224. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -1
  225. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +6 -3
  226. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +6 -3
  227. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +6 -3
  228. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +6 -3
  229. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  230. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  231. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
  232. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +18 -9
  233. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +2 -7
  234. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
  235. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +7 -4
  236. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +6 -3
  237. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +6 -3
  238. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  239. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +564 -124
  240. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +2 -8
  241. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +2 -8
  242. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +6 -3
  243. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +6 -3
  244. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +6 -3
  245. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  246. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +7 -4
  247. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +4 -0
  248. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +4 -9
  249. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
  250. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +106 -27
  251. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +6 -3
  252. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +4 -11
  253. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  254. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +7 -4
  255. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +2 -7
  256. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
  257. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +921 -918
  258. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +41 -24
  259. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +18 -20
  260. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +48 -23
  261. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +24 -15
  262. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +3 -8
  263. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +2 -7
  264. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +2 -7
  265. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -1
  266. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +10 -7
  267. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +2 -9
  268. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
  269. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +26 -16
  270. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  271. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  272. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +3 -10
  273. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +3 -10
  274. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +2 -7
  275. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +3 -10
  276. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +3 -11
  277. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  278. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +11 -15
  279. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +3 -11
  280. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +8 -5
  281. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +7 -4
  282. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +7 -4
  283. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +7 -4
  284. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +7 -4
  285. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +8 -8
  286. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +7 -4
  287. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +1 -3
  288. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +2 -7
  289. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +0 -1
  290. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +2 -4
  291. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  292. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +252 -188
  293. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +2 -7
  294. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  295. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +7 -7
  296. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +10 -0
  297. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +2 -2
  298. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -4
  299. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +2 -7
  300. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +7 -3
  301. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +4 -3
  302. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -6
  303. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +7 -3
  304. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +3 -2
  305. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +4 -4
  306. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +2 -8
  307. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +5 -5
  308. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
  309. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
  310. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +5492 -4341
  311. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +5 -4
  312. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +6 -5
  313. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +5 -4
  314. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +5 -4
  315. data/public/skyline/javascripts/src/skyline.js +3 -1
  316. data/public/skyline/javascripts/src/user_preferences.js +49 -0
  317. data/public/skyline/stylesheets/general.css +149 -47
  318. data/rails/init.rb +3 -3
  319. data/test/factories.rb +28 -0
  320. data/test/integration/media_browser_super_access_test.rb +52 -0
  321. data/test/integration/media_browser_user_access_test.rb +50 -0
  322. data/test/integration/user_preferences_test.rb +73 -0
  323. data/test/mocks/test_content_object.rb +32 -0
  324. data/test/mocks/test_section.rb +22 -0
  325. data/test/test_helper.rb +60 -0
  326. data/test/unit/inline_ref_test.rb +195 -0
  327. data/test/unit/locales_test.rb +82 -0
  328. data/test/unit/page_test.rb +204 -0
  329. data/test/unit/test_content_object_test.rb +69 -0
  330. data/test/unit/test_section_test.rb +247 -0
  331. data/test/unit/user_preference_test.rb +123 -0
  332. data/test/unit/user_test.rb +74 -0
  333. data/test/user_access_helper.rb +36 -0
  334. data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +8 -0
  335. data/vendor/digitpaint/personify/test/parse_runner.rb +25 -0
  336. data/vendor/digitpaint/personify/test/parser_test.rb +109 -0
  337. data/vendor/digitpaint/personify/test/test_helper.rb +16 -0
  338. data/vendor/digitpaint/personify/vendor/treetop/.gitignore +5 -0
  339. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +13 -4
  340. data/vendor/mootools-on-rails/test/mootools_helper_test.rb +138 -0
  341. data/vendor/mootools-on-rails/test/test_helper.rb +5 -0
  342. data/vendor/weppos/url_validation.rb +76 -0
  343. metadata +384 -189
  344. data/app/controllers/skyline/media_dirs_controller.rb +0 -56
  345. data/app/controllers/skyline/media_files_controller.rb +0 -87
  346. data/app/helpers/skyline/presenters/article_list.rb +0 -139
  347. data/app/observers/skyline/media_file_observer.rb +0 -32
  348. data/app/views/skyline/media_dirs/_edit.html.erb +0 -25
  349. data/app/views/skyline/media_dirs/_index.html.erb +0 -14
  350. data/app/views/skyline/media_dirs/index.html.erb +0 -42
  351. data/app/views/skyline/media_files/_edit.html.erb +0 -75
  352. data/app/views/skyline/media_files/_header.html.erb +0 -3
  353. data/app/views/skyline/media_files/_index.html.erb +0 -51
  354. data/app/views/skyline/media_files/_new.html.erb +0 -50
  355. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +0 -30
  356. data/lib/skyline/indexer.rb +0 -36
  357. data/lib/skyline/renderable_scope.rb +0 -27
  358. data/lib/skyline/rendering/helpers/settings_helper.rb +0 -26
  359. data/lib/skyline/searchable_item.rb +0 -132
  360. data/lib/skyline/url_validation.rb +0 -66
  361. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  362. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +0 -2
  363. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +0 -364
  364. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +0 -94
  365. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +0 -95
  366. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +0 -54
  367. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +0 -489
  368. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +0 -91
  369. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +0 -2295
  370. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +0 -934
  371. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +0 -453
  372. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +0 -644
  373. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +0 -412
  374. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +0 -183
  375. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +0 -169
  376. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +0 -240
  377. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +0 -179
  378. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +0 -38
  379. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +0 -135
  380. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +0 -24
  381. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +0 -15
  382. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +0 -173
  383. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +0 -38
  384. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +0 -1823
  385. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +0 -199
  386. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +0 -349
  387. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +0 -721
  388. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +0 -351
  389. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +0 -747
  390. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +0 -979
  391. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +0 -975
  392. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +0 -200
  393. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +0 -273
  394. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +0 -155
  395. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +0 -2518
  396. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +0 -549
  397. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +0 -68
  398. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +0 -212
  399. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +0 -56
  400. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +0 -182
  401. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +0 -397
  402. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +0 -320
  403. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +0 -175
  404. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +0 -128
  405. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +0 -69
  406. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +0 -198
  407. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +0 -34
  408. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +0 -99
  409. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +0 -86
  410. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +0 -126
  411. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +0 -101
  412. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +0 -81
  413. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +0 -25
  414. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +0 -87
  415. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +0 -289
  416. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +0 -80
  417. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +0 -126
  418. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +0 -1
  419. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +0 -1
  420. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +0 -616
  421. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +0 -1
  422. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +0 -1
  423. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +0 -438
  424. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +0 -128
  425. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +0 -1
  426. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +0 -12198
  427. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +0 -1
  428. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +0 -13057
  429. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +0 -18
  430. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +0 -18
  431. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +0 -19
  432. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +0 -548
  433. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +0 -87
  434. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +0 -120
  435. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +0 -10
  436. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +0 -112
  437. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +0 -1438
  438. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +0 -791
  439. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +0 -8
  440. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +0 -221
  441. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +0 -22
  442. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +0 -90
  443. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +0 -132
  444. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +0 -152
  445. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +0 -522
  446. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +0 -88
  447. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +0 -235
  448. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +0 -27
  449. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +0 -3
  450. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +0 -6
  451. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +0 -1
  452. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +0 -4
  453. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  454. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +0 -40
  455. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +0 -181
  456. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +0 -112
  457. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +0 -147
  458. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +0 -47
  459. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +0 -2865
  460. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +0 -6
  461. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  462. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  463. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  464. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  465. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  466. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  467. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
@@ -1,1438 +0,0 @@
1
- $(window).load(function() {
2
- /**
3
- * Fakes a mouse event.
4
- *
5
- * @param {Element/String} e DOM element object or element id to send fake event to.
6
- * @param {String} na Event name to fake like "click".
7
- * @param {Object} o Optional object with data to send with the event like cordinates.
8
- */
9
- function fakeMouseEvent(e, na, o) {
10
- var ev;
11
-
12
- o = tinymce.extend({
13
- screenX : 0,
14
- screenY : 0,
15
- clientX : 0,
16
- clientY : 0
17
- }, o);
18
-
19
- e = tinymce.DOM.get(e);
20
-
21
- if (e.fireEvent) {
22
- ev = document.createEventObject();
23
- tinymce.extend(ev, o);
24
- e.fireEvent('on' + na, ev);
25
- return;
26
- }
27
-
28
- ev = document.createEvent('MouseEvents');
29
-
30
- if (ev.initMouseEvent)
31
- ev.initMouseEvent(na, true, true, window, 1, o.screenX, o.screenY, o.clientX, o.clientY, false, false, true, false, 0, null);
32
-
33
- e.dispatchEvent(ev);
34
- };
35
-
36
- /**
37
- * Fakes a key event.
38
- *
39
- * @param {Element/String} e DOM element object or element id to send fake event to.
40
- * @param {String} na Event name to fake like "keydown".
41
- * @param {Object} o Optional object with data to send with the event like keyCode and charCode.
42
- */
43
- function fakeKeyEvent(e, na, o) {
44
- var ev;
45
-
46
- o = tinymce.extend({
47
- keyCode : 13,
48
- charCode : 0
49
- }, o);
50
-
51
- e = tinymce.DOM.get(e);
52
-
53
- if (e.fireEvent) {
54
- ev = document.createEventObject();
55
- tinymce.extend(ev, o);
56
- e.fireEvent('on' + na, ev);
57
- return;
58
- }
59
-
60
- if (document.createEvent) {
61
- try {
62
- // Fails in Safari
63
- ev = document.createEvent('KeyEvents');
64
- ev.initKeyEvent(na, true, true, window, false, false, false, false, o.keyCode, o.charCode);
65
- } catch (ex) {
66
- ev = document.createEvent('Events');
67
- ev.initEvent(na, true, true);
68
-
69
- ev.keyCode = o.keyCode;
70
- ev.charCode = o.charCode;
71
- }
72
- } else {
73
- ev = document.createEvent('UIEvents');
74
-
75
- if (ev.initUIEvent)
76
- ev.initUIEvent(na, true, true, window, 1);
77
-
78
- ev.keyCode = o.keyCode;
79
- ev.charCode = o.charCode;
80
- }
81
-
82
- e.dispatchEvent(ev);
83
- };
84
-
85
- (function() {
86
- test('tinymce - is', function() {
87
- expect(9);
88
-
89
- ok(!tinymce.is(null, 'test'));
90
- ok(!tinymce.is('', 'test'));
91
- ok(tinymce.is('', 'string'));
92
- ok(tinymce.is(3, 'number'));
93
- ok(tinymce.is(3.1, 'number'));
94
- ok(tinymce.is([], 'array'));
95
- ok(tinymce.is({}, 'object'));
96
- ok(tinymce.is(window.abc, 'undefined'));
97
- ok(!tinymce.is(window.abc));
98
- });
99
-
100
- test('tinymce - each', function() {
101
- var c;
102
-
103
- expect(6);
104
-
105
- c = 0;
106
- tinymce.each([1, 2, 3], function(v) {
107
- c += v;
108
- });
109
- equals(c, 6);
110
-
111
- c = 0;
112
- tinymce.each([1, 2, 3], function(v, i) {
113
- c += i;
114
- });
115
- equals(c, 3);
116
-
117
- c = 0;
118
- tinymce.each({a : 1, b : 2, c : 3}, function(v, i) {
119
- c += v;
120
- });
121
- equals(c, 6);
122
-
123
- c = '';
124
- tinymce.each({a : 1, b : 2, c : 3}, function(v, k) {
125
- c += k;
126
- });
127
- equals(c, 'abc');
128
-
129
- c = 0;
130
- tinymce.each(null, function(v) {
131
- c += v;
132
- });
133
- equals(c, 0);
134
-
135
- c = 0;
136
- tinymce.each(1, function(v) {
137
- c += v;
138
- });
139
- equals(c, 0);
140
- });
141
-
142
- test('tinymce - map', function() {
143
- var c;
144
-
145
- expect(1);
146
-
147
- c = tinymce.map([1,2,3], function(v) {
148
- return v + 1;
149
- });
150
- equals(c.join(','), '2,3,4');
151
- });
152
-
153
- test('tinymce - grep', function() {
154
- var c;
155
-
156
- expect(3);
157
-
158
- c = tinymce.grep([1,2,3,4], function(v) {
159
- return v > 2;
160
- });
161
- equals(c.join(','), '3,4');
162
-
163
- c = [1,2,3,4];
164
- c.test = 1
165
- c = tinymce.grep(c);
166
- ok(!c.test);
167
- equals(c.join(','), '1,2,3,4');
168
- });
169
-
170
- test('tinymce - explode', function() {
171
- expect(2);
172
-
173
- equals(tinymce.explode(' a, b, c ').join(','), 'a,b,c');
174
- equals(tinymce.explode(' a; b; c ', ';').join(','), 'a,b,c');
175
- });
176
-
177
- test('tinymce - inArray', function() {
178
- expect(4);
179
-
180
- equals(tinymce.inArray([1,2,3], 2), 1);
181
- equals(tinymce.inArray([1,2,3], 7), -1);
182
- equals(tinymce.inArray({a : 1, b : 2, c : 3}, 2), -1);
183
- equals(tinymce.inArray(null, 7), -1);
184
- });
185
-
186
- test('tinymce - extend', function() {
187
- var o;
188
-
189
- expect(5);
190
-
191
- o = tinymce.extend({
192
- a : 1,
193
- b : 2,
194
- c : 3
195
- }, {
196
- a : 2,
197
- d : 4
198
- });
199
-
200
- equals(o.a, 2);
201
- equals(o.b, 2);
202
- equals(o.d, 4);
203
-
204
- o = tinymce.extend({
205
- a : 1,
206
- b : 2,
207
- c : 3
208
- }, {
209
- a : 2,
210
- d : 4
211
- }, {
212
- e : 5
213
- });
214
-
215
- equals(o.d, 4);
216
- equals(o.e, 5);
217
- });
218
-
219
- test('tinymce - trim', function() {
220
- expect(5);
221
-
222
- equals(tinymce.trim('a'), 'a');
223
- equals(tinymce.trim(' \r a'), 'a');
224
- equals(tinymce.trim('a \n '), 'a');
225
- equals(tinymce.trim(' a \t '), 'a');
226
- equals(tinymce.trim(null), '');
227
- });
228
-
229
- test('tinymce - create', function() {
230
- var o;
231
-
232
- expect(13);
233
-
234
- tinymce.create('tinymce.Test1', {
235
- Test1 : function(c) {
236
- this.c = c;
237
- this.c++;
238
- },
239
-
240
- method1 : function() {
241
- this.c++;
242
- },
243
-
244
- method2 : function() {
245
- this.c++;
246
- }
247
- });
248
-
249
- tinymce.create('tinymce.Test2:tinymce.Test1', {
250
- Test2 : function(c) {
251
- this.parent(c);
252
- this.c += 2;
253
- },
254
-
255
- method1 : function() {
256
- this.c+=2;
257
- },
258
-
259
- method2 : function() {
260
- this.parent();
261
- this.c+=2;
262
- }
263
- });
264
-
265
- tinymce.create('tinymce.Test3:tinymce.Test2', {
266
- Test3 : function(c) {
267
- this.parent(c);
268
- this.c += 4;
269
- },
270
-
271
- method1 : function() {
272
- this.c+=2;
273
- },
274
-
275
- method2 : function() {
276
- this.parent();
277
- this.c+=3;
278
- }
279
- });
280
-
281
- tinymce.create('tinymce.Test4:tinymce.Test3', {
282
- method2 : function() {
283
- this.parent();
284
- this.c+=3;
285
- },
286
-
287
- 'static' : {
288
- method3 : function() {
289
- return 3;
290
- }
291
- }
292
- });
293
-
294
- tinymce.create('static tinymce.Test5', {
295
- method1 : function() {
296
- return 3;
297
- }
298
- });
299
-
300
- o = new tinymce.Test1(3);
301
- equals(o.c, 4);
302
- o.method1();
303
- equals(o.c, 5);
304
-
305
- o = new tinymce.Test2(3);
306
- equals(o.c, 6);
307
- o.method1();
308
- equals(o.c, 8);
309
- o.method2();
310
- equals(o.c, 11);
311
-
312
- o = new tinymce.Test3(3);
313
- equals(o.c, 10);
314
- o.method1();
315
- equals(o.c, 12);
316
- o.method2();
317
- equals(o.c, 18);
318
-
319
- o = new tinymce.Test4(3);
320
- equals(o.c, 10);
321
- o.method1();
322
- equals(o.c, 12);
323
- o.method2();
324
- equals(o.c, 21);
325
- equals(tinymce.Test4.method3(), 3);
326
-
327
- equals(tinymce.Test5.method1(), 3);
328
- });
329
-
330
- test('tinymce - walk', function() {
331
- var c;
332
-
333
- expect(3);
334
-
335
- c = 0;
336
- tinymce.walk({
337
- a : {
338
- a1 : 1,
339
- a2 : 2,
340
- a3 : 3
341
- },
342
-
343
- b : {
344
- b1 : 4,
345
- b2 : {
346
- b21 : 5,
347
- b22 : 6,
348
- b23 : 7
349
- },
350
- b3 : 8
351
- }
352
- }, function(v) {
353
- if (tinymce.is(v, 'number'))
354
- c += v;
355
- });
356
- equals(c, 36);
357
-
358
- c = 0;
359
- tinymce.walk({
360
- items : [
361
- 1,
362
- {items : [2, {a1 : 3, items : [4, 5], b1 : 6}, 7]},
363
- 8
364
- ]
365
- }, function(v) {
366
- if (tinymce.is(v, 'number'))
367
- c += v;
368
- }, 'items');
369
- equals(c, 27);
370
-
371
- c = 0;
372
- tinymce.walk(null);
373
- equals(c, 0);
374
- });
375
-
376
- test('tinymce - createNS', function() {
377
- expect(2);
378
-
379
- tinymce.createNS('a.b.c.d.e');
380
- a.b.c.d.e.x = 1;
381
- tinymce.createNS('a.b.c.d.e.f');
382
- a.b.c.d.e.f = 2;
383
- equals(a.b.c.d.e.x, 1);
384
- equals(a.b.c.d.e.f, 2);
385
- });
386
-
387
- test('tinymce - get', function() {
388
- expect(2);
389
-
390
- tinymce.createNS('a.b.c.d.e');
391
- a.b.c.d.e.x = 1;
392
- equals(tinymce.resolve('a.b.c.d.e.x'), 1);
393
- ok(!tinymce.resolve('a.b.c.d.e.y'));
394
- });
395
- })();
396
-
397
- (function() {
398
- var DOM = new tinymce.dom.DOMUtils(document, {keep_values : true});
399
-
400
- test('tinymce.dom.DOMUtils - parseStyle', function() {
401
- var dom;
402
-
403
- expect(9);
404
-
405
- DOM.add(document.body, 'div', {id : 'test'});
406
-
407
- dom = new tinymce.dom.DOMUtils(document, {hex_colors : true, keep_values : true, url_converter : function(u, n, e) {
408
- return 'X' + u + 'Y';
409
- }});
410
-
411
- equals(
412
- dom.serializeStyle(dom.parseStyle('border: 1px solid red; color: green')),
413
- 'border: 1px solid red; color: green;'
414
- );
415
-
416
- equals(
417
- dom.serializeStyle(dom.parseStyle('border: 1px solid rgb(0, 255, 255); color: green')),
418
- 'border: 1px solid #00ffff; color: green;'
419
- );
420
-
421
- equals(
422
- dom.serializeStyle(dom.parseStyle('border-top: 1px solid red; border-left: 1px solid red; border-bottom: 1px solid red; border-right: 1px solid red;')),
423
- 'border: 1px solid red;'
424
- );
425
-
426
- equals(
427
- dom.serializeStyle(dom.parseStyle('background: transparent url(test.gif);')),
428
- 'background: transparent url(Xtest.gifY);'
429
- );
430
-
431
- equals(
432
- dom.serializeStyle(dom.parseStyle('background: transparent url(http://www.site.com/test.gif?a=1&b=2);')),
433
- 'background: transparent url(Xhttp://www.site.com/test.gif?a=1&b=2Y);'
434
- );
435
-
436
- dom.setHTML('test', '<span id="test2" style="border: 1px solid #00ff00;"></span>');
437
- equals(dom.getAttrib('test2', 'style'), 'border: 1px solid #00ff00;');
438
-
439
- dom.setHTML('test', '<span id="test2" style="background-image: url(test.gif);"></span>');
440
- equals(dom.getAttrib('test2', 'style'), 'background-image: url(Xtest.gifY);');
441
-
442
- dom.get('test').innerHTML = '<span id="test2" style="border: 1px solid #00ff00"></span>';
443
- equals(dom.getAttrib('test2', 'style'), tinymce.isIE ? 'border: #00ff00 1px solid;' : 'border: 1px solid #00ff00;'); // IE has a separate output
444
-
445
- dom.get('test').innerHTML = '<span id="test2" style="background-image: url(http://www.site.com/test.gif);"></span>';
446
- equals(dom.getAttrib('test2', 'style'), 'background-image: url(Xhttp://www.site.com/test.gifY);');
447
-
448
- DOM.remove('test');
449
- });
450
-
451
- test('tinymce.dom.DOMUtils - addClass', function() {
452
- expect(10);
453
-
454
- DOM.add(document.body, 'div', {id : 'test'});
455
-
456
- DOM.get('test').className = '';
457
- DOM.addClass('test', 'abc');
458
- equals(DOM.get('test').className, 'abc');
459
-
460
- DOM.get('test').className = '';
461
- equals(DOM.addClass('test', 'abc'), 'abc');
462
- equals(DOM.addClass(null, 'abc'), false);
463
-
464
- DOM.addClass('test', '123');
465
- equals(DOM.get('test').className, 'abc 123');
466
-
467
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
468
- DOM.addClass(DOM.select('span', 'test'), 'abc');
469
- equals(DOM.get('test2').className, 'abc');
470
- equals(DOM.get('test3').className, 'abc');
471
- equals(DOM.get('test4').className, 'abc');
472
- DOM.get('test').innerHTML = '';
473
-
474
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
475
- DOM.addClass(['test2', 'test3', 'test4'], 'abc');
476
- equals(DOM.get('test2').className, 'abc');
477
- equals(DOM.get('test3').className, 'abc');
478
- equals(DOM.get('test4').className, 'abc');
479
- DOM.get('test').innerHTML = '';
480
-
481
- DOM.remove('test');
482
- });
483
-
484
- test('tinymce.dom.DOMUtils - removeClass', function() {
485
- expect(4);
486
-
487
- DOM.add(document.body, 'div', {id : 'test'});
488
-
489
- DOM.get('test').className = 'abc 123 xyz';
490
- DOM.removeClass('test', '123');
491
- equals(DOM.get('test').className, 'abc xyz');
492
-
493
- DOM.get('test').innerHTML = '<span id="test2" class="test1"></span><span id="test3" class="test test1 test"></span><span id="test4" class="test1 test"></span>';
494
- DOM.removeClass(DOM.select('span', 'test'), 'test1');
495
- equals(DOM.get('test2').className, '');
496
- equals(DOM.get('test3').className, 'test test');
497
- equals(DOM.get('test4').className, 'test');
498
- DOM.get('test').innerHTML = '';
499
-
500
- DOM.remove('test');
501
- });
502
-
503
- test('tinymce.dom.DOMUtils - hasClass', function() {
504
- expect(7);
505
-
506
- DOM.add(document.body, 'div', {id : 'test'});
507
-
508
- DOM.get('test').className = 'abc 123 xyz';
509
- ok(DOM.hasClass('test', 'abc'));
510
- ok(DOM.hasClass('test', '123'));
511
- ok(DOM.hasClass('test', 'xyz'));
512
- ok(!DOM.hasClass('test', 'aaa'));
513
-
514
- DOM.get('test').className = 'abc';
515
- ok(DOM.hasClass('test', 'abc'));
516
-
517
- DOM.get('test').className = 'aaa abc';
518
- ok(DOM.hasClass('test', 'abc'));
519
-
520
- DOM.get('test').className = 'abc aaa';
521
- ok(DOM.hasClass('test', 'abc'));
522
-
523
- DOM.remove('test');
524
- });
525
-
526
- test('tinymce.dom.DOMUtils - add', function() {
527
- var e;
528
-
529
- expect(5);
530
-
531
- DOM.add(document.body, 'div', {id : 'test'});
532
-
533
- DOM.add('test', 'span', {'class' : 'abc 123'}, 'content <b>abc</b>');
534
- e = DOM.get('test').getElementsByTagName('span')[0];
535
- equals(e.className, 'abc 123');
536
- equals(e.innerHTML.toLowerCase(), 'content <b>abc</b>');
537
- DOM.remove(e);
538
-
539
- DOM.add('test', 'span', {'class' : 'abc 123'});
540
- e = DOM.get('test').getElementsByTagName('span')[0];
541
- equals(e.className, 'abc 123');
542
- DOM.remove(e);
543
-
544
- DOM.add('test', 'span');
545
- e = DOM.get('test').getElementsByTagName('span')[0];
546
- equals(e.nodeName, 'SPAN');
547
- DOM.remove(e);
548
-
549
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
550
- DOM.add(['test2', 'test3', 'test4'], 'span', {'class' : 'abc 123'});
551
- equals(DOM.select('span', 'test').length, 6);
552
-
553
- DOM.remove('test');
554
- });
555
-
556
- test('tinymce.dom.DOMUtils - create', function() {
557
- var e;
558
-
559
- expect(3);
560
-
561
- e = DOM.create('span', {'class' : 'abc 123'}, 'content <b>abc</b>');
562
-
563
- equals(e.nodeName, 'SPAN');
564
- equals(e.className, 'abc 123');
565
- equals(e.innerHTML.toLowerCase(), 'content <b>abc</b>');
566
- });
567
-
568
- test('tinymce.dom.DOMUtils - createHTML', function() {
569
- expect(4);
570
-
571
- equals(DOM.createHTML('span', {'id' : 'id1', 'class' : 'abc 123'}, 'content <b>abc</b>'), '<span id="id1" class="abc 123">content <b>abc</b></span>');
572
- equals(DOM.createHTML('span', {'id' : 'id1', 'class' : 'abc 123'}), '<span id="id1" class="abc 123" />');
573
- equals(DOM.createHTML('span'), '<span />');
574
- equals(DOM.createHTML('span', null, 'content <b>abc</b>'), '<span>content <b>abc</b></span>');
575
- });
576
-
577
- test('tinymce.dom.DOMUtils - uniqueId', function() {
578
- DOM.counter = 0;
579
-
580
- expect(3);
581
-
582
- equals(DOM.uniqueId(), 'mce_0');
583
- equals(DOM.uniqueId(), 'mce_1');
584
- equals(DOM.uniqueId(), 'mce_2');
585
- });
586
-
587
- test('tinymce.dom.DOMUtils - showHide', function() {
588
- expect(10);
589
-
590
- DOM.add(document.body, 'div', {id : 'test'});
591
-
592
- DOM.show('test');
593
- equals(DOM.get('test').style.display, 'block');
594
- ok(!DOM.isHidden('test'));
595
-
596
- DOM.hide('test');
597
- equals(DOM.get('test').style.display, 'none');
598
- ok(DOM.isHidden('test'));
599
-
600
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
601
- DOM.hide(['test2', 'test3', 'test4'], 'test');
602
- equals(DOM.get('test2').style.display, 'none');
603
- equals(DOM.get('test3').style.display, 'none');
604
- equals(DOM.get('test4').style.display, 'none');
605
-
606
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
607
- DOM.show(['test2', 'test3', 'test4'], 'test');
608
- equals(DOM.get('test2').style.display, 'block');
609
- equals(DOM.get('test3').style.display, 'block');
610
- equals(DOM.get('test4').style.display, 'block');
611
-
612
- // Cleanup
613
- DOM.setAttrib('test', 'style', '');
614
-
615
- DOM.remove('test');
616
- });
617
-
618
- test('tinymce.dom.DOMUtils - select', function() {
619
- expect(4);
620
-
621
- DOM.add(document.body, 'div', {id : 'test'});
622
-
623
- DOM.setHTML('test', '<div>test 1</div><div>test 2 <div>test 3</div></div><div>test 4</div>');
624
- equals(DOM.select('div', 'test').length, 4);
625
- ok(DOM.select('div', 'test').reverse);
626
-
627
- DOM.setHTML('test', '<div class="test1 test2 test3">test 1</div><div class="test2">test 2 <div>test 3</div></div><div>test 4</div>')
628
- equals(DOM.select('div.test2', 'test').length, 2);
629
-
630
- DOM.setHTML('test', '<div class="test1 test2 test3">test 1</div><div class="test2">test 2 <div>test 3</div></div><div>test 4</div>')
631
- equals(DOM.select('div div', 'test').length, 1, null, tinymce.isWebKit); // Issue: http://bugs.webkit.org/show_bug.cgi?id=17461
632
- //alert(DOM.select('div div', 'test').length +","+DOM.get('test').querySelectorAll('div div').length);
633
-
634
- DOM.remove('test');
635
- });
636
-
637
- test('tinymce.dom.DOMUtils - is', function() {
638
- expect(3);
639
-
640
- DOM.add(document.body, 'div', {id : 'test'});
641
- DOM.setHTML('test', '<div id="textX" class="test">test 1</div>');
642
-
643
- ok(DOM.is(DOM.get('textX'), 'div'));
644
- ok(DOM.is(DOM.get('textX'), 'div#textX.test'));
645
- ok(!DOM.is(DOM.get('textX'), 'div#textX2'));
646
-
647
- DOM.remove('test');
648
- });
649
-
650
- test('tinymce.dom.DOMUtils - encode', function() {
651
- expect(1);
652
-
653
- equals(DOM.encode('abc<>"&\'���'), 'abc&lt;&gt;&quot;&amp;\'���');
654
- });
655
-
656
- test('tinymce.dom.DOMUtils - setGetAttrib', function() {
657
- var dom;
658
-
659
- expect(11);
660
-
661
- DOM.add(document.body, 'div', {id : 'test'});
662
-
663
- DOM.setAttrib('test', 'class', 'test 123');
664
- equals(DOM.getAttrib('test', 'class'), 'test 123');
665
-
666
- DOM.setAttrib('test', 'src', 'url');
667
- equals(DOM.getAttrib('test', 'src'), 'url');
668
- equals(DOM.getAttrib('test', 'mce_src'), 'url');
669
- equals(DOM.getAttrib('test', 'abc'), '');
670
-
671
- DOM.setAttribs('test', {'class' : '123', title : 'abc'});
672
- equals(DOM.getAttrib('test', 'class'), '123');
673
- equals(DOM.getAttrib('test', 'title'), 'abc');
674
-
675
- dom = new tinymce.dom.DOMUtils(document, {keep_values : true, url_converter : function(u, n, e) {
676
- return '&<>"' + u + '&<>"' + n;
677
- }});
678
-
679
- dom.setAttribs('test', {src : '123', href : 'abc'});
680
- equals(DOM.getAttrib('test', 'src'), '&<>"123&<>"src');
681
- equals(DOM.getAttrib('test', 'href'), '&<>"abc&<>"href');
682
-
683
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
684
- DOM.setAttribs(['test2', 'test3', 'test4'], {test1 : "1", test2 : "2"});
685
- equals(DOM.getAttrib('test2', 'test1'), '1');
686
- equals(DOM.getAttrib('test3', 'test2'), '2');
687
- equals(DOM.getAttrib('test4', 'test1'), '1');
688
-
689
- DOM.remove('test');
690
- });
691
-
692
- test('tinymce.dom.DOMUtils - setGetStyles', function() {
693
- expect(7);
694
-
695
- DOM.add(document.body, 'div', {id : 'test'});
696
-
697
- DOM.setStyle('test', 'font-size', '20px');
698
- equals(DOM.getStyle('test', 'font-size'), '20px', null, tinymce.isWebKit);
699
-
700
- DOM.setStyle('test', 'fontSize', '21px');
701
- equals(DOM.getStyle('test', 'fontSize'), '21px', null, tinymce.isWebKit);
702
-
703
- DOM.setStyles('test', {fontSize : '22px', display : 'inline'});
704
- equals(DOM.getStyle('test', 'fontSize'), '22px', null, tinymce.isWebKit);
705
- equals(DOM.getStyle('test', 'display'), 'inline', null, tinymce.isWebKit);
706
-
707
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
708
- DOM.setStyles(['test2', 'test3', 'test4'], {fontSize : "22px"});
709
- equals(DOM.getStyle('test2', 'fontSize'), '22px');
710
- equals(DOM.getStyle('test3', 'fontSize'), '22px');
711
- equals(DOM.getStyle('test4', 'fontSize'), '22px');
712
-
713
- DOM.setAttrib('test', 'style', '');
714
-
715
- DOM.remove('test');
716
- });
717
-
718
- test('tinymce.dom.DOMUtils - getPos', function() {
719
- expect(2);
720
-
721
- DOM.add(document.body, 'div', {id : 'test'});
722
-
723
- DOM.setStyles('test', {position : 'absolute', left : 100, top : 110});
724
- equals(DOM.getPos('test').x, 100);
725
- equals(DOM.getPos('test').y, 110);
726
-
727
- DOM.setAttrib('test', 'style', '');
728
-
729
- DOM.remove('test');
730
- });
731
-
732
- test('tinymce.dom.DOMUtils - getParent', function() {
733
- expect(6);
734
-
735
- DOM.add(document.body, 'div', {id : 'test'});
736
-
737
- DOM.get('test').innerHTML = '<div><span>ab<a id="test2" href="">abc</a>c</span></div>';
738
-
739
- equals(DOM.getParent('test2', function(n) {return n.nodeName == 'SPAN';}).nodeName, 'SPAN');
740
- equals(DOM.getParent('test2', function(n) {return n.nodeName == 'BODY';}).nodeName, 'BODY');
741
- equals(DOM.getParent('test2', function(n) {return n.nodeName == 'BODY';}, document.body), null);
742
- equals(DOM.getParent('test2', function(n) {return false;}), null);
743
- equals(DOM.getParent('test2', 'SPAN').nodeName, 'SPAN');
744
- equals(DOM.getParent('test2', 'body', DOM.get('test')), null);
745
-
746
- DOM.get('test').innerHTML = '';
747
-
748
- DOM.remove('test');
749
- });
750
-
751
- test('tinymce.dom.DOMUtils - getParents', function() {
752
- expect(4);
753
-
754
- DOM.add(document.body, 'div', {id : 'test'});
755
- DOM.get('test').innerHTML = '<div><span class="test">ab<span><a id="test2" href="">abc</a>c</span></span></div>';
756
-
757
- equals(DOM.getParents('test2', function(n) {return n.nodeName == 'SPAN';}).length, 2);
758
- equals(DOM.getParents('test2', 'span').length, 2);
759
- equals(DOM.getParents('test2', 'span.test').length, 1);
760
- equals(DOM.getParents('test2', 'body', DOM.get('test')).length, 0);
761
-
762
- DOM.remove('test');
763
- });
764
-
765
- test('tinymce.dom.DOMUtils - is', function() {
766
- expect(2);
767
-
768
- DOM.add(document.body, 'div', {id : 'test'});
769
- DOM.get('test').innerHTML = '<div><span class="test">ab<span><a id="test2" href="">abc</a>c</span></span></div>';
770
-
771
- ok(DOM.is(DOM.select('span', 'test'), 'span'));
772
- ok(DOM.is(DOM.select('#test2', 'test'), '#test2'));
773
-
774
- DOM.remove('test');
775
- });
776
-
777
- test('tinymce.dom.DOMUtils - getViewPort', function() {
778
- var wp;
779
-
780
- expect(4);
781
-
782
- wp = DOM.getViewPort();
783
- equals(wp.x, 0);
784
- equals(wp.y, 0);
785
- ok(wp.w > 0);
786
- ok(wp.h > 0);
787
- });
788
-
789
- test('tinymce.dom.DOMUtils - getRect', function() {
790
- var r;
791
-
792
- expect(5);
793
-
794
- DOM.add(document.body, 'div', {id : 'test'});
795
-
796
- DOM.setStyles('test', {position : 'absolute', left : 100, top : 110, width : 320, height : 240});
797
- r = DOM.getRect('test');
798
- equals(r.x, 100);
799
- equals(r.y, 110);
800
- equals(r.w, 320);
801
- equals(r.h, 240);
802
-
803
- DOM.setAttrib('test', 'style', '');
804
-
805
- DOM.get('test').innerHTML = '<div style="width:320px;height:240px"><div id="test2" style="width:50%;height:240px"></div></div>';
806
- r = DOM.getRect('test2');
807
- equals(r.w, 160);
808
-
809
- DOM.remove('test');
810
- });
811
-
812
- test('tinymce.dom.DOMUtils - getSize', function() {
813
- var r;
814
-
815
- expect(2);
816
-
817
- DOM.add(document.body, 'div', {id : 'test'});
818
-
819
- DOM.get('test').innerHTML = '<div style="width:320px;height:240px"><div id="test2" style="width:50%;height:240px"></div></div>';
820
- r = DOM.getSize('test2');
821
- equals(r.w, 160);
822
-
823
- DOM.get('test').innerHTML = '<div style="width:320px;height:240px"><div id="test2" style="width:100px;height:240px"></div></div>';
824
- r = DOM.getSize('test2');
825
- equals(r.w, 100);
826
-
827
- DOM.remove('test');
828
- });
829
-
830
- test('tinymce.dom.DOMUtils - loadCSS', function() {
831
- var c = 0;
832
-
833
- expect(1);
834
-
835
- DOM.loadCSS('css/unit.css?a=1,css/unit.css?a=2,css/unit.css?a=3');
836
-
837
- tinymce.each(document.getElementsByTagName('link'), function(n) {
838
- if (n.href.indexOf('unit.css?a=') != -1)
839
- c++;
840
- });
841
-
842
- equals(c, 3, null, tinymce.isOpera);
843
- });
844
-
845
- test('tinymce.dom.DOMUtils - insertAfter', function() {
846
- expect(2);
847
-
848
- DOM.add(document.body, 'div', {id : 'test'});
849
-
850
- DOM.setHTML('test', '<span id="test2"></span>');
851
- DOM.insertAfter(DOM.create('br'), 'test2');
852
- equals(DOM.get('test2').nextSibling.nodeName, 'BR');
853
-
854
- DOM.setHTML('test', '<span>test</span><span id="test2"></span><span>test</span>');
855
- DOM.insertAfter(DOM.create('br'), 'test2');
856
- equals(DOM.get('test2').nextSibling.nodeName, 'BR');
857
-
858
- DOM.remove('test');
859
- });
860
-
861
- test('tinymce.dom.DOMUtils - isBlock', function() {
862
- expect(4);
863
-
864
- ok(DOM.isBlock(DOM.create('div')));
865
- ok(DOM.isBlock('DIV'));
866
- ok(!DOM.isBlock('SPAN'));
867
- ok(!DOM.isBlock('div'));
868
- });
869
-
870
- test('tinymce.dom.DOMUtils - remove', function() {
871
- expect(3);
872
-
873
- DOM.add(document.body, 'div', {id : 'test'});
874
-
875
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
876
- DOM.remove('test2', 1);
877
- equals(DOM.get('test').innerHTML.toLowerCase(), '<span>test</span><span>test2</span>');
878
-
879
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
880
- equals(DOM.remove('test2').nodeName, 'SPAN');
881
-
882
- DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
883
- DOM.remove(['test2', 'test4']);
884
- equals(DOM.select('span', 'test').length, 1);
885
-
886
- DOM.remove('test');
887
- });
888
-
889
- test('tinymce.dom.DOMUtils - replace', function() {
890
- expect(2);
891
-
892
- DOM.add(document.body, 'div', {id : 'test'});
893
-
894
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
895
- DOM.replace(DOM.create('div', {id : 'test2'}), 'test2', 1);
896
- equals(DOM.get('test2').innerHTML.toLowerCase(), '<span>test</span><span>test2</span>');
897
-
898
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
899
- DOM.replace(DOM.create('div', {id : 'test2'}), 'test2');
900
- equals(DOM.get('test2').innerHTML, '');
901
-
902
- DOM.remove('test');
903
- });
904
-
905
- test('tinymce.dom.DOMUtils - toHex', function() {
906
- expect(5);
907
-
908
- equals(DOM.toHex('rgb(0, 255, 255)'), '#00ffff');
909
- equals(DOM.toHex('rgb(255, 0, 0)'), '#ff0000');
910
- equals(DOM.toHex('rgb(0, 0, 255)'), '#0000ff');
911
- equals(DOM.toHex('rgb ( 0 , 0 , 255 ) '), '#0000ff');
912
- equals(DOM.toHex(' RGB ( 0 , 0 , 255 ) '), '#0000ff');
913
- });
914
-
915
- test('tinymce.dom.DOMUtils - getOuterHTML', function() {
916
- expect(3);
917
-
918
- DOM.add(document.body, 'div', {id : 'test'});
919
-
920
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
921
- equals(DOM.getOuterHTML('test2').toLowerCase(), tinymce.isIE ? '<span id=test2><span>test</span><span>test2</span></span>' : '<span id="test2"><span>test</span><span>test2</span></span>');
922
-
923
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
924
- DOM.setOuterHTML('test2', '<div id="test2">123</div>');
925
- equals(tinymce.trim(DOM.getOuterHTML('test2') || '').toLowerCase(), tinymce.isIE ? '<div id=test2>123</div>' : '<div id="test2">123</div>');
926
-
927
- DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
928
- DOM.setOuterHTML('test2', '<div id="test2">123</div><div id="test3">abc</div>');
929
- equals(tinymce.trim(DOM.get('test').innerHTML).toLowerCase().replace(/>\s+</g, '><'), tinymce.isIE ? '<div id=test2>123</div><div id=test3>abc</div>' : '<div id="test2">123</div><div id="test3">abc</div>');
930
-
931
- DOM.remove('test');
932
- });
933
-
934
- test('tinymce.dom.DOMUtils - processHTML', function() {
935
- var dom;
936
-
937
- expect(10);
938
-
939
- dom = new tinymce.dom.DOMUtils(document, {hex_colors : true, keep_values : true, url_converter : function(u) {
940
- return '&<>"' + u + '&<>"';
941
- }});
942
-
943
- equals(
944
- dom.processHTML('<span style="background-image:url(\'http://www.somesite.com\');">test</span>'),
945
- '<span style="background-image:url(\'http://www.somesite.com\');" mce_style="background-image:url(\'http://www.somesite.com\');">test</span>'
946
- );
947
-
948
- equals(
949
- dom.processHTML('test1 <strong>test2</strong> <strong id="test1">test3</strong> <em>test2</em> <em id="test2">test3</em>'),
950
- tinymce.isGecko ? 'test1 <b>test2</b> <b id="test1">test3</b> <i>test2</i> <i id="test2">test3</i>' : 'test1 <strong>test2</strong> <strong id="test1">test3</strong> <em>test2</em> <em id="test2">test3</em>'
951
- );
952
-
953
- equals(
954
- dom.processHTML('some content <img src="some.gif" /> some more content <a href="somelink.htm">link</a>'),
955
- 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
956
- );
957
-
958
- equals(
959
- dom.processHTML('some content <img src=some.gif /> some more content <a href=somelink.htm>link</a>'),
960
- 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
961
- );
962
-
963
- equals(
964
- dom.processHTML("some content <img src='some.gif' /> some more content <a href='somelink.htm'>link</a>"),
965
- 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
966
- );
967
-
968
- equals(
969
- dom.processHTML('some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'),
970
- 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
971
- );
972
-
973
- equals(
974
- dom.processHTML('<span style="border-left-color: rgb(0, 255, 255); border-top-color: rgb(0, 255, 255);"></span>'),
975
- '<span style="border-left-color: rgb(0, 255, 255); border-top-color: rgb(0, 255, 255);" mce_style="border-left-color: #00ffff; border-top-color: #00ffff;"></span>'
976
- );
977
-
978
- equals(
979
- dom.processHTML('<span style="background: url(test.gif);"></span>'),
980
- '<span style="background: url(test.gif);" mce_style="background: url(&amp;&lt;&gt;&quot;test.gif&amp;&lt;&gt;&quot;);"></span>'
981
- );
982
-
983
- equals(
984
- dom.processHTML('<a href="test.html"/>'),
985
- '<a href="test.html" mce_href="&amp;&lt;&gt;&quot;test.html&amp;&lt;&gt;&quot;"></a>'
986
- );
987
-
988
- equals(
989
- dom.processHTML('<a/>'),
990
- '<a></a>'
991
- );
992
- });
993
-
994
- test('tinymce.dom.DOMUtils - encodeDecode', function() {
995
- expect(2);
996
-
997
- equals(DOM.encode('���&<>"'), '���&amp;&lt;&gt;&quot;');
998
- equals(DOM.decode('&aring;&auml;&ouml;&amp;&lt;&gt;&quot;'), '���&<>"');
999
- });
1000
-
1001
- test('tinymce.dom.DOMUtils - split', function() {
1002
- var point, parent;
1003
- //expect(2);
1004
-
1005
- DOM.add(document.body, 'div', {id : 'test'}, '<p><b>text1<span>inner</span>text2</b></p>');
1006
-
1007
- parent = DOM.select('p', DOM.get('test'))[0];
1008
- point = DOM.select('span', DOM.get('test'))[0];
1009
-
1010
- DOM.split(parent, point);
1011
- equals(DOM.get('test').innerHTML.toLowerCase().replace(/\s+/g, ''), '<p><b>text1</b></p><span>inner</span><p><b>text2</b></p>');
1012
-
1013
- DOM.remove('test');
1014
- });
1015
-
1016
- DOM.remove('test');
1017
- })();
1018
-
1019
- (function() {
1020
- var Event = tinymce.dom.Event, DOM = new tinymce.dom.DOMUtils(document, {keep_values : true});
1021
-
1022
- test('tinymce.dom.Event - addRemove', function() {
1023
- var c = 0;
1024
-
1025
- expect(2);
1026
-
1027
- DOM.add(document.body, 'div', {id : 'test'});
1028
- DOM.get('test').innerHTML = '<span id="test2"></span>';
1029
-
1030
- function mouseCheck(e) {
1031
- if (e.clientX == 10 || e.clientX == 101)
1032
- c++;
1033
- };
1034
-
1035
- function mouseCheckCancel(e) {
1036
- if (e.clientX == 101)
1037
- return Event.cancel(e);
1038
- };
1039
-
1040
- function keyCheck(e) {
1041
- if (e.keyCode == 13)
1042
- c++;
1043
- };
1044
-
1045
- Event.add('test2', 'click', mouseCheckCancel);
1046
- Event.add('test', 'click', mouseCheck);
1047
- fakeMouseEvent('test', 'click', {clientX : 10});
1048
- fakeMouseEvent('test2', 'click', {clientX : 101});
1049
-
1050
- Event.add('test', 'keydown', keyCheck);
1051
- fakeKeyEvent('test', 'keydown', {keyCode : 13});
1052
-
1053
- equals(c, 2, '[%d] Event count doesn\'t add up. Value: %d should be %d.', tinymce.isWebKit);
1054
-
1055
- c = 0;
1056
- Event.remove('test', 'click', mouseCheck);
1057
- Event.remove('test', 'keydown', keyCheck);
1058
- fakeMouseEvent('test', 'click', {clientX : 10});
1059
- fakeKeyEvent('test', 'keydown', {keyCode : 13});
1060
-
1061
- equals(c, 0, '[%d] Event count doesn\'t add up. Value: %d should be %d.', tinymce.isWebKit);
1062
-
1063
- DOM.remove('test');
1064
- });
1065
- })();
1066
-
1067
- (function() {
1068
- var Serializer = tinymce.dom.Serializer, DOM = new tinymce.dom.DOMUtils(document, {keep_values : true});
1069
-
1070
- test('tinymce.DOM.Serializer - serialize', function() {
1071
- var ser = new tinymce.dom.Serializer({dom : DOM}), h, a, b;
1072
-
1073
- expect(45);
1074
-
1075
- DOM.add(document.body, 'div', {id : 'test'});
1076
- DOM.counter = 0;
1077
-
1078
- ser.setRules('@[id|title|class|style],div,img[src|alt|-style|border],span,hr');
1079
- DOM.setHTML('test', '<img title="test" src="file.gif" alt="test" border="0" style="border: 1px solid red" class="test" /><span id="test2">test</span><hr />');
1080
- equals(ser.serialize(DOM.get('test')), '<div id="test"><img title="test" class="test" src="file.gif" alt="test" border="0" /><span id="test2">test</span><hr /></div>');
1081
-
1082
- ser.setRules('*a[*],em/i[*],strong/b[*i*]');
1083
- DOM.setHTML('test', '<a href="test">test</a><strong title="test" class="test">test2</strong><em title="test">test3</em>');
1084
- equals(ser.serialize(DOM.get('test')), '<a href="test">test</a><strong title="test">test2</strong><em title="test">test3</em>');
1085
-
1086
- ser.setRules('br,hr,input[type|name|value],div[id],span[id],strong/b,a,em/i,a[!href|!name],img[src|border=0|title={$uid}]');
1087
- DOM.setHTML('test', '<br /><hr /><input type="text" name="test" value="val" class="no" /><span id="test2" class="no"><b class="no">abc</b><em class="no">123</em></span>123<a href="file.html">link</a><a name="anchor"></a><a>no</a><img src="file.gif" />');
1088
- equals(ser.serialize(DOM.get('test')), '<div id="test"><br /><hr /><input type="text" name="test" value="val" /><span id="test2"><strong>abc</strong><em>123</em></span>123<a href="file.html">link</a><a name="anchor"></a>no<img src="file.gif" border="0" title="mce_0" /></div>');
1089
-
1090
- ser.setRules('input[type|name|value|checked|disabled|readonly],select,option[selected]');
1091
- DOM.setHTML('test', '<input type="radio" checked="1" disabled="1" value="1"><input type="radio" checked="0" disabled="0" value="1"><input type="checkbox" checked="false" disabled="false" value="1"><input type="radio" checked="checked" disabled="disabled" value="1"><input type="text" readonly="true"><select><option selected="1">test1</option><option selected="0">test2</option><option selected="false">test3</option></select>');
1092
- equals(ser.serialize(DOM.get('test')), '<input type="radio" value="1" checked="checked" disabled="disabled" /><input type="radio" value="1" /><input type="checkbox" value="1" /><input type="radio" value="1" checked="checked" disabled="disabled" /><input type="text" readonly="readonly" /><select><option selected="selected">test1</option><option>test2</option><option>test3</option></select>');
1093
-
1094
- ser.setRules('a[href|target<_blank?_top|title:forced value]');
1095
- DOM.setHTML('test', '<a href="file.htm" target="_blank" title="title">link</a><a href="#" target="test">test2</a>');
1096
- equals(ser.serialize(DOM.get('test')), '<a href="file.htm" target="_blank" title="forced value">link</a><a href="#" title="forced value">test2</a>');
1097
-
1098
- ser.setRules('*[*]');
1099
- DOM.setHTML('test', '<label for="test">label</label>');
1100
- equals(ser.serialize(DOM.get('test')), '<div id="test"><label for="test">label</label></div>');
1101
-
1102
- ser.setRules('*[*]');
1103
- DOM.setHTML('test', '<!-- abc -->');
1104
- equals(ser.serialize(DOM.get('test')), '<div id="test"><!-- abc --></div>', null, tinymce.isOldWebKit);
1105
-
1106
- ser.setRules('*[*]');
1107
- DOM.setHTML('test', '<span style="border: 1px solid red">test</span>');
1108
- equals(ser.serialize(DOM.get('test')), '<div id="test"><span style="border: 1px solid red">test</span></div>', null, tinymce.isOldWebKit);
1109
-
1110
- ser.setRules('*[*]');
1111
- DOM.setHTML('test', '<div mce_name="mytag" class="test">test</div>');
1112
- equals(ser.serialize(DOM.get('test')), '<div id="test"><mytag class="test">test</mytag></div>', null, tinymce.isOldWebKit);
1113
-
1114
- ser.setRules('*[*]');
1115
- DOM.setHTML('test', '<div test:attr="test">test</div>');
1116
- equals(ser.serialize(DOM.get('test'), {getInner : 1}), '<div test:attr="test">test</div>');
1117
-
1118
- ser.setRules('#p');
1119
- DOM.setHTML('test', '<p>test</p><p></p>');
1120
- equals(ser.serialize(DOM.get('test')), '<p>test</p><p>&nbsp;</p>', null, tinymce.isOldWebKit);
1121
-
1122
- ser.setRules('img[src|border=0|alt=]');
1123
- DOM.setHTML('test', '<img src="file.gif" border="0" alt="" />');
1124
- equals(ser.serialize(DOM.get('test')), '<img src="file.gif" border="0" alt="" />');
1125
-
1126
- ser.setRules('img[src|border=0|alt=],*[*]');
1127
- DOM.setHTML('test', '<img src="file.gif" /><hr />');
1128
- equals(ser.serialize(DOM.get('test')), '<div id="test"><img src="file.gif" border="0" alt="" /><hr /></div>');
1129
-
1130
- ser.setRules('*[*]');
1131
- DOM.setHTML('test', '<span id="test2"><b>abc</b></span>123<a href="file.html">link</a>');
1132
- a = ser.onPreProcess.add(function(se, o) {
1133
- equals(o.test, 'abc');
1134
- DOM.setAttrib(o.node.getElementsByTagName('span')[0], 'class', 'abc');
1135
- });
1136
- b = ser.onPostProcess.add(function(se, o) {
1137
- equals(o.test, 'abc');
1138
- o.content = o.content.replace(/<b>/g, '<b class="123">');
1139
- });
1140
- equals(ser.serialize(DOM.get('test'), {test : 'abc'}), '<div id="test"><span class="abc" id="test2"><b class="123">abc</b></span>123<a href="file.html">link</a></div>');
1141
- ser.onPreProcess.remove(a);
1142
- ser.onPostProcess.remove(b);
1143
-
1144
- ser.setRules('*[*]');
1145
- DOM.setHTML('test', '<ol><li>a</li><ol><li>b</li><li>c</li></ol><li>e</li></ol>');
1146
- equals(ser.serialize(DOM.get('test')), '<div id="test"><ol><li>a<ol><li>b</li><li>c</li></ol></li><li>e</li></ol></div>');
1147
-
1148
- ser = new tinymce.dom.Serializer({valid_elements : 'img[src|border=0|alt=]', extended_valid_elements : 'div[id],img[src|alt=]'});
1149
- DOM.setHTML('test', '<img src="file.gif" alt="" />');
1150
- equals(ser.serialize(DOM.get('test')), '<div id="test"><img src="file.gif" alt="" /></div>', null, tinymce.isOldWebKit);
1151
-
1152
- ser = new tinymce.dom.Serializer({invalid_elements : 'hr,br'});
1153
- DOM.setHTML('test', '<img src="file.gif" /><hr /><br />');
1154
- equals(ser.serialize(DOM.get('test')), '<div id="test"><img src="file.gif" /></div>');
1155
-
1156
- ser = new tinymce.dom.Serializer({entity_encoding : 'numeric'});
1157
- DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1158
- equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"&#160;&#229;&#228;&#246;</div>');
1159
-
1160
- ser = new tinymce.dom.Serializer({entity_encoding : 'named'});
1161
- DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1162
- equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"&nbsp;&aring;&auml;&ouml;</div>');
1163
-
1164
- ser = new tinymce.dom.Serializer({entity_encoding : 'named+numeric',entities : '160,nbsp,34,quot,38,amp,60,lt,62,gt'});
1165
- DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1166
- equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"&nbsp;&#229;&#228;&#246;</div>');
1167
-
1168
- ser = new tinymce.dom.Serializer({entity_encoding : 'raw'});
1169
- DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1170
- equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"\u00a0���</div>');
1171
-
1172
- ser.setRules('+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],*[*]');
1173
- DOM.setHTML('test', '<br /><hr /><span class="test"><img src="file.gif" /></span>');
1174
- equals(ser.serialize(DOM.get('test')), '<div id="test"><br /><hr /><span class="test"><img src="file.gif" alt="" /></span></div>');
1175
-
1176
- ser.setRules('*[*]');
1177
- ser.setValidChildRules('h1/h2/h3/h4/h5/h6/a[%itrans_na],div[%itrans|%btrans]');
1178
- DOM.setHTML('test', '<h1>test <a href="file">link</a> test</h1>');
1179
- equals(ser.serialize(DOM.get('test')), '<div id="test"><h1>test link test</h1></div>');
1180
-
1181
- ser = new tinymce.dom.Serializer({entity_encoding : 'raw'});
1182
- ser.setRules('*[*]');
1183
- DOM.setHTML('test', 'test1<prefix:test>Test</prefix:test>test2');
1184
- equals(ser.serialize(DOM.get('test')), '<div id="test">test1<prefix:test>Test</prefix:test>test2</div>');
1185
-
1186
- ser.setRules('style');
1187
- DOM.setHTML('test', '<style> body { background:#fff }</style>');
1188
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<style><!--\n body { background:#fff }\n--></style>');
1189
-
1190
- ser.setRules('style');
1191
- DOM.setHTML('test', '<style>\r\n<![CDATA[\r\n body { background:#fff }]]></style>');
1192
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<style><!--\n body { background:#fff }\n--></style>');
1193
-
1194
- ser.setRules('script[type|language|src]');
1195
- DOM.setHTML('test', '<script>var a = b < c1;</script>');
1196
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c1;\n// ]]></script>');
1197
-
1198
- DOM.setHTML('test', '<script type="text/javascript">var a = b < c2;</script>');
1199
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c2;\n// ]]></script>');
1200
-
1201
- DOM.setHTML('test', '<script type="text/javascript">\n\tvar a = b < c22;\n\t if (a < b)\n\t\talert(1);\n</script>');
1202
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\n\tvar a = b < c22;\n\t if (a < b)\n\t\talert(1);\n// ]]></script>');
1203
-
1204
- DOM.setHTML('test', '<script type="text/javascript"><!-- var a = b < c3; // --></script>');
1205
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\n var a = b < c3;\n// ]]></script>');
1206
-
1207
- DOM.setHTML('test', '<script type="text/javascript">\n\n<!-- var a = b < c3;\n\n--></script>');
1208
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\n var a = b < c3;\n// ]]></script>');
1209
-
1210
- DOM.setHTML('test', '<script type="text/javascript">// <![CDATA[var a = b < c4; // ]]></script>');
1211
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c4;\n// ]]></script>');
1212
-
1213
- DOM.setHTML('test', '<script type="text/javascript"><![CDATA[var a = b < c4; ]]></script>');
1214
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c4;\n// ]]></script>');
1215
-
1216
- DOM.setHTML('test', '<script type="text/javascript">\n\n<![CDATA[\n\nvar a = b < c4;\n\n]]>\n\n</script>');
1217
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c4;\n// ]]></script>');
1218
-
1219
- DOM.setHTML('test', '<script type="text/javascript" src="test.js"></script>');
1220
- equals(ser.serialize(DOM.get('test')), '<script type="text/javascript" src="test.js"></script>');
1221
-
1222
- ser.setRules('noscript[test]');
1223
- DOM.setHTML('test', '<noscript test="test"><br></noscript>');
1224
- equals(ser.serialize(DOM.get('test')), '<noscript test="test"><br></noscript>');
1225
-
1226
- DOM.setHTML('test', '<noscript><br></noscript>');
1227
- equals(ser.serialize(DOM.get('test')), '<noscript><br></noscript>');
1228
-
1229
- DOM.setHTML('test', '<noscript><!-- text --><br></noscript>');
1230
- equals(ser.serialize(DOM.get('test')), '<noscript><!-- text --><br></noscript>');
1231
-
1232
- ser.setRules('map[id|name],area[shape|coords|href|target|alt]');
1233
- DOM.setHTML('test', '<map id="planetmap" name="planetmap"><area shape="rect" coords="0,0,82,126" href="sun.htm" target="_blank" alt="Sun" /></map>');
1234
- equals(ser.serialize(DOM.get('test')), '<map id="planetmap" name="planetmap"><area shape="rect" coords="0,0,82,126" href="sun.htm" target="_blank" alt="Sun" /></map>');
1235
-
1236
- DOM.setHTML('test', '123<![CDATA[<test>]]>abc');
1237
- equals(ser.serialize(DOM.get('test')), '123<![CDATA[<test>]]>abc');
1238
-
1239
- DOM.setHTML('test', '123<![CDATA[<te\n\nst>]]>abc');
1240
- equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '123<![CDATA[<te\n\nst>]]>abc');
1241
-
1242
- ser.setRules('ul,li,br');
1243
- DOM.setHTML('test', '<ul><li>test<br /></li><li>test<br /></li><li>test<br /></li></ul>');
1244
- equals(ser.serialize(DOM.get('test')), '<ul><li>test</li><li>test</li><li>test</li></ul>');
1245
-
1246
- ser.setRules('input[type|value|name|id|maxlength|size|tabindex]');
1247
- DOM.setHTML('test', '<input type="checkbox" value="test" /><input type="button" />');
1248
- equals(ser.serialize(DOM.get('test')), '<input type="checkbox" value="test" /><input type="button" />');
1249
-
1250
- DOM.remove('test');
1251
- });
1252
- })();
1253
-
1254
- (function() {
1255
- var Dispatcher = tinymce.util.Dispatcher;
1256
-
1257
- test('tinymce.util.Dispatcher - dispatcher', function() {
1258
- var ev, v, f;
1259
-
1260
- expect(5);
1261
-
1262
- ev = new Dispatcher();
1263
- ev.add(function(a, b, c) {
1264
- v = a + b + c;
1265
- });
1266
- ev.dispatch(1, 2, 3);
1267
- equals(v, 6);
1268
-
1269
- ev = new Dispatcher();
1270
- v = 0;
1271
- f = ev.add(function(a, b, c) {
1272
- v = a + b + c;
1273
- });
1274
- ev.remove(f);
1275
- ev.dispatch(1, 2, 3);
1276
- equals(v, 0);
1277
-
1278
- ev = new Dispatcher({test : 1});
1279
- v = 0;
1280
- f = ev.add(function(a, b, c) {
1281
- v = a + b + c + this.test;
1282
- });
1283
- ev.dispatch(1, 2, 3);
1284
- equals(v, 7);
1285
-
1286
- ev = new Dispatcher();
1287
- v = 0;
1288
- f = ev.add(function(a, b, c) {
1289
- v = a + b + c + this.test;
1290
- }, {test : 1});
1291
- ev.dispatch(1, 2, 3);
1292
- equals(v, 7);
1293
-
1294
- ev = new Dispatcher();
1295
- v = '';
1296
- f = ev.add(function(a, b, c) {
1297
- v += 'b';
1298
- }, {test : 1});
1299
- f = ev.addToTop(function(a, b, c) {
1300
- v += 'a';
1301
- }, {test : 1});
1302
- ev.dispatch();
1303
- equals(v, 'ab');
1304
- });
1305
- })();
1306
-
1307
- (function() {
1308
- var Cookie = tinymce.util.Cookie;
1309
-
1310
- test('tinymce.util.Cookie - cookie', function() {
1311
- var f = document.location.protocol == 'file:';
1312
-
1313
- expect(4);
1314
-
1315
- Cookie.set('test', 'test123');
1316
- equals(Cookie.get('test'), 'test123', null, f);
1317
-
1318
- Cookie.set('test', 'test1234');
1319
- equals(Cookie.get('test'), 'test1234', null, f);
1320
-
1321
- Cookie.setHash('test', {a : 1, b : 2});
1322
- ok(Cookie.getHash('test') ? Cookie.getHash('test').b == 2 : null, null, f);
1323
-
1324
- Cookie.setHash('test', {a : 1, b : 3});
1325
- ok(Cookie.getHash('test') ? Cookie.getHash('test').b == 3 : null, null, f);
1326
- });
1327
- })();
1328
-
1329
- (function() {
1330
- var JSON = tinymce.util.JSON;
1331
-
1332
- test('tinymce.util.JSON - serialize', function() {
1333
- expect(1);
1334
-
1335
- equals(JSON.serialize({arr1 : [1, 2, 3, [1, 2, 3]], bool1 : true, float1: 3.14, int1 : 123, null1 : null, obj1 : {key1 : "val1", key2 : "val2"}, str1 : 'abc\u00C5123'}), '{"arr1":[1,2,3,[1,2,3]],"bool1":true,"float1":3.14,"int1":123,"null1":null,"obj1":{"key1":"val1","key2":"val2"},"str1":"abc\\u00c5123"}');
1336
- });
1337
-
1338
- test('tinymce.util.JSON - parse', function() {
1339
- expect(1);
1340
-
1341
- equals(JSON.parse('{"arr1":[1,2,3,[1,2,3]],"bool1":true,"float1":3.14,"int1":123,"null1":null,"obj1":{"key1":"val1","key2":"val2"},"str1":"abc\\u00c5123"}').str1, 'abc\u00c5123');
1342
- });
1343
- })();
1344
-
1345
- (function() {
1346
- var URI = tinymce.util.URI;
1347
-
1348
- test('tinymce.util.URI - parseFullURLs', function() {
1349
- expect(2);
1350
-
1351
- equals(new URI('http://abc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash').getURI(), 'http://abc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash');
1352
- ok(new URI('http://a2bc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash').getURI() != 'http://abc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash');
1353
- });
1354
-
1355
- test('tinymce.util.URI - relativeURLs', function() {
1356
- expect(24);
1357
-
1358
- equals(new URI('http://www.site.com/dir1/dir2/file.html').toRelative('http://www.site.com/dir1/dir3/file.html'), '../dir3/file.html');
1359
- equals(new URI('http://www.site.com/dir1/dir2/file.html').toRelative('http://www.site.com/dir3/dir4/file.html'), '../../dir3/dir4/file.html');
1360
- equals(new URI('http://www.site.com/dir1/').toRelative('http://www.site.com/dir1/dir3/file.htm'), 'dir3/file.htm');
1361
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('http://www.site2.com/dir1/dir3/file.htm'), 'http://www.site2.com/dir1/dir3/file.htm');
1362
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('http://www.site.com:8080/dir1/dir3/file.htm'), 'http://www.site.com:8080/dir1/dir3/file.htm');
1363
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('https://www.site.com/dir1/dir3/file.htm'), 'https://www.site.com/dir1/dir3/file.htm');
1364
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('/file.htm'), '../../file.htm');
1365
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('/file.htm?id=1#a'), '../../file.htm?id=1#a');
1366
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('mailto:test@test.com'), 'mailto:test@test.com');
1367
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('news:test'), 'news:test');
1368
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('javascript:void(0);'), 'javascript:void(0);');
1369
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('about:blank'), 'about:blank');
1370
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('#test'), '#test');
1371
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('test.htm'), 'test.htm');
1372
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('http://www.site.com/dir1/dir2/test.htm'), 'test.htm');
1373
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('dir2/test.htm'), 'dir2/test.htm');
1374
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../dir2/test.htm'), 'test.htm');
1375
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../dir3/'), '../dir3/');
1376
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../../../../../../test.htm'), '../../test.htm');
1377
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('//www.site.com/test.htm'), '../../test.htm');
1378
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('@@tinymce'), '@@tinymce'); // Zope 3 URL
1379
- equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../@@tinymce'), '../@@tinymce'); // Zope 3 URL
1380
- equals(new URI('http://www.site.com/').toRelative('dir2/test.htm'), 'dir2/test.htm');
1381
- equals(new URI('http://www.site.com/').toRelative('./'), './');
1382
- });
1383
-
1384
- test('tinymce.util.URI - absoluteURLs', function() {
1385
- expect(15);
1386
-
1387
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../dir3'), 'http://www.site.com/dir1/dir3');
1388
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../dir3', 1), '/dir1/dir3');
1389
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../../../../dir3'), 'http://www.site.com/dir3');
1390
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../abc/def/../../abc/../dir3/file.htm'), 'http://www.site.com/dir1/dir3/file.htm');
1391
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('http://www.site.com/dir2/dir3'), 'http://www.site.com/dir2/dir3');
1392
- equals(new URI('http://www.site2.com/dir1/dir2/').toAbsolute('http://www.site2.com/dir2/dir3'), 'http://www.site2.com/dir2/dir3');
1393
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('mailto:test@test.com'), 'mailto:test@test.com');
1394
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('news:test'), 'news:test');
1395
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('javascript:void(0);'), 'javascript:void(0);');
1396
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('about:blank'), 'about:blank');
1397
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('#test'), '#test');
1398
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('test.htm'), 'http://www.site.com/dir1/dir2/test.htm');
1399
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../@@tinymce'), 'http://www.site.com/dir1/@@tinymce'); // Zope 3 URL
1400
- equals(new URI('http://www.site.com/dir1/dir2/').getURI(), 'http://www.site.com/dir1/dir2/');
1401
- equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('/dir1/dir1/'), 'http://www.site.com/dir1/dir1/');
1402
- });
1403
-
1404
- test('tinymce.util.URI - strangeURLs', function() {
1405
- expect(3);
1406
-
1407
- equals(new URI('//www.site.com').getURI(), '//www.site.com');
1408
- equals(new URI('mailto:test@test.com').getURI(), 'mailto:test@test.com');
1409
- equals(new URI('news:somegroup').getURI(), 'news:somegroup');
1410
- });
1411
- })();
1412
-
1413
- (function() {
1414
- var Parser = tinymce.xml.Parser;
1415
-
1416
- test('tinymce.util.Parser - parser', function() {
1417
- var f = document.location.protocol == 'file:', p, d;
1418
-
1419
- expect(3);
1420
-
1421
- p = new Parser({async : false});
1422
- p.load('test.xml', function(d) {
1423
- equals(d.getElementsByTagName('tag').length, 1);
1424
- });
1425
-
1426
- p = new Parser({async : false});
1427
- p.load('test.xml', function(d) {
1428
- equals(tinymce.trim(p.getText(d.getElementsByTagName('tag')[0])), '���');
1429
- });
1430
-
1431
- p = new Parser({async : false});
1432
- d = p.loadXML('<root><tag>���</tag></root>');
1433
- equals(tinymce.trim(p.getText(d.getElementsByTagName('tag')[0])), '���');
1434
- });
1435
- })();
1436
-
1437
- run();
1438
- });