typus 3.1.0.rc7 → 3.1.0.rc8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (853) hide show
  1. data/lib/typus/version.rb +1 -1
  2. data/typus.gemspec +5 -2
  3. metadata +3 -1704
  4. data/test/app/controllers/admin/account_controller_test.rb +0 -105
  5. data/test/app/controllers/admin/base_controller_test.rb +0 -25
  6. data/test/app/controllers/admin/dashboard_controller_test.rb +0 -142
  7. data/test/app/controllers/admin/resource/status_controller_test.rb +0 -33
  8. data/test/app/controllers/admin/resources/acts_as_list_test.rb +0 -48
  9. data/test/app/controllers/admin/resources/assets_controller_test.rb.old +0 -137
  10. data/test/app/controllers/admin/resources/associations_test.rb +0 -59
  11. data/test/app/controllers/admin/resources/birds_controller_test.rb.old +0 -33
  12. data/test/app/controllers/admin/resources/bulk_test.rb +0 -36
  13. data/test/app/controllers/admin/resources/cases_controller_test.rb.old +0 -20
  14. data/test/app/controllers/admin/resources/comments_controller_test.rb.old +0 -74
  15. data/test/app/controllers/admin/resources/image_holders_controller_test.rb.old +0 -55
  16. data/test/app/controllers/admin/resources/invoices_controller_test.rb.old +0 -71
  17. data/test/app/controllers/admin/resources/orders_controller_test.rb.old +0 -17
  18. data/test/app/controllers/admin/resources/pages_controller_test.rb.old +0 -28
  19. data/test/app/controllers/admin/resources/posts_controller_test.rb.old +0 -649
  20. data/test/app/controllers/admin/resources/projects_controller_test.rb.old +0 -48
  21. data/test/app/controllers/admin/resources/trash_test.rb +0 -41
  22. data/test/app/controllers/admin/resources/typus_users_controller_test.rb +0 -156
  23. data/test/app/controllers/admin/resources/users_controller_test.rb.old +0 -101
  24. data/test/app/controllers/admin/resources/views_controller_test.rb.old +0 -32
  25. data/test/app/controllers/admin/resources_controller_test.rb +0 -102
  26. data/test/app/controllers/admin/session_controller_test.rb +0 -93
  27. data/test/app/helpers/admin/base_helper_test.rb +0 -75
  28. data/test/app/helpers/admin/dashboard_helper_test.rb +0 -28
  29. data/test/app/helpers/admin/filters_helper_test.rb +0 -162
  30. data/test/app/helpers/admin/form_helper_test.rb +0 -126
  31. data/test/app/helpers/admin/list_helper_test.rb +0 -76
  32. data/test/app/helpers/admin/relationships_helper_test.rb +0 -18
  33. data/test/app/helpers/admin/search_helper_test.rb +0 -56
  34. data/test/app/helpers/admin/sidebar_helper_test.rb +0 -20
  35. data/test/app/helpers/admin/table_helper_test.rb +0 -245
  36. data/test/app/mailers/admin/mailer_test.rb +0 -20
  37. data/test/app/models/admin_user_test.rb +0 -25
  38. data/test/app/models/typus_user_roles_test.rb +0 -126
  39. data/test/app/models/typus_user_test.rb +0 -148
  40. data/test/app/models/user_test.rb +0 -41
  41. data/test/config/routes_test.rb +0 -30
  42. data/test/factories.rb +0 -144
  43. data/test/fixtures/config/broken/application.yml +0 -68
  44. data/test/fixtures/config/broken/application_roles.yml +0 -20
  45. data/test/fixtures/config/broken/empty.yml +0 -0
  46. data/test/fixtures/config/broken/empty_roles.yml +0 -0
  47. data/test/fixtures/config/broken/undefined.yml +0 -3
  48. data/test/fixtures/config/broken/undefined_roles.yml +0 -6
  49. data/test/fixtures/config/default/typus.yml +0 -13
  50. data/test/fixtures/config/default/typus_roles.yml +0 -2
  51. data/test/fixtures/config/empty/empty_01.yml +0 -0
  52. data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
  53. data/test/fixtures/config/empty/empty_02.yml +0 -0
  54. data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
  55. data/test/fixtures/config/locales/es.yml +0 -10
  56. data/test/fixtures/config/namespaced/application.yml +0 -5
  57. data/test/fixtures/config/namespaced/application_roles.yml +0 -2
  58. data/test/fixtures/config/ordered/001_roles.yml +0 -2
  59. data/test/fixtures/config/ordered/002_roles.yml +0 -2
  60. data/test/fixtures/config/unordered/app_one_roles.yml +0 -2
  61. data/test/fixtures/config/unordered/app_two_roles.yml +0 -2
  62. data/test/fixtures/rails_app/.gitignore +0 -4
  63. data/test/fixtures/rails_app/Capfile +0 -7
  64. data/test/fixtures/rails_app/README +0 -256
  65. data/test/fixtures/rails_app/Rakefile +0 -7
  66. data/test/fixtures/rails_app/app/controllers/admin/admin_users_controller.rb +0 -2
  67. data/test/fixtures/rails_app/app/controllers/admin/animals_controller.rb +0 -2
  68. data/test/fixtures/rails_app/app/controllers/admin/article/entries_controller.rb +0 -2
  69. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +0 -2
  70. data/test/fixtures/rails_app/app/controllers/admin/birds_controller.rb +0 -2
  71. data/test/fixtures/rails_app/app/controllers/admin/cases_controller.rb +0 -2
  72. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +0 -5
  73. data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +0 -2
  74. data/test/fixtures/rails_app/app/controllers/admin/dogs_controller.rb +0 -2
  75. data/test/fixtures/rails_app/app/controllers/admin/entries_controller.rb +0 -2
  76. data/test/fixtures/rails_app/app/controllers/admin/entry_bulks_controller.rb +0 -5
  77. data/test/fixtures/rails_app/app/controllers/admin/entry_trashes_controller.rb +0 -5
  78. data/test/fixtures/rails_app/app/controllers/admin/hits_controller.rb +0 -37
  79. data/test/fixtures/rails_app/app/controllers/admin/image_holders_controller.rb +0 -2
  80. data/test/fixtures/rails_app/app/controllers/admin/invoices_controller.rb +0 -2
  81. data/test/fixtures/rails_app/app/controllers/admin/orders_controller.rb +0 -2
  82. data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +0 -7
  83. data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +0 -2
  84. data/test/fixtures/rails_app/app/controllers/admin/project_collaborators_controller.rb +0 -2
  85. data/test/fixtures/rails_app/app/controllers/admin/projects_controller.rb +0 -2
  86. data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +0 -2
  87. data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +0 -2
  88. data/test/fixtures/rails_app/app/controllers/admin/users_controller.rb +0 -2
  89. data/test/fixtures/rails_app/app/controllers/admin/views_controller.rb +0 -8
  90. data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +0 -2
  91. data/test/fixtures/rails_app/app/controllers/application_controller.rb +0 -3
  92. data/test/fixtures/rails_app/app/helpers/application_helper.rb +0 -2
  93. data/test/fixtures/rails_app/app/helpers/form_helper.rb +0 -3
  94. data/test/fixtures/rails_app/app/models/admin_user.rb +0 -7
  95. data/test/fixtures/rails_app/app/models/animal.rb +0 -21
  96. data/test/fixtures/rails_app/app/models/article.rb +0 -10
  97. data/test/fixtures/rails_app/app/models/article/entry.rb +0 -2
  98. data/test/fixtures/rails_app/app/models/asset.rb +0 -45
  99. data/test/fixtures/rails_app/app/models/bird.rb +0 -2
  100. data/test/fixtures/rails_app/app/models/case.rb +0 -2
  101. data/test/fixtures/rails_app/app/models/category.rb +0 -31
  102. data/test/fixtures/rails_app/app/models/comment.rb +0 -17
  103. data/test/fixtures/rails_app/app/models/delayed/task.rb +0 -5
  104. data/test/fixtures/rails_app/app/models/dog.rb +0 -2
  105. data/test/fixtures/rails_app/app/models/entry.rb +0 -36
  106. data/test/fixtures/rails_app/app/models/entry_bulk.rb +0 -2
  107. data/test/fixtures/rails_app/app/models/entry_trash.rb +0 -2
  108. data/test/fixtures/rails_app/app/models/hit.rb +0 -27
  109. data/test/fixtures/rails_app/app/models/image_holder.rb +0 -21
  110. data/test/fixtures/rails_app/app/models/invoice.rb +0 -10
  111. data/test/fixtures/rails_app/app/models/order.rb +0 -9
  112. data/test/fixtures/rails_app/app/models/page.rb +0 -24
  113. data/test/fixtures/rails_app/app/models/post.rb +0 -40
  114. data/test/fixtures/rails_app/app/models/project.rb +0 -17
  115. data/test/fixtures/rails_app/app/models/project_collaborator.rb +0 -16
  116. data/test/fixtures/rails_app/app/models/site.rb +0 -16
  117. data/test/fixtures/rails_app/app/models/typus_user.rb +0 -15
  118. data/test/fixtures/rails_app/app/models/user.rb +0 -16
  119. data/test/fixtures/rails_app/app/models/view.rb +0 -19
  120. data/test/fixtures/rails_app/app/views/admin/article/entries/_index.html.erb +0 -3
  121. data/test/fixtures/rails_app/app/views/admin/assets/_edit.html.erb +0 -26
  122. data/test/fixtures/rails_app/app/views/admin/assets/_index.html.erb +0 -3
  123. data/test/fixtures/rails_app/app/views/admin/cases/_index.html.erb +0 -3
  124. data/test/fixtures/rails_app/app/views/admin/categories/_index.html.erb +0 -3
  125. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +0 -11
  126. data/test/fixtures/rails_app/app/views/admin/entries/_index.html.erb +0 -3
  127. data/test/fixtures/rails_app/app/views/admin/entry_bulks/_index.html.erb +0 -3
  128. data/test/fixtures/rails_app/app/views/admin/entry_trashes/_index.html.erb +0 -3
  129. data/test/fixtures/rails_app/app/views/admin/hits/_edit.html.erb +0 -7
  130. data/test/fixtures/rails_app/app/views/admin/hits/_index.html.erb +0 -3
  131. data/test/fixtures/rails_app/app/views/admin/hits/index.html.erb +0 -28
  132. data/test/fixtures/rails_app/app/views/admin/pages/_index.html.erb +0 -3
  133. data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +0 -1
  134. data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +0 -5
  135. data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +0 -1
  136. data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +0 -1
  137. data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +0 -1
  138. data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +0 -9
  139. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +0 -6
  140. data/test/fixtures/rails_app/app/views/admin/watch_dog/index.html.erb +0 -9
  141. data/test/fixtures/rails_app/config.ru +0 -4
  142. data/test/fixtures/rails_app/config/application.rb +0 -55
  143. data/test/fixtures/rails_app/config/boot.rb +0 -6
  144. data/test/fixtures/rails_app/config/database.yml +0 -42
  145. data/test/fixtures/rails_app/config/deploy.rb +0 -36
  146. data/test/fixtures/rails_app/config/environment.rb +0 -5
  147. data/test/fixtures/rails_app/config/environments/development.rb +0 -38
  148. data/test/fixtures/rails_app/config/environments/production.rb +0 -57
  149. data/test/fixtures/rails_app/config/environments/test.rb +0 -44
  150. data/test/fixtures/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  151. data/test/fixtures/rails_app/config/initializers/dragonfly.rb +0 -1
  152. data/test/fixtures/rails_app/config/initializers/inflections.rb +0 -11
  153. data/test/fixtures/rails_app/config/initializers/mime_types.rb +0 -5
  154. data/test/fixtures/rails_app/config/initializers/secret_token.rb +0 -7
  155. data/test/fixtures/rails_app/config/initializers/session_store.rb +0 -8
  156. data/test/fixtures/rails_app/config/initializers/wrap_parameters.rb +0 -12
  157. data/test/fixtures/rails_app/config/locales/en.yml +0 -5
  158. data/test/fixtures/rails_app/config/mongoid.yml +0 -20
  159. data/test/fixtures/rails_app/config/routes.rb +0 -61
  160. data/test/fixtures/rails_app/config/typus/README +0 -67
  161. data/test/fixtures/rails_app/config/typus/admin.yml +0 -16
  162. data/test/fixtures/rails_app/config/typus/admin_roles.yml +0 -3
  163. data/test/fixtures/rails_app/config/typus/crud_basic.yml +0 -10
  164. data/test/fixtures/rails_app/config/typus/crud_basic_roles.yml +0 -2
  165. data/test/fixtures/rails_app/config/typus/crud_extended.yml +0 -78
  166. data/test/fixtures/rails_app/config/typus/crud_extended_roles.yml +0 -17
  167. data/test/fixtures/rails_app/config/typus/extensions.yml +0 -29
  168. data/test/fixtures/rails_app/config/typus/extensions_roles.yml +0 -4
  169. data/test/fixtures/rails_app/config/typus/has_many.yml +0 -0
  170. data/test/fixtures/rails_app/config/typus/has_many_roles.yml +0 -0
  171. data/test/fixtures/rails_app/config/typus/has_many_through.yml +0 -23
  172. data/test/fixtures/rails_app/config/typus/has_many_through_roles.yml +0 -4
  173. data/test/fixtures/rails_app/config/typus/has_one.yml +0 -12
  174. data/test/fixtures/rails_app/config/typus/has_one_roles.yml +0 -3
  175. data/test/fixtures/rails_app/config/typus/mongo_db.yml +0 -4
  176. data/test/fixtures/rails_app/config/typus/mongo_db_roles.yml +0 -2
  177. data/test/fixtures/rails_app/config/typus/polymorphic.yml +0 -17
  178. data/test/fixtures/rails_app/config/typus/polymorphic_roles.yml +0 -5
  179. data/test/fixtures/rails_app/config/typus/resource_roles.yml +0 -7
  180. data/test/fixtures/rails_app/config/typus/unknown.yml +0 -3
  181. data/test/fixtures/rails_app/config/typus/unknown_roles.yml +0 -5
  182. data/test/fixtures/rails_app/db/.gitkeep +0 -0
  183. data/test/fixtures/rails_app/db/schema.rb +0 -210
  184. data/test/fixtures/rails_app/db/seeds.rb +0 -58
  185. data/test/fixtures/rails_app/db/seeds/assets/000.jpg +0 -0
  186. data/test/fixtures/rails_app/db/seeds/assets/001.jpg +0 -0
  187. data/test/fixtures/rails_app/db/seeds/assets/002.jpg +0 -0
  188. data/test/fixtures/rails_app/db/seeds/assets/003.jpg +0 -0
  189. data/test/fixtures/rails_app/db/seeds/assets/004.jpg +0 -0
  190. data/test/fixtures/rails_app/public/404.html +0 -26
  191. data/test/fixtures/rails_app/public/422.html +0 -26
  192. data/test/fixtures/rails_app/public/500.html +0 -26
  193. data/test/fixtures/rails_app/public/favicon.ico +0 -0
  194. data/test/fixtures/rails_app/public/images/rails.png +0 -0
  195. data/test/fixtures/rails_app/public/robots.txt +0 -5
  196. data/test/fixtures/rails_app/public/stylesheets/.gitkeep +0 -0
  197. data/test/fixtures/rails_app/public/vendor/ckeditor/.htaccess +0 -24
  198. data/test/fixtures/rails_app/public/vendor/ckeditor/CHANGES.html +0 -1295
  199. data/test/fixtures/rails_app/public/vendor/ckeditor/INSTALL.html +0 -92
  200. data/test/fixtures/rails_app/public/vendor/ckeditor/LICENSE.html +0 -1334
  201. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/application.xml +0 -32
  202. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/run.bat +0 -9
  203. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/run.sh +0 -8
  204. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/sample.html +0 -45
  205. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ajax.html +0 -98
  206. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api.html +0 -192
  207. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api_dialog.html +0 -198
  208. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api_dialog/my_dialog.js +0 -28
  209. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/advanced.asp +0 -105
  210. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/events.asp +0 -136
  211. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/index.html +0 -103
  212. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/replace.asp +0 -72
  213. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/replaceall.asp +0 -77
  214. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/sample_posteddata.asp +0 -46
  215. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/standalone.asp +0 -72
  216. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/_posteddata.php +0 -59
  217. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  218. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  219. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_xhtml.css +0 -204
  220. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/parsesample.css +0 -70
  221. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/swfobject.js +0 -18
  222. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/autogrow.html +0 -103
  223. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/bbcode.html +0 -136
  224. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/devtools.html +0 -94
  225. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/divreplace.html +0 -154
  226. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/enterkey.html +0 -115
  227. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/fullpage.html +0 -82
  228. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/index.html +0 -116
  229. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/jqueryadapter.html +0 -99
  230. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_for_flash.html +0 -275
  231. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_html.html +0 -285
  232. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_xhtml.html +0 -181
  233. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/advanced.php +0 -120
  234. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/events.php +0 -153
  235. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/index.html +0 -47
  236. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/replace.php +0 -87
  237. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/replaceall.php +0 -88
  238. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/standalone.php +0 -83
  239. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/placeholder.html +0 -81
  240. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/readonly.html +0 -91
  241. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/replacebyclass.html +0 -64
  242. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/replacebycode.html +0 -97
  243. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample.css +0 -163
  244. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample.js +0 -65
  245. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample_posteddata.php +0 -21
  246. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sharedspaces.html +0 -153
  247. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/skins.html +0 -110
  248. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/stylesheetparser.html +0 -93
  249. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/tableresize.html +0 -115
  250. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ui_color.html +0 -129
  251. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ui_languages.html +0 -134
  252. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/adapters/jquery.js +0 -306
  253. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/_bootstrap.js +0 -87
  254. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor.js +0 -141
  255. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor_base.js +0 -227
  256. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor_basic.js +0 -238
  257. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/command.js +0 -209
  258. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/commanddefinition.js +0 -129
  259. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/config.js +0 -431
  260. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dataprocessor.js +0 -65
  261. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom.js +0 -20
  262. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/comment.js +0 -32
  263. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/document.js +0 -251
  264. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/documentfragment.js +0 -49
  265. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/domobject.js +0 -258
  266. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/element.js +0 -1663
  267. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/elementpath.js +0 -119
  268. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/event.js +0 -142
  269. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/node.js +0 -690
  270. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/nodelist.js +0 -26
  271. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/range.js +0 -2032
  272. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/rangelist.js +0 -213
  273. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/text.js +0 -128
  274. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/walker.js +0 -462
  275. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/window.js +0 -96
  276. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dtd.js +0 -237
  277. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/editor.js +0 -1041
  278. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/editor_basic.js +0 -186
  279. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/env.js +0 -282
  280. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/event.js +0 -342
  281. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/eventInfo.js +0 -120
  282. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/focusmanager.js +0 -152
  283. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser.js +0 -224
  284. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/basicwriter.js +0 -145
  285. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/cdata.js +0 -43
  286. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/comment.js +0 -60
  287. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/element.js +0 -249
  288. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/filter.js +0 -288
  289. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/fragment.js +0 -492
  290. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/text.js +0 -55
  291. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/lang.js +0 -157
  292. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/loader.js +0 -240
  293. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/plugindefinition.js +0 -83
  294. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/plugins.js +0 -103
  295. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/resourcemanager.js +0 -238
  296. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/scriptloader.js +0 -180
  297. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/skins.js +0 -184
  298. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/themes.js +0 -19
  299. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/tools.js +0 -734
  300. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ui.js +0 -128
  301. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/_languages.js +0 -84
  302. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/_translationstatus.txt +0 -61
  303. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/af.js +0 -810
  304. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ar.js +0 -810
  305. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bg.js +0 -810
  306. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bn.js +0 -810
  307. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bs.js +0 -810
  308. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ca.js +0 -810
  309. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/cs.js +0 -810
  310. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/cy.js +0 -810
  311. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/da.js +0 -810
  312. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/de.js +0 -810
  313. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/el.js +0 -810
  314. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-au.js +0 -810
  315. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-ca.js +0 -810
  316. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-gb.js +0 -810
  317. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en.js +0 -810
  318. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/eo.js +0 -810
  319. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/es.js +0 -810
  320. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/et.js +0 -810
  321. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/eu.js +0 -810
  322. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fa.js +0 -810
  323. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fi.js +0 -810
  324. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fo.js +0 -810
  325. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fr-ca.js +0 -810
  326. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fr.js +0 -810
  327. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/gl.js +0 -810
  328. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/gu.js +0 -810
  329. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/he.js +0 -810
  330. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hi.js +0 -810
  331. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hr.js +0 -810
  332. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hu.js +0 -810
  333. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/is.js +0 -810
  334. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/it.js +0 -810
  335. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ja.js +0 -810
  336. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ka.js +0 -810
  337. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/km.js +0 -810
  338. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ko.js +0 -810
  339. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/lt.js +0 -810
  340. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/lv.js +0 -810
  341. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/mn.js +0 -810
  342. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ms.js +0 -810
  343. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/nb.js +0 -810
  344. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/nl.js +0 -810
  345. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/no.js +0 -810
  346. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pl.js +0 -810
  347. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pt-br.js +0 -809
  348. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pt.js +0 -810
  349. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ro.js +0 -810
  350. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ru.js +0 -810
  351. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sk.js +0 -810
  352. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sl.js +0 -810
  353. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sr-latn.js +0 -810
  354. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sr.js +0 -810
  355. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sv.js +0 -809
  356. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/th.js +0 -810
  357. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/tr.js +0 -809
  358. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/uk.js +0 -810
  359. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/vi.js +0 -810
  360. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/zh-cn.js +0 -810
  361. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/zh.js +0 -810
  362. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -222
  363. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -108
  364. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -216
  365. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -47
  366. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/dialogs/about.js +0 -76
  367. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  368. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/plugin.js +0 -24
  369. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/adobeair/plugin.js +0 -228
  370. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/ajax/plugin.js +0 -152
  371. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/autogrow/plugin.js +0 -88
  372. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/basicstyles/plugin.js +0 -101
  373. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/bbcode/plugin.js +0 -924
  374. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/bidi/plugin.js +0 -331
  375. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/blockquote/plugin.js +0 -305
  376. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/button/plugin.js +0 -285
  377. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -223
  378. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/clipboard/plugin.js +0 -446
  379. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colorbutton/plugin.js +0 -295
  380. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -340
  381. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colordialog/plugin.js +0 -15
  382. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/contextmenu/plugin.js +0 -177
  383. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/devtools/lang/en.js +0 -16
  384. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/devtools/plugin.js +0 -173
  385. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -1099
  386. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialog/plugin.js +0 -3235
  387. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -205
  388. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialogui/plugin.js +0 -1537
  389. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/div/dialogs/div.js +0 -535
  390. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/div/plugin.js +0 -121
  391. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +0 -686
  392. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/docprops/plugin.js +0 -22
  393. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/domiterator/plugin.js +0 -361
  394. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/editingblock/plugin.js +0 -269
  395. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/elementspath/plugin.js +0 -218
  396. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/enterkey/plugin.js +0 -399
  397. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/entities/plugin.js +0 -250
  398. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -126
  399. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/filebrowser/plugin.js +0 -524
  400. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/find/dialogs/find.js +0 -895
  401. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/find/plugin.js +0 -47
  402. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  403. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  404. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/plugin.js +0 -168
  405. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/floatpanel/plugin.js +0 -405
  406. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/font/plugin.js +0 -234
  407. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/format/plugin.js +0 -197
  408. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/button.js +0 -118
  409. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  410. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  411. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -100
  412. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  413. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/select.js +0 -562
  414. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  415. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  416. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  417. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/plugin.js +0 -288
  418. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -36
  419. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -595
  420. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -319
  421. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +0 -257
  422. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  423. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/plugin.js +0 -106
  424. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframedialog/plugin.js +0 -188
  425. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/image/dialogs/image.js +0 -1403
  426. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/image/plugin.js +0 -81
  427. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/indent/plugin.js +0 -461
  428. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/justify/plugin.js +0 -253
  429. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/keystrokes/plugin.js +0 -225
  430. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -144
  431. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/dialogs/link.js +0 -1400
  432. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  433. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/plugin.js +0 -336
  434. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/list/plugin.js +0 -727
  435. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  436. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -204
  437. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/liststyle/plugin.js +0 -66
  438. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/maximize/plugin.js +0 -352
  439. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/menu/plugin.js +0 -505
  440. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/menubutton/plugin.js +0 -98
  441. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/newpage/plugin.js +0 -54
  442. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  443. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pagebreak/plugin.js +0 -164
  444. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/panel/plugin.js +0 -402
  445. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/panelbutton/plugin.js +0 -146
  446. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1376
  447. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastefromword/plugin.js +0 -141
  448. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -67
  449. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastetext/plugin.js +0 -98
  450. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +0 -71
  451. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/lang/en.js +0 -16
  452. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/lang/he.js +0 -16
  453. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  454. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/plugin.js +0 -171
  455. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/popup/plugin.js +0 -64
  456. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/preview/plugin.js +0 -109
  457. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/print/plugin.js +0 -42
  458. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/removeformat/plugin.js +0 -185
  459. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/resize/plugin.js +0 -168
  460. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/richcombo/plugin.js +0 -378
  461. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/save/plugin.js +0 -56
  462. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -537
  463. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -71
  464. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/plugin.js +0 -964
  465. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/selection/plugin.js +0 -1563
  466. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  467. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  468. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  469. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  470. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  471. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  472. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  473. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  474. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  475. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  476. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  477. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/plugin.js +0 -160
  478. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showborders/plugin.js +0 -207
  479. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -224
  480. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  481. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  482. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  483. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  484. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  485. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  486. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  487. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  488. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  489. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  490. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  491. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  492. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  493. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  494. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  495. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  496. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  497. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  498. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  499. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  500. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  501. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/plugin.js +0 -94
  502. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/sourcearea/plugin.js +0 -209
  503. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -350
  504. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/lang/en.js +0 -89
  505. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/plugin.js +0 -70
  506. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/styles/plugin.js +0 -1678
  507. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/styles/styles/default.js +0 -88
  508. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/stylescombo/plugin.js +0 -219
  509. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/stylesheetparser/plugin.js +0 -143
  510. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tab/plugin.js +0 -367
  511. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  512. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/table/plugin.js +0 -78
  513. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  514. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -525
  515. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tabletools/plugin.js +0 -1191
  516. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -234
  517. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/plugin.js +0 -99
  518. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/default.js +0 -94
  519. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  520. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  521. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  522. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/toolbar/plugin.js +0 -545
  523. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -205
  524. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/lang/en.js +0 -15
  525. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/lang/he.js +0 -15
  526. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/plugin.js +0 -37
  527. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  528. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  529. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  530. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  531. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  532. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -15
  533. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -71
  534. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/undo/plugin.js +0 -580
  535. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -49
  536. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  537. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -82
  538. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -192
  539. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  540. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1351
  541. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/xml/plugin.js +0 -170
  542. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/dialog.css +0 -920
  543. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/editor.css +0 -25
  544. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/elementspath.css +0 -73
  545. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons.css +0 -366
  546. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons.png +0 -0
  547. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  548. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  549. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  550. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  551. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  552. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  553. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  554. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  555. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  556. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/mainui.css +0 -203
  557. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/menu.css +0 -232
  558. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/panel.css +0 -217
  559. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/presets.css +0 -49
  560. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/reset.css +0 -84
  561. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/richcombo.css +0 -287
  562. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/skin.js +0 -236
  563. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/templates.css +0 -88
  564. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/toolbar.css +0 -407
  565. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/dialog.css +0 -826
  566. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/editor.css +0 -25
  567. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/elementspath.css +0 -74
  568. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons.css +0 -363
  569. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons.png +0 -0
  570. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  571. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  572. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  573. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  574. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  575. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  576. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  577. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  578. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/mainui.css +0 -153
  579. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/menu.css +0 -229
  580. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/panel.css +0 -212
  581. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/presets.css +0 -49
  582. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/reset.css +0 -84
  583. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/richcombo.css +0 -309
  584. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/skin.js +0 -74
  585. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/templates.css +0 -87
  586. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/toolbar.css +0 -522
  587. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/dialog.css +0 -842
  588. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/editor.css +0 -25
  589. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/elementspath.css +0 -74
  590. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons.css +0 -363
  591. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons.png +0 -0
  592. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  593. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  594. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  595. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  596. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  597. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  598. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  599. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  600. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  601. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/mainui.css +0 -162
  602. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/menu.css +0 -232
  603. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/panel.css +0 -212
  604. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/presets.css +0 -50
  605. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/reset.css +0 -84
  606. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/richcombo.css +0 -302
  607. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/skin.js +0 -70
  608. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/templates.css +0 -87
  609. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/toolbar.css +0 -465
  610. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/themes/default/theme.js +0 -394
  611. data/test/fixtures/rails_app/public/vendor/ckeditor/adapters/jquery.js +0 -6
  612. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.asp +0 -955
  613. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.js +0 -145
  614. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.pack +0 -211
  615. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.php +0 -29
  616. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_basic.js +0 -8
  617. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_basic_source.js +0 -20
  618. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_php4.php +0 -566
  619. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_php5.php +0 -556
  620. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_source.js +0 -25
  621. data/test/fixtures/rails_app/public/vendor/ckeditor/config.js +0 -11
  622. data/test/fixtures/rails_app/public/vendor/ckeditor/contents.css +0 -23
  623. data/test/fixtures/rails_app/public/vendor/ckeditor/images/spacer.gif +0 -0
  624. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/_languages.js +0 -6
  625. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/_translationstatus.txt +0 -61
  626. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/af.js +0 -6
  627. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ar.js +0 -6
  628. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bg.js +0 -6
  629. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bn.js +0 -6
  630. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bs.js +0 -6
  631. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ca.js +0 -6
  632. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/cs.js +0 -6
  633. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/cy.js +0 -6
  634. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/da.js +0 -6
  635. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/de.js +0 -6
  636. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/el.js +0 -6
  637. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-au.js +0 -6
  638. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-ca.js +0 -6
  639. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-gb.js +0 -6
  640. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en.js +0 -6
  641. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/eo.js +0 -6
  642. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/es.js +0 -6
  643. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/et.js +0 -6
  644. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/eu.js +0 -6
  645. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fa.js +0 -6
  646. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fi.js +0 -6
  647. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fo.js +0 -6
  648. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fr-ca.js +0 -6
  649. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fr.js +0 -6
  650. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/gl.js +0 -6
  651. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/gu.js +0 -6
  652. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/he.js +0 -6
  653. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hi.js +0 -6
  654. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hr.js +0 -6
  655. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hu.js +0 -6
  656. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/is.js +0 -6
  657. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/it.js +0 -6
  658. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ja.js +0 -6
  659. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ka.js +0 -6
  660. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/km.js +0 -6
  661. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ko.js +0 -6
  662. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/lt.js +0 -6
  663. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/lv.js +0 -6
  664. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/mn.js +0 -6
  665. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ms.js +0 -6
  666. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/nb.js +0 -6
  667. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/nl.js +0 -6
  668. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/no.js +0 -6
  669. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pl.js +0 -6
  670. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pt-br.js +0 -6
  671. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pt.js +0 -6
  672. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ro.js +0 -6
  673. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ru.js +0 -6
  674. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sk.js +0 -6
  675. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sl.js +0 -6
  676. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sr-latn.js +0 -6
  677. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sr.js +0 -6
  678. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sv.js +0 -6
  679. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/th.js +0 -6
  680. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/tr.js +0 -6
  681. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/uk.js +0 -6
  682. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/vi.js +0 -6
  683. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/zh-cn.js +0 -6
  684. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/zh.js +0 -6
  685. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -7
  686. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  687. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  688. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/about/dialogs/about.js +0 -6
  689. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  690. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/adobeair/plugin.js +0 -6
  691. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/ajax/plugin.js +0 -6
  692. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/autogrow/plugin.js +0 -6
  693. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/bbcode/plugin.js +0 -9
  694. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  695. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  696. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/devtools/lang/en.js +0 -6
  697. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/devtools/plugin.js +0 -6
  698. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  699. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/div/dialogs/div.js +0 -8
  700. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/docprops/dialogs/docprops.js +0 -10
  701. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/docprops/plugin.js +0 -6
  702. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/find/dialogs/find.js +0 -9
  703. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  704. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/flash/images/placeholder.png +0 -0
  705. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/button.js +0 -6
  706. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  707. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/form.js +0 -6
  708. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  709. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  710. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/select.js +0 -9
  711. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  712. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/textfield.js +0 -6
  713. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  714. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframe/dialogs/iframe.js +0 -7
  715. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  716. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframedialog/plugin.js +0 -6
  717. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/image/dialogs/image.js +0 -13
  718. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  719. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/dialogs/link.js +0 -11
  720. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/images/anchor.gif +0 -0
  721. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -6
  722. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  723. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pastefromword/filter/default.js +0 -11
  724. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  725. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/dialogs/placeholder.js +0 -6
  726. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/lang/en.js +0 -6
  727. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/lang/he.js +0 -6
  728. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  729. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/plugin.js +0 -6
  730. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  731. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -6
  732. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  733. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  734. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  735. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  736. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  737. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  738. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  739. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  740. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  741. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  742. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  743. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  744. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  745. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  746. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  747. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  748. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  749. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  750. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  751. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  752. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/heart.gif +0 -0
  753. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  754. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  755. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  756. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  757. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  758. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  759. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  760. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  761. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  762. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  763. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  764. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  765. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  766. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/specialchar/lang/en.js +0 -6
  767. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/styles/styles/default.js +0 -6
  768. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/stylesheetparser/plugin.js +0 -6
  769. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/table/dialogs/table.js +0 -9
  770. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/tableresize/plugin.js +0 -7
  771. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  772. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/dialogs/templates.js +0 -7
  773. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/default.js +0 -6
  774. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  775. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  776. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  777. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  778. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/lang/en.js +0 -6
  779. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/lang/he.js +0 -6
  780. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/plugin.js +0 -6
  781. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  782. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  783. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  784. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  785. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  786. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  787. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  788. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  789. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  790. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/wsc.css +0 -6
  791. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  792. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/xml/plugin.js +0 -6
  793. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/dialog.css +0 -9
  794. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/editor.css +0 -13
  795. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/icons.png +0 -0
  796. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/icons_rtl.png +0 -0
  797. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  798. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  799. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  800. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/mini.gif +0 -0
  801. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/noimage.png +0 -0
  802. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/sprites.png +0 -0
  803. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  804. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  805. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/skin.js +0 -7
  806. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/templates.css +0 -6
  807. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/dialog.css +0 -9
  808. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/editor.css +0 -14
  809. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/icons.png +0 -0
  810. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/icons_rtl.png +0 -0
  811. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  812. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  813. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  814. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/mini.gif +0 -0
  815. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/noimage.png +0 -0
  816. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/sprites.png +0 -0
  817. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  818. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/skin.js +0 -6
  819. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/templates.css +0 -6
  820. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/dialog.css +0 -9
  821. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/editor.css +0 -13
  822. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/icons.png +0 -0
  823. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/icons_rtl.png +0 -0
  824. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  825. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  826. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  827. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/mini.gif +0 -0
  828. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/noimage.png +0 -0
  829. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/sprites.png +0 -0
  830. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  831. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  832. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/skin.js +0 -6
  833. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/templates.css +0 -6
  834. data/test/fixtures/rails_app/public/vendor/ckeditor/themes/default/theme.js +0 -8
  835. data/test/fixtures/rails_app/script/rails +0 -6
  836. data/test/lib/support/active_record_test.rb +0 -77
  837. data/test/lib/support/fake_user_test.rb +0 -63
  838. data/test/lib/support/hash_test.rb +0 -25
  839. data/test/lib/support/object_test.rb +0 -10
  840. data/test/lib/support/string_test.rb +0 -80
  841. data/test/lib/typus/configuration_test.rb +0 -48
  842. data/test/lib/typus/controller/actions_test.rb +0 -141
  843. data/test/lib/typus/controller/associations_test.rb +0 -7
  844. data/test/lib/typus/controller/autocomplete_test.rb +0 -7
  845. data/test/lib/typus/controller/filters_test.rb +0 -73
  846. data/test/lib/typus/controller/format_test.rb +0 -7
  847. data/test/lib/typus/i18n_test.rb +0 -13
  848. data/test/lib/typus/orm/active_record/class_methods_test.rb +0 -298
  849. data/test/lib/typus/orm/active_record/search_test.rb +0 -328
  850. data/test/lib/typus/regex_test.rb +0 -62
  851. data/test/lib/typus/resources_test.rb +0 -37
  852. data/test/lib/typus_test.rb +0 -133
  853. data/test/test_helper.rb +0 -46
@@ -1,1563 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- (function()
7
- {
8
- // #### checkSelectionChange : START
9
-
10
- // The selection change check basically saves the element parent tree of
11
- // the current node and check it on successive requests. If there is any
12
- // change on the tree, then the selectionChange event gets fired.
13
- function checkSelectionChange()
14
- {
15
- try
16
- {
17
- // In IE, the "selectionchange" event may still get thrown when
18
- // releasing the WYSIWYG mode, so we need to check it first.
19
- var sel = this.getSelection();
20
- if ( !sel || !sel.document.getWindow().$ )
21
- return;
22
-
23
- var firstElement = sel.getStartElement();
24
- var currentPath = new CKEDITOR.dom.elementPath( firstElement );
25
-
26
- if ( !currentPath.compare( this._.selectionPreviousPath ) )
27
- {
28
- this._.selectionPreviousPath = currentPath;
29
- this.fire( 'selectionChange', { selection : sel, path : currentPath, element : firstElement } );
30
- }
31
- }
32
- catch (e)
33
- {}
34
- }
35
-
36
- var checkSelectionChangeTimer,
37
- checkSelectionChangeTimeoutPending;
38
-
39
- function checkSelectionChangeTimeout()
40
- {
41
- // Firing the "OnSelectionChange" event on every key press started to
42
- // be too slow. This function guarantees that there will be at least
43
- // 200ms delay between selection checks.
44
-
45
- checkSelectionChangeTimeoutPending = true;
46
-
47
- if ( checkSelectionChangeTimer )
48
- return;
49
-
50
- checkSelectionChangeTimeoutExec.call( this );
51
-
52
- checkSelectionChangeTimer = CKEDITOR.tools.setTimeout( checkSelectionChangeTimeoutExec, 200, this );
53
- }
54
-
55
- function checkSelectionChangeTimeoutExec()
56
- {
57
- checkSelectionChangeTimer = null;
58
-
59
- if ( checkSelectionChangeTimeoutPending )
60
- {
61
- // Call this with a timeout so the browser properly moves the
62
- // selection after the mouseup. It happened that the selection was
63
- // being moved after the mouseup when clicking inside selected text
64
- // with Firefox.
65
- CKEDITOR.tools.setTimeout( checkSelectionChange, 0, this );
66
-
67
- checkSelectionChangeTimeoutPending = false;
68
- }
69
- }
70
-
71
- // #### checkSelectionChange : END
72
-
73
- function rangeRequiresFix( range )
74
- {
75
- function isInlineCt( node )
76
- {
77
- return node && node.type == CKEDITOR.NODE_ELEMENT
78
- && node.getName() in CKEDITOR.dtd.$removeEmpty;
79
- }
80
-
81
- var start = range.startContainer,
82
- offset = range.startOffset;
83
-
84
- if ( start.type == CKEDITOR.NODE_TEXT )
85
- return false;
86
-
87
- // 1. Empty inline element. <span>^</span>
88
- // 2. Adjoin to inline element. <p><strong>text</strong>^</p>
89
- return !CKEDITOR.tools.trim( start.getHtml() ) ? isInlineCt( start ) : isInlineCt( start.getChild( offset - 1 ) ) || isInlineCt( start.getChild( offset ) );
90
- }
91
-
92
- var selectAllCmd =
93
- {
94
- modes : { wysiwyg : 1, source : 1 },
95
- readOnly : CKEDITOR.env.ie || CKEDITOR.env.webkit,
96
- exec : function( editor )
97
- {
98
- switch ( editor.mode )
99
- {
100
- case 'wysiwyg' :
101
- editor.document.$.execCommand( 'SelectAll', false, null );
102
- // Force triggering selectionChange (#7008)
103
- editor.forceNextSelectionCheck();
104
- editor.selectionChange();
105
- break;
106
- case 'source' :
107
- // Select the contents of the textarea
108
- var textarea = editor.textarea.$;
109
- if ( CKEDITOR.env.ie )
110
- textarea.createTextRange().execCommand( 'SelectAll' );
111
- else
112
- {
113
- textarea.selectionStart = 0;
114
- textarea.selectionEnd = textarea.value.length;
115
- }
116
- textarea.focus();
117
- }
118
- },
119
- canUndo : false
120
- };
121
-
122
- function createFillingChar( doc )
123
- {
124
- removeFillingChar( doc );
125
-
126
- var fillingChar = doc.createText( '\u200B' );
127
- doc.setCustomData( 'cke-fillingChar', fillingChar );
128
-
129
- return fillingChar;
130
- }
131
-
132
- function getFillingChar( doc )
133
- {
134
- return doc && doc.getCustomData( 'cke-fillingChar' );
135
- }
136
-
137
- // Checks if a filling char has been used, eventualy removing it (#1272).
138
- function checkFillingChar( doc )
139
- {
140
- var fillingChar = doc && getFillingChar( doc );
141
- if ( fillingChar )
142
- {
143
- // Use this flag to avoid removing the filling char right after
144
- // creating it.
145
- if ( fillingChar.getCustomData( 'ready' ) )
146
- removeFillingChar( doc );
147
- else
148
- fillingChar.setCustomData( 'ready', 1 );
149
- }
150
- }
151
-
152
- function removeFillingChar( doc )
153
- {
154
- var fillingChar = doc && doc.removeCustomData( 'cke-fillingChar' );
155
- if ( fillingChar )
156
- {
157
- // We can't simply remove the filling node because the user
158
- // will actually enlarge it when typing, so we just remove the
159
- // invisible char from it.
160
- fillingChar.setText( fillingChar.getText().replace( /\u200B/g, '' ) );
161
- fillingChar = 0;
162
- }
163
- }
164
-
165
- CKEDITOR.plugins.add( 'selection',
166
- {
167
- init : function( editor )
168
- {
169
- // On WebKit only, we need a special "filling" char on some situations
170
- // (#1272). Here we set the events that should invalidate that char.
171
- if ( CKEDITOR.env.webkit )
172
- {
173
- editor.on( 'selectionChange', function() { checkFillingChar( editor.document ); } );
174
- editor.on( 'beforeSetMode', function() { removeFillingChar( editor.document ); } );
175
- editor.on( 'key', function( e )
176
- {
177
- // Remove the filling char before some keys get
178
- // executed, so they'll not get blocked by it.
179
- switch ( e.data.keyCode )
180
- {
181
- case 13 : // ENTER
182
- case CKEDITOR.SHIFT + 13 : // SHIFT-ENTER
183
- case 37 : // LEFT-ARROW
184
- case 39 : // RIGHT-ARROW
185
- case 8 : // BACKSPACE
186
- removeFillingChar( editor.document );
187
- }
188
- }, null, null, 10 );
189
-
190
- var fillingCharBefore,
191
- resetSelection;
192
-
193
- function beforeData()
194
- {
195
- var doc = editor.document,
196
- fillingChar = getFillingChar( doc );
197
-
198
- if ( fillingChar )
199
- {
200
- // If cursor is right blinking by side of the filler node, save it for restoring,
201
- // as the following text substitution will blind it. (#7437)
202
- var sel = doc.$.defaultView.getSelection();
203
- if ( sel.type == 'Caret' && sel.anchorNode == fillingChar.$ )
204
- resetSelection = 1;
205
-
206
- fillingCharBefore = fillingChar.getText();
207
- fillingChar.setText( fillingCharBefore.replace( /\u200B/g, '' ) );
208
- }
209
- }
210
- function afterData()
211
- {
212
- var doc = editor.document,
213
- fillingChar = getFillingChar( doc );
214
-
215
- if ( fillingChar )
216
- {
217
- fillingChar.setText( fillingCharBefore );
218
-
219
- if ( resetSelection )
220
- {
221
- doc.$.defaultView.getSelection().setPosition( fillingChar.$,fillingChar.getLength() );
222
- resetSelection = 0;
223
- }
224
- }
225
- }
226
- editor.on( 'beforeUndoImage', beforeData );
227
- editor.on( 'afterUndoImage', afterData );
228
- editor.on( 'beforeGetData', beforeData, null, null, 0 );
229
- editor.on( 'getData', afterData );
230
- }
231
-
232
- editor.on( 'contentDom', function()
233
- {
234
- var doc = editor.document,
235
- body = doc.getBody(),
236
- html = doc.getDocumentElement();
237
-
238
- if ( CKEDITOR.env.ie )
239
- {
240
- // Other browsers don't loose the selection if the
241
- // editor document loose the focus. In IE, we don't
242
- // have support for it, so we reproduce it here, other
243
- // than firing the selection change event.
244
-
245
- var savedRange,
246
- saveEnabled,
247
- restoreEnabled = 1;
248
-
249
- // "onfocusin" is fired before "onfocus". It makes it
250
- // possible to restore the selection before click
251
- // events get executed.
252
- body.on( 'focusin', function( evt )
253
- {
254
- // If there are elements with layout they fire this event but
255
- // it must be ignored to allow edit its contents #4682
256
- if ( evt.data.$.srcElement.nodeName != 'BODY' )
257
- return;
258
-
259
- // If we have saved a range, restore it at this
260
- // point.
261
- if ( savedRange )
262
- {
263
- if ( restoreEnabled )
264
- {
265
- // Well not break because of this.
266
- try
267
- {
268
- savedRange.select();
269
- }
270
- catch (e)
271
- {}
272
-
273
- // Update locked selection because of the normalized text nodes. (#6083, #6987)
274
- var lockedSelection = doc.getCustomData( 'cke_locked_selection' );
275
- if ( lockedSelection )
276
- {
277
- lockedSelection.unlock();
278
- lockedSelection.lock();
279
- }
280
- }
281
-
282
- savedRange = null;
283
- }
284
- });
285
-
286
- body.on( 'focus', function()
287
- {
288
- // Enable selections to be saved.
289
- saveEnabled = 1;
290
-
291
- saveSelection();
292
- });
293
-
294
- body.on( 'beforedeactivate', function( evt )
295
- {
296
- // Ignore this event if it's caused by focus switch between
297
- // internal editable control type elements, e.g. layouted paragraph. (#4682)
298
- if ( evt.data.$.toElement )
299
- return;
300
-
301
- // Disable selections from being saved.
302
- saveEnabled = 0;
303
- restoreEnabled = 1;
304
- });
305
-
306
- // IE before version 8 will leave cursor blinking inside the document after
307
- // editor blurred unless we clean up the selection. (#4716)
308
- if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 )
309
- {
310
- editor.on( 'blur', function( evt )
311
- {
312
- // Try/Catch to avoid errors if the editor is hidden. (#6375)
313
- try
314
- {
315
- editor.document && editor.document.$.selection.empty();
316
- }
317
- catch (e) {}
318
- });
319
- }
320
-
321
- // Listening on document element ensures that
322
- // scrollbar is included. (#5280)
323
- html.on( 'mousedown', function()
324
- {
325
- // Lock restore selection now, as we have
326
- // a followed 'click' event which introduce
327
- // new selection. (#5735)
328
- restoreEnabled = 0;
329
- });
330
-
331
- html.on( 'mouseup', function()
332
- {
333
- restoreEnabled = 1;
334
- });
335
-
336
- // In IE6/7 the blinking cursor appears, but contents are
337
- // not editable. (#5634)
338
- if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.version < 8 || CKEDITOR.env.quirks ) )
339
- {
340
- // The 'click' event is not fired when clicking the
341
- // scrollbars, so we can use it to check whether
342
- // the empty space following <body> has been clicked.
343
- html.on( 'click', function( evt )
344
- {
345
- if ( evt.data.getTarget().getName() == 'html' )
346
- editor.getSelection().getRanges()[ 0 ].select();
347
- });
348
- }
349
-
350
- var scroll;
351
- // IE fires the "selectionchange" event when clicking
352
- // inside a selection. We don't want to capture that.
353
- body.on( 'mousedown', function( evt )
354
- {
355
- // IE scrolls document to top on right mousedown
356
- // when editor has no focus, remember this scroll
357
- // position and revert it before context menu opens. (#5778)
358
- if ( evt.data.$.button == 2 )
359
- {
360
- var sel = editor.document.$.selection;
361
- if ( sel.type == 'None' )
362
- scroll = editor.window.getScrollPosition();
363
- }
364
- disableSave();
365
- });
366
-
367
- body.on( 'mouseup',
368
- function( evt )
369
- {
370
- // Restore recorded scroll position when needed on right mouseup.
371
- if ( evt.data.$.button == 2 && scroll )
372
- {
373
- editor.document.$.documentElement.scrollLeft = scroll.x;
374
- editor.document.$.documentElement.scrollTop = scroll.y;
375
- }
376
- scroll = null;
377
-
378
- saveEnabled = 1;
379
- setTimeout( function()
380
- {
381
- saveSelection( true );
382
- },
383
- 0 );
384
- });
385
-
386
- body.on( 'keydown', disableSave );
387
- body.on( 'keyup',
388
- function()
389
- {
390
- saveEnabled = 1;
391
- saveSelection();
392
- });
393
-
394
-
395
- // IE is the only to provide the "selectionchange"
396
- // event.
397
- doc.on( 'selectionchange', saveSelection );
398
-
399
- function disableSave()
400
- {
401
- saveEnabled = 0;
402
- }
403
-
404
- function saveSelection( testIt )
405
- {
406
- if ( saveEnabled )
407
- {
408
- var doc = editor.document,
409
- sel = editor.getSelection(),
410
- nativeSel = sel && sel.getNative();
411
-
412
- // There is a very specific case, when clicking
413
- // inside a text selection. In that case, the
414
- // selection collapses at the clicking point,
415
- // but the selection object remains in an
416
- // unknown state, making createRange return a
417
- // range at the very start of the document. In
418
- // such situation we have to test the range, to
419
- // be sure it's valid.
420
- if ( testIt && nativeSel && nativeSel.type == 'None' )
421
- {
422
- // The "InsertImage" command can be used to
423
- // test whether the selection is good or not.
424
- // If not, it's enough to give some time to
425
- // IE to put things in order for us.
426
- if ( !doc.$.queryCommandEnabled( 'InsertImage' ) )
427
- {
428
- CKEDITOR.tools.setTimeout( saveSelection, 50, this, true );
429
- return;
430
- }
431
- }
432
-
433
- // Avoid saving selection from within text input. (#5747)
434
- var parentTag;
435
- if ( nativeSel && nativeSel.type && nativeSel.type != 'Control'
436
- && ( parentTag = nativeSel.createRange() )
437
- && ( parentTag = parentTag.parentElement() )
438
- && ( parentTag = parentTag.nodeName )
439
- && parentTag.toLowerCase() in { input: 1, textarea : 1 } )
440
- {
441
- return;
442
- }
443
-
444
- savedRange = nativeSel && sel.getRanges()[ 0 ];
445
-
446
- checkSelectionChangeTimeout.call( editor );
447
- }
448
- }
449
- }
450
- else
451
- {
452
- // In other browsers, we make the selection change
453
- // check based on other events, like clicks or keys
454
- // press.
455
-
456
- doc.on( 'mouseup', checkSelectionChangeTimeout, editor );
457
- doc.on( 'keyup', checkSelectionChangeTimeout, editor );
458
- }
459
- });
460
-
461
- // Clear the cached range path before unload. (#7174)
462
- editor.on( 'contentDomUnload', editor.forceNextSelectionCheck, editor );
463
-
464
- editor.addCommand( 'selectAll', selectAllCmd );
465
- editor.ui.addButton( 'SelectAll',
466
- {
467
- label : editor.lang.selectAll,
468
- command : 'selectAll'
469
- });
470
-
471
- editor.selectionChange = checkSelectionChangeTimeout;
472
- }
473
- });
474
-
475
- /**
476
- * Gets the current selection from the editing area when in WYSIWYG mode.
477
- * @returns {CKEDITOR.dom.selection} A selection object or null if not on
478
- * WYSIWYG mode or no selection is available.
479
- * @example
480
- * var selection = CKEDITOR.instances.editor1.<b>getSelection()</b>;
481
- * alert( selection.getType() );
482
- */
483
- CKEDITOR.editor.prototype.getSelection = function()
484
- {
485
- return this.document && this.document.getSelection();
486
- };
487
-
488
- CKEDITOR.editor.prototype.forceNextSelectionCheck = function()
489
- {
490
- delete this._.selectionPreviousPath;
491
- };
492
-
493
- /**
494
- * Gets the current selection from the document.
495
- * @returns {CKEDITOR.dom.selection} A selection object.
496
- * @example
497
- * var selection = CKEDITOR.instances.editor1.document.<b>getSelection()</b>;
498
- * alert( selection.getType() );
499
- */
500
- CKEDITOR.dom.document.prototype.getSelection = function()
501
- {
502
- var sel = new CKEDITOR.dom.selection( this );
503
- return ( !sel || sel.isInvalid ) ? null : sel;
504
- };
505
-
506
- /**
507
- * No selection.
508
- * @constant
509
- * @example
510
- * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_NONE )
511
- * alert( 'Nothing is selected' );
512
- */
513
- CKEDITOR.SELECTION_NONE = 1;
514
-
515
- /**
516
- * Text or collapsed selection.
517
- * @constant
518
- * @example
519
- * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_TEXT )
520
- * alert( 'Text is selected' );
521
- */
522
- CKEDITOR.SELECTION_TEXT = 2;
523
-
524
- /**
525
- * Element selection.
526
- * @constant
527
- * @example
528
- * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_ELEMENT )
529
- * alert( 'An element is selected' );
530
- */
531
- CKEDITOR.SELECTION_ELEMENT = 3;
532
-
533
- /**
534
- * Manipulates the selection in a DOM document.
535
- * @constructor
536
- * @example
537
- */
538
- CKEDITOR.dom.selection = function( document )
539
- {
540
- var lockedSelection = document.getCustomData( 'cke_locked_selection' );
541
-
542
- if ( lockedSelection )
543
- return lockedSelection;
544
-
545
- this.document = document;
546
- this.isLocked = 0;
547
- this._ =
548
- {
549
- cache : {}
550
- };
551
-
552
- /**
553
- * IE BUG: The selection's document may be a different document than the
554
- * editor document. Return null if that's the case.
555
- */
556
- if ( CKEDITOR.env.ie )
557
- {
558
- var range = this.getNative().createRange();
559
- if ( !range
560
- || ( range.item && range.item(0).ownerDocument != this.document.$ )
561
- || ( range.parentElement && range.parentElement().ownerDocument != this.document.$ ) )
562
- {
563
- this.isInvalid = true;
564
- }
565
- }
566
-
567
- return this;
568
- };
569
-
570
- var styleObjectElements =
571
- {
572
- img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,
573
- a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1
574
- };
575
-
576
- CKEDITOR.dom.selection.prototype =
577
- {
578
- /**
579
- * Gets the native selection object from the browser.
580
- * @function
581
- * @returns {Object} The native selection object.
582
- * @example
583
- * var selection = editor.getSelection().<b>getNative()</b>;
584
- */
585
- getNative :
586
- CKEDITOR.env.ie ?
587
- function()
588
- {
589
- return this._.cache.nativeSel || ( this._.cache.nativeSel = this.document.$.selection );
590
- }
591
- :
592
- function()
593
- {
594
- return this._.cache.nativeSel || ( this._.cache.nativeSel = this.document.getWindow().$.getSelection() );
595
- },
596
-
597
- /**
598
- * Gets the type of the current selection. The following values are
599
- * available:
600
- * <ul>
601
- * <li>{@link CKEDITOR.SELECTION_NONE} (1): No selection.</li>
602
- * <li>{@link CKEDITOR.SELECTION_TEXT} (2): Text is selected or
603
- * collapsed selection.</li>
604
- * <li>{@link CKEDITOR.SELECTION_ELEMENT} (3): A element
605
- * selection.</li>
606
- * </ul>
607
- * @function
608
- * @returns {Number} One of the following constant values:
609
- * {@link CKEDITOR.SELECTION_NONE}, {@link CKEDITOR.SELECTION_TEXT} or
610
- * {@link CKEDITOR.SELECTION_ELEMENT}.
611
- * @example
612
- * if ( editor.getSelection().<b>getType()</b> == CKEDITOR.SELECTION_TEXT )
613
- * alert( 'Text is selected' );
614
- */
615
- getType :
616
- CKEDITOR.env.ie ?
617
- function()
618
- {
619
- var cache = this._.cache;
620
- if ( cache.type )
621
- return cache.type;
622
-
623
- var type = CKEDITOR.SELECTION_NONE;
624
-
625
- try
626
- {
627
- var sel = this.getNative(),
628
- ieType = sel.type;
629
-
630
- if ( ieType == 'Text' )
631
- type = CKEDITOR.SELECTION_TEXT;
632
-
633
- if ( ieType == 'Control' )
634
- type = CKEDITOR.SELECTION_ELEMENT;
635
-
636
- // It is possible that we can still get a text range
637
- // object even when type == 'None' is returned by IE.
638
- // So we'd better check the object returned by
639
- // createRange() rather than by looking at the type.
640
- if ( sel.createRange().parentElement )
641
- type = CKEDITOR.SELECTION_TEXT;
642
- }
643
- catch(e) {}
644
-
645
- return ( cache.type = type );
646
- }
647
- :
648
- function()
649
- {
650
- var cache = this._.cache;
651
- if ( cache.type )
652
- return cache.type;
653
-
654
- var type = CKEDITOR.SELECTION_TEXT;
655
-
656
- var sel = this.getNative();
657
-
658
- if ( !sel )
659
- type = CKEDITOR.SELECTION_NONE;
660
- else if ( sel.rangeCount == 1 )
661
- {
662
- // Check if the actual selection is a control (IMG,
663
- // TABLE, HR, etc...).
664
-
665
- var range = sel.getRangeAt(0),
666
- startContainer = range.startContainer;
667
-
668
- if ( startContainer == range.endContainer
669
- && startContainer.nodeType == 1
670
- && ( range.endOffset - range.startOffset ) == 1
671
- && styleObjectElements[ startContainer.childNodes[ range.startOffset ].nodeName.toLowerCase() ] )
672
- {
673
- type = CKEDITOR.SELECTION_ELEMENT;
674
- }
675
- }
676
-
677
- return ( cache.type = type );
678
- },
679
-
680
- /**
681
- * Retrieve the {@link CKEDITOR.dom.range} instances that represent the current selection.
682
- * Note: Some browsers returns multiple ranges even on a sequent selection, e.g. Firefox returns
683
- * one range for each table cell when one or more table row is selected.
684
- * @return {Array}
685
- * @example
686
- * var ranges = selection.getRanges();
687
- * alert(ranges.length);
688
- */
689
- getRanges : (function()
690
- {
691
- var func = CKEDITOR.env.ie ?
692
- ( function()
693
- {
694
- function getNodeIndex( node ) { return new CKEDITOR.dom.node( node ).getIndex(); }
695
-
696
- // Finds the container and offset for a specific boundary
697
- // of an IE range.
698
- var getBoundaryInformation = function( range, start )
699
- {
700
- // Creates a collapsed range at the requested boundary.
701
- range = range.duplicate();
702
- range.collapse( start );
703
-
704
- // Gets the element that encloses the range entirely.
705
- var parent = range.parentElement(),
706
- doc = parent.ownerDocument;
707
-
708
- // Empty parent element, e.g. <i>^</i>
709
- if ( !parent.hasChildNodes() )
710
- return { container : parent, offset : 0 };
711
-
712
- var siblings = parent.children,
713
- child,
714
- sibling,
715
- testRange = range.duplicate(),
716
- startIndex = 0,
717
- endIndex = siblings.length - 1,
718
- index = -1,
719
- position,
720
- distance;
721
-
722
- // Binary search over all element childs to test the range to see whether
723
- // range is right on the boundary of one element.
724
- while ( startIndex <= endIndex )
725
- {
726
- index = Math.floor( ( startIndex + endIndex ) / 2 );
727
- child = siblings[ index ];
728
- testRange.moveToElementText( child );
729
- position = testRange.compareEndPoints( 'StartToStart', range );
730
-
731
- if ( position > 0 )
732
- endIndex = index - 1;
733
- else if ( position < 0 )
734
- startIndex = index + 1;
735
- else
736
- {
737
- // IE9 report wrong measurement with compareEndPoints when range anchors between two BRs.
738
- // e.g. <p>text<br />^<br /></p> (#7433)
739
- if ( CKEDITOR.env.ie9Compat && child.tagName == 'BR' )
740
- {
741
- var bmId = 'cke_range_marker';
742
- range.execCommand( 'CreateBookmark', false, bmId );
743
- child = doc.getElementsByName( bmId )[ 0 ];
744
- var offset = getNodeIndex( child );
745
- parent.removeChild( child );
746
- return { container : parent, offset : offset };
747
- }
748
- else
749
- return { container : parent, offset : getNodeIndex( child ) };
750
- }
751
- }
752
-
753
- // All childs are text nodes,
754
- // or to the right hand of test range are all text nodes. (#6992)
755
- if ( index == -1 || index == siblings.length - 1 && position < 0 )
756
- {
757
- // Adapt test range to embrace the entire parent contents.
758
- testRange.moveToElementText( parent );
759
- testRange.setEndPoint( 'StartToStart', range );
760
-
761
- // IE report line break as CRLF with range.text but
762
- // only LF with textnode.nodeValue, normalize them to avoid
763
- // breaking character counting logic below. (#3949)
764
- distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
765
-
766
- siblings = parent.childNodes;
767
-
768
- // Actual range anchor right beside test range at the boundary of text node.
769
- if ( !distance )
770
- {
771
- child = siblings[ siblings.length - 1 ];
772
-
773
- if ( child.nodeType == CKEDITOR.NODE_ELEMENT )
774
- return { container : parent, offset : siblings.length };
775
- else
776
- return { container : child, offset : child.nodeValue.length };
777
- }
778
-
779
- // Start the measuring until distance overflows, meanwhile count the text nodes.
780
- var i = siblings.length;
781
- while ( distance > 0 )
782
- distance -= siblings[ --i ].nodeValue.length;
783
-
784
- return { container : siblings[ i ], offset : -distance };
785
- }
786
- // Test range was one offset beyond OR behind the anchored text node.
787
- else
788
- {
789
- // Adapt one side of test range to the actual range
790
- // for measuring the offset between them.
791
- testRange.collapse( position > 0 ? true : false );
792
- testRange.setEndPoint( position > 0 ? 'StartToStart' : 'EndToStart', range );
793
-
794
- // IE report line break as CRLF with range.text but
795
- // only LF with textnode.nodeValue, normalize them to avoid
796
- // breaking character counting logic below. (#3949)
797
- distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
798
-
799
- // Actual range anchor right beside test range at the inner boundary of text node.
800
- if ( !distance )
801
- return { container : parent, offset : getNodeIndex( child ) + ( position > 0 ? 0 : 1 ) };
802
-
803
- // Start the measuring until distance overflows, meanwhile count the text nodes.
804
- while ( distance > 0 )
805
- {
806
- try
807
- {
808
- sibling = child[ position > 0 ? 'previousSibling' : 'nextSibling' ];
809
- distance -= sibling.nodeValue.length;
810
- child = sibling;
811
- }
812
- // Measurement in IE could be somtimes wrong because of <select> element. (#4611)
813
- catch( e )
814
- {
815
- return { container : parent, offset : getNodeIndex( child ) };
816
- }
817
- }
818
-
819
- return { container : child, offset : position > 0 ? -distance : child.nodeValue.length + distance };
820
- }
821
- };
822
-
823
- return function()
824
- {
825
- // IE doesn't have range support (in the W3C way), so we
826
- // need to do some magic to transform selections into
827
- // CKEDITOR.dom.range instances.
828
-
829
- var sel = this.getNative(),
830
- nativeRange = sel && sel.createRange(),
831
- type = this.getType(),
832
- range;
833
-
834
- if ( !sel )
835
- return [];
836
-
837
- if ( type == CKEDITOR.SELECTION_TEXT )
838
- {
839
- range = new CKEDITOR.dom.range( this.document );
840
-
841
- var boundaryInfo = getBoundaryInformation( nativeRange, true );
842
- range.setStart( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
843
-
844
- boundaryInfo = getBoundaryInformation( nativeRange );
845
- range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
846
-
847
- // Correct an invalid IE range case on empty list item. (#5850)
848
- if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING
849
- && range.endOffset <= range.startContainer.getIndex() )
850
- {
851
- range.collapse();
852
- }
853
-
854
- return [ range ];
855
- }
856
- else if ( type == CKEDITOR.SELECTION_ELEMENT )
857
- {
858
- var retval = [];
859
-
860
- for ( var i = 0 ; i < nativeRange.length ; i++ )
861
- {
862
- var element = nativeRange.item( i ),
863
- parentElement = element.parentNode,
864
- j = 0;
865
-
866
- range = new CKEDITOR.dom.range( this.document );
867
-
868
- for (; j < parentElement.childNodes.length && parentElement.childNodes[j] != element ; j++ )
869
- { /*jsl:pass*/ }
870
-
871
- range.setStart( new CKEDITOR.dom.node( parentElement ), j );
872
- range.setEnd( new CKEDITOR.dom.node( parentElement ), j + 1 );
873
- retval.push( range );
874
- }
875
-
876
- return retval;
877
- }
878
-
879
- return [];
880
- };
881
- })()
882
- :
883
- function()
884
- {
885
-
886
- // On browsers implementing the W3C range, we simply
887
- // tranform the native ranges in CKEDITOR.dom.range
888
- // instances.
889
-
890
- var ranges = [],
891
- range,
892
- doc = this.document,
893
- sel = this.getNative();
894
-
895
- if ( !sel )
896
- return ranges;
897
-
898
- // On WebKit, it may happen that we'll have no selection
899
- // available. We normalize it here by replicating the
900
- // behavior of other browsers.
901
- if ( !sel.rangeCount )
902
- {
903
- range = new CKEDITOR.dom.range( doc );
904
- range.moveToElementEditStart( doc.getBody() );
905
- ranges.push( range );
906
- }
907
-
908
- for ( var i = 0 ; i < sel.rangeCount ; i++ )
909
- {
910
- var nativeRange = sel.getRangeAt( i );
911
-
912
- range = new CKEDITOR.dom.range( doc );
913
-
914
- range.setStart( new CKEDITOR.dom.node( nativeRange.startContainer ), nativeRange.startOffset );
915
- range.setEnd( new CKEDITOR.dom.node( nativeRange.endContainer ), nativeRange.endOffset );
916
- ranges.push( range );
917
- }
918
- return ranges;
919
- };
920
-
921
- return function( onlyEditables )
922
- {
923
- var cache = this._.cache;
924
- if ( cache.ranges && !onlyEditables )
925
- return cache.ranges;
926
- else if ( !cache.ranges )
927
- cache.ranges = new CKEDITOR.dom.rangeList( func.call( this ) );
928
-
929
- // Split range into multiple by read-only nodes.
930
- if ( onlyEditables )
931
- {
932
- var ranges = cache.ranges;
933
- for ( var i = 0; i < ranges.length; i++ )
934
- {
935
- var range = ranges[ i ];
936
-
937
- // Drop range spans inside one ready-only node.
938
- var parent = range.getCommonAncestor();
939
- if ( parent.isReadOnly() )
940
- ranges.splice( i, 1 );
941
-
942
- if ( range.collapsed )
943
- continue;
944
-
945
- var startContainer = range.startContainer,
946
- endContainer = range.endContainer,
947
- startOffset = range.startOffset,
948
- endOffset = range.endOffset,
949
- walkerRange = range.clone();
950
-
951
- // Range may start inside a non-editable element, restart range
952
- // by the end of it.
953
- var readOnly;
954
- if ( ( readOnly = startContainer.isReadOnly() ) )
955
- range.setStartAfter( readOnly );
956
-
957
- // Enlarge range start/end with text node to avoid walker
958
- // being DOM destructive, it doesn't interfere our checking
959
- // of elements below as well.
960
- if ( startContainer && startContainer.type == CKEDITOR.NODE_TEXT )
961
- {
962
- if ( startOffset >= startContainer.getLength() )
963
- walkerRange.setStartAfter( startContainer );
964
- else
965
- walkerRange.setStartBefore( startContainer );
966
- }
967
-
968
- if ( endContainer && endContainer.type == CKEDITOR.NODE_TEXT )
969
- {
970
- if ( !endOffset )
971
- walkerRange.setEndBefore( endContainer );
972
- else
973
- walkerRange.setEndAfter( endContainer );
974
- }
975
-
976
- // Looking for non-editable element inside the range.
977
- var walker = new CKEDITOR.dom.walker( walkerRange );
978
- walker.evaluator = function( node )
979
- {
980
- if ( node.type == CKEDITOR.NODE_ELEMENT
981
- && node.isReadOnly() )
982
- {
983
- var newRange = range.clone();
984
- range.setEndBefore( node );
985
-
986
- // Drop collapsed range around read-only elements,
987
- // it make sure the range list empty when selecting
988
- // only non-editable elements.
989
- if ( range.collapsed )
990
- ranges.splice( i--, 1 );
991
-
992
- // Avoid creating invalid range.
993
- if ( !( node.getPosition( walkerRange.endContainer ) & CKEDITOR.POSITION_CONTAINS ) )
994
- {
995
- newRange.setStartAfter( node );
996
- if ( !newRange.collapsed )
997
- ranges.splice( i + 1, 0, newRange );
998
- }
999
-
1000
- return true;
1001
- }
1002
-
1003
- return false;
1004
- };
1005
-
1006
- walker.next();
1007
- }
1008
- }
1009
-
1010
- return cache.ranges;
1011
- };
1012
- })(),
1013
-
1014
- /**
1015
- * Gets the DOM element in which the selection starts.
1016
- * @returns {CKEDITOR.dom.element} The element at the beginning of the
1017
- * selection.
1018
- * @example
1019
- * var element = editor.getSelection().<b>getStartElement()</b>;
1020
- * alert( element.getName() );
1021
- */
1022
- getStartElement : function()
1023
- {
1024
- var cache = this._.cache;
1025
- if ( cache.startElement !== undefined )
1026
- return cache.startElement;
1027
-
1028
- var node,
1029
- sel = this.getNative();
1030
-
1031
- switch ( this.getType() )
1032
- {
1033
- case CKEDITOR.SELECTION_ELEMENT :
1034
- return this.getSelectedElement();
1035
-
1036
- case CKEDITOR.SELECTION_TEXT :
1037
-
1038
- var range = this.getRanges()[0];
1039
-
1040
- if ( range )
1041
- {
1042
- if ( !range.collapsed )
1043
- {
1044
- range.optimize();
1045
-
1046
- // Decrease the range content to exclude particial
1047
- // selected node on the start which doesn't have
1048
- // visual impact. ( #3231 )
1049
- while ( 1 )
1050
- {
1051
- var startContainer = range.startContainer,
1052
- startOffset = range.startOffset;
1053
- // Limit the fix only to non-block elements.(#3950)
1054
- if ( startOffset == ( startContainer.getChildCount ?
1055
- startContainer.getChildCount() : startContainer.getLength() )
1056
- && !startContainer.isBlockBoundary() )
1057
- range.setStartAfter( startContainer );
1058
- else break;
1059
- }
1060
-
1061
- node = range.startContainer;
1062
-
1063
- if ( node.type != CKEDITOR.NODE_ELEMENT )
1064
- return node.getParent();
1065
-
1066
- node = node.getChild( range.startOffset );
1067
-
1068
- if ( !node || node.type != CKEDITOR.NODE_ELEMENT )
1069
- node = range.startContainer;
1070
- else
1071
- {
1072
- var child = node.getFirst();
1073
- while ( child && child.type == CKEDITOR.NODE_ELEMENT )
1074
- {
1075
- node = child;
1076
- child = child.getFirst();
1077
- }
1078
- }
1079
- }
1080
- else
1081
- {
1082
- node = range.startContainer;
1083
- if ( node.type != CKEDITOR.NODE_ELEMENT )
1084
- node = node.getParent();
1085
- }
1086
-
1087
- node = node.$;
1088
- }
1089
- }
1090
-
1091
- return cache.startElement = ( node ? new CKEDITOR.dom.element( node ) : null );
1092
- },
1093
-
1094
- /**
1095
- * Gets the current selected element.
1096
- * @returns {CKEDITOR.dom.element} The selected element. Null if no
1097
- * selection is available or the selection type is not
1098
- * {@link CKEDITOR.SELECTION_ELEMENT}.
1099
- * @example
1100
- * var element = editor.getSelection().<b>getSelectedElement()</b>;
1101
- * alert( element.getName() );
1102
- */
1103
- getSelectedElement : function()
1104
- {
1105
- var cache = this._.cache;
1106
- if ( cache.selectedElement !== undefined )
1107
- return cache.selectedElement;
1108
-
1109
- var self = this;
1110
-
1111
- var node = CKEDITOR.tools.tryThese(
1112
- // Is it native IE control type selection?
1113
- function()
1114
- {
1115
- return self.getNative().createRange().item( 0 );
1116
- },
1117
- // Figure it out by checking if there's a single enclosed
1118
- // node of the range.
1119
- function()
1120
- {
1121
- var range = self.getRanges()[ 0 ],
1122
- enclosed,
1123
- selected;
1124
-
1125
- // Check first any enclosed element, e.g. <ul>[<li><a href="#">item</a></li>]</ul>
1126
- for ( var i = 2; i && !( ( enclosed = range.getEnclosedNode() )
1127
- && ( enclosed.type == CKEDITOR.NODE_ELEMENT )
1128
- && styleObjectElements[ enclosed.getName() ]
1129
- && ( selected = enclosed ) ); i-- )
1130
- {
1131
- // Then check any deep wrapped element, e.g. [<b><i><img /></i></b>]
1132
- range.shrink( CKEDITOR.SHRINK_ELEMENT );
1133
- }
1134
-
1135
- return selected.$;
1136
- });
1137
-
1138
- return cache.selectedElement = ( node ? new CKEDITOR.dom.element( node ) : null );
1139
- },
1140
-
1141
- lock : function()
1142
- {
1143
- // Call all cacheable function.
1144
- this.getRanges();
1145
- this.getStartElement();
1146
- this.getSelectedElement();
1147
-
1148
- // The native selection is not available when locked.
1149
- this._.cache.nativeSel = {};
1150
-
1151
- this.isLocked = 1;
1152
-
1153
- // Save this selection inside the DOM document.
1154
- this.document.setCustomData( 'cke_locked_selection', this );
1155
- },
1156
-
1157
- unlock : function( restore )
1158
- {
1159
- var doc = this.document,
1160
- lockedSelection = doc.getCustomData( 'cke_locked_selection' );
1161
-
1162
- if ( lockedSelection )
1163
- {
1164
- doc.setCustomData( 'cke_locked_selection', null );
1165
-
1166
- if ( restore )
1167
- {
1168
- var selectedElement = lockedSelection.getSelectedElement(),
1169
- ranges = !selectedElement && lockedSelection.getRanges();
1170
-
1171
- this.isLocked = 0;
1172
- this.reset();
1173
-
1174
- doc.getBody().focus();
1175
-
1176
- if ( selectedElement )
1177
- this.selectElement( selectedElement );
1178
- else
1179
- this.selectRanges( ranges );
1180
- }
1181
- }
1182
-
1183
- if ( !lockedSelection || !restore )
1184
- {
1185
- this.isLocked = 0;
1186
- this.reset();
1187
- }
1188
- },
1189
-
1190
- reset : function()
1191
- {
1192
- this._.cache = {};
1193
- },
1194
-
1195
- /**
1196
- * Make the current selection of type {@link CKEDITOR.SELECTION_ELEMENT} by enclosing the specified element.
1197
- * @param element
1198
- */
1199
- selectElement : function( element )
1200
- {
1201
- if ( this.isLocked )
1202
- {
1203
- var range = new CKEDITOR.dom.range( this.document );
1204
- range.setStartBefore( element );
1205
- range.setEndAfter( element );
1206
-
1207
- this._.cache.selectedElement = element;
1208
- this._.cache.startElement = element;
1209
- this._.cache.ranges = new CKEDITOR.dom.rangeList( range );
1210
- this._.cache.type = CKEDITOR.SELECTION_ELEMENT;
1211
-
1212
- return;
1213
- }
1214
-
1215
- range = new CKEDITOR.dom.range( element.getDocument() );
1216
- range.setStartBefore( element );
1217
- range.setEndAfter( element );
1218
- range.select();
1219
-
1220
- this.document.fire( 'selectionchange' );
1221
- this.reset();
1222
-
1223
- },
1224
-
1225
- /**
1226
- * Adding the specified ranges to document selection preceding
1227
- * by clearing up the original selection.
1228
- * @param {CKEDITOR.dom.range} ranges
1229
- */
1230
- selectRanges : function( ranges )
1231
- {
1232
- if ( this.isLocked )
1233
- {
1234
- this._.cache.selectedElement = null;
1235
- this._.cache.startElement = ranges[ 0 ] && ranges[ 0 ].getTouchedStartNode();
1236
- this._.cache.ranges = new CKEDITOR.dom.rangeList( ranges );
1237
- this._.cache.type = CKEDITOR.SELECTION_TEXT;
1238
-
1239
- return;
1240
- }
1241
-
1242
- if ( CKEDITOR.env.ie )
1243
- {
1244
- if ( ranges.length > 1 )
1245
- {
1246
- // IE doesn't accept multiple ranges selection, so we join all into one.
1247
- var last = ranges[ ranges.length -1 ] ;
1248
- ranges[ 0 ].setEnd( last.endContainer, last.endOffset );
1249
- ranges.length = 1;
1250
- }
1251
-
1252
- if ( ranges[ 0 ] )
1253
- ranges[ 0 ].select();
1254
-
1255
- this.reset();
1256
- }
1257
- else
1258
- {
1259
- var sel = this.getNative();
1260
-
1261
- // getNative() returns null if iframe is "display:none" in FF. (#6577)
1262
- if ( !sel )
1263
- return;
1264
-
1265
- if ( ranges.length )
1266
- {
1267
- sel.removeAllRanges();
1268
- // Remove any existing filling char first.
1269
- CKEDITOR.env.webkit && removeFillingChar( this.document );
1270
- }
1271
-
1272
- for ( var i = 0 ; i < ranges.length ; i++ )
1273
- {
1274
- // Joining sequential ranges introduced by
1275
- // readonly elements protection.
1276
- if ( i < ranges.length -1 )
1277
- {
1278
- var left = ranges[ i ], right = ranges[ i +1 ],
1279
- between = left.clone();
1280
- between.setStart( left.endContainer, left.endOffset );
1281
- between.setEnd( right.startContainer, right.startOffset );
1282
-
1283
- // Don't confused by Firefox adjancent multi-ranges
1284
- // introduced by table cells selection.
1285
- if ( !between.collapsed )
1286
- {
1287
- between.shrink( CKEDITOR.NODE_ELEMENT, true );
1288
- var ancestor = between.getCommonAncestor(),
1289
- enclosed = between.getEnclosedNode();
1290
-
1291
- // The following cases has to be considered:
1292
- // 1. <span contenteditable="false">[placeholder]</span>
1293
- // 2. <input contenteditable="false" type="radio"/> (#6621)
1294
- if ( ancestor.isReadOnly() || enclosed && enclosed.isReadOnly() )
1295
- {
1296
- right.setStart( left.startContainer, left.startOffset );
1297
- ranges.splice( i--, 1 );
1298
- continue;
1299
- }
1300
- }
1301
- }
1302
-
1303
- var range = ranges[ i ];
1304
- var nativeRange = this.document.$.createRange();
1305
- var startContainer = range.startContainer;
1306
-
1307
- // In FF2, if we have a collapsed range, inside an empty
1308
- // element, we must add something to it otherwise the caret
1309
- // will not be visible.
1310
- // In Opera instead, the selection will be moved out of the
1311
- // element. (#4657)
1312
- if ( range.collapsed &&
1313
- ( CKEDITOR.env.opera || ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) ) &&
1314
- startContainer.type == CKEDITOR.NODE_ELEMENT &&
1315
- !startContainer.getChildCount() )
1316
- {
1317
- startContainer.appendText( '' );
1318
- }
1319
-
1320
- if ( range.collapsed
1321
- && CKEDITOR.env.webkit
1322
- && rangeRequiresFix( range ) )
1323
- {
1324
- // Append a zero-width space so WebKit will not try to
1325
- // move the selection by itself (#1272).
1326
- var fillingChar = createFillingChar( this.document );
1327
- range.insertNode( fillingChar ) ;
1328
-
1329
- var next = fillingChar.getNext();
1330
-
1331
- // If the filling char is followed by a <br>, whithout
1332
- // having something before it, it'll not blink.
1333
- // Let's remove it in this case.
1334
- if ( next && !fillingChar.getPrevious() && next.type == CKEDITOR.NODE_ELEMENT && next.getName() == 'br' )
1335
- {
1336
- removeFillingChar( this.document );
1337
- range.moveToPosition( next, CKEDITOR.POSITION_BEFORE_START );
1338
- }
1339
- else
1340
- range.moveToPosition( fillingChar, CKEDITOR.POSITION_AFTER_END );
1341
- }
1342
-
1343
- nativeRange.setStart( range.startContainer.$, range.startOffset );
1344
-
1345
- try
1346
- {
1347
- nativeRange.setEnd( range.endContainer.$, range.endOffset );
1348
- }
1349
- catch ( e )
1350
- {
1351
- // There is a bug in Firefox implementation (it would be too easy
1352
- // otherwise). The new start can't be after the end (W3C says it can).
1353
- // So, let's create a new range and collapse it to the desired point.
1354
- if ( e.toString().indexOf( 'NS_ERROR_ILLEGAL_VALUE' ) >= 0 )
1355
- {
1356
- range.collapse( 1 );
1357
- nativeRange.setEnd( range.endContainer.$, range.endOffset );
1358
- }
1359
- else
1360
- throw e;
1361
- }
1362
-
1363
- // Select the range.
1364
- sel.addRange( nativeRange );
1365
- }
1366
-
1367
- this.reset();
1368
- }
1369
- },
1370
-
1371
- /**
1372
- * Create bookmark for every single of this selection range (from #getRanges)
1373
- * by calling the {@link CKEDITOR.dom.range.prototype.createBookmark} method,
1374
- * with extra cares to avoid interferon among those ranges. Same arguments are
1375
- * received as with the underlay range method.
1376
- */
1377
- createBookmarks : function( serializable )
1378
- {
1379
- return this.getRanges().createBookmarks( serializable );
1380
- },
1381
-
1382
- /**
1383
- * Create bookmark for every single of this selection range (from #getRanges)
1384
- * by calling the {@link CKEDITOR.dom.range.prototype.createBookmark2} method,
1385
- * with extra cares to avoid interferon among those ranges. Same arguments are
1386
- * received as with the underlay range method.
1387
- */
1388
- createBookmarks2 : function( normalized )
1389
- {
1390
- return this.getRanges().createBookmarks2( normalized );
1391
- },
1392
-
1393
- /**
1394
- * Select the virtual ranges denote by the bookmarks by calling #selectRanges.
1395
- * @param bookmarks
1396
- */
1397
- selectBookmarks : function( bookmarks )
1398
- {
1399
- var ranges = [];
1400
- for ( var i = 0 ; i < bookmarks.length ; i++ )
1401
- {
1402
- var range = new CKEDITOR.dom.range( this.document );
1403
- range.moveToBookmark( bookmarks[i] );
1404
- ranges.push( range );
1405
- }
1406
- this.selectRanges( ranges );
1407
- return this;
1408
- },
1409
-
1410
- /**
1411
- * Retrieve the common ancestor node of the first range and the last range.
1412
- */
1413
- getCommonAncestor : function()
1414
- {
1415
- var ranges = this.getRanges(),
1416
- startNode = ranges[ 0 ].startContainer,
1417
- endNode = ranges[ ranges.length - 1 ].endContainer;
1418
- return startNode.getCommonAncestor( endNode );
1419
- },
1420
-
1421
- /**
1422
- * Moving scroll bar to the current selection's start position.
1423
- */
1424
- scrollIntoView : function()
1425
- {
1426
- // If we have split the block, adds a temporary span at the
1427
- // range position and scroll relatively to it.
1428
- var start = this.getStartElement();
1429
- start.scrollIntoView();
1430
- }
1431
- };
1432
- })();
1433
-
1434
- ( function()
1435
- {
1436
- var notWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
1437
- fillerTextRegex = /\ufeff|\u00a0/,
1438
- nonCells = { table:1,tbody:1,tr:1 };
1439
-
1440
- CKEDITOR.dom.range.prototype.select =
1441
- CKEDITOR.env.ie ?
1442
- // V2
1443
- function( forceExpand )
1444
- {
1445
- var collapsed = this.collapsed,
1446
- isStartMarkerAlone, dummySpan, ieRange;
1447
-
1448
- // Try to make a object selection.
1449
- var selected = this.getEnclosedNode();
1450
- if ( selected )
1451
- {
1452
- try
1453
- {
1454
- ieRange = this.document.$.body.createControlRange();
1455
- ieRange.addElement( selected.$ );
1456
- ieRange.select();
1457
- return;
1458
- }
1459
- catch( er ) {}
1460
- }
1461
-
1462
- // IE doesn't support selecting the entire table row/cell, move the selection into cells, e.g.
1463
- // <table><tbody><tr>[<td>cell</b></td>... => <table><tbody><tr><td>[cell</td>...
1464
- if ( this.startContainer.type == CKEDITOR.NODE_ELEMENT && this.startContainer.getName() in nonCells
1465
- || this.endContainer.type == CKEDITOR.NODE_ELEMENT && this.endContainer.getName() in nonCells )
1466
- {
1467
- this.shrink( CKEDITOR.NODE_ELEMENT, true );
1468
- }
1469
-
1470
- var bookmark = this.createBookmark();
1471
-
1472
- // Create marker tags for the start and end boundaries.
1473
- var startNode = bookmark.startNode;
1474
-
1475
- var endNode;
1476
- if ( !collapsed )
1477
- endNode = bookmark.endNode;
1478
-
1479
- // Create the main range which will be used for the selection.
1480
- ieRange = this.document.$.body.createTextRange();
1481
-
1482
- // Position the range at the start boundary.
1483
- ieRange.moveToElementText( startNode.$ );
1484
- ieRange.moveStart( 'character', 1 );
1485
-
1486
- if ( endNode )
1487
- {
1488
- // Create a tool range for the end.
1489
- var ieRangeEnd = this.document.$.body.createTextRange();
1490
-
1491
- // Position the tool range at the end.
1492
- ieRangeEnd.moveToElementText( endNode.$ );
1493
-
1494
- // Move the end boundary of the main range to match the tool range.
1495
- ieRange.setEndPoint( 'EndToEnd', ieRangeEnd );
1496
- ieRange.moveEnd( 'character', -1 );
1497
- }
1498
- else
1499
- {
1500
- // The isStartMarkerAlone logic comes from V2. It guarantees that the lines
1501
- // will expand and that the cursor will be blinking on the right place.
1502
- // Actually, we are using this flag just to avoid using this hack in all
1503
- // situations, but just on those needed.
1504
- var next = startNode.getNext( notWhitespaces );
1505
- isStartMarkerAlone = ( !( next && next.getText && next.getText().match( fillerTextRegex ) ) // already a filler there?
1506
- && ( forceExpand || !startNode.hasPrevious() || ( startNode.getPrevious().is && startNode.getPrevious().is( 'br' ) ) ) );
1507
-
1508
- // Append a temporary <span>&#65279;</span> before the selection.
1509
- // This is needed to avoid IE destroying selections inside empty
1510
- // inline elements, like <b></b> (#253).
1511
- // It is also needed when placing the selection right after an inline
1512
- // element to avoid the selection moving inside of it.
1513
- dummySpan = this.document.createElement( 'span' );
1514
- dummySpan.setHtml( '&#65279;' ); // Zero Width No-Break Space (U+FEFF). See #1359.
1515
- dummySpan.insertBefore( startNode );
1516
-
1517
- if ( isStartMarkerAlone )
1518
- {
1519
- // To expand empty blocks or line spaces after <br>, we need
1520
- // instead to have any char, which will be later deleted using the
1521
- // selection.
1522
- // \ufeff = Zero Width No-Break Space (U+FEFF). (#1359)
1523
- this.document.createText( '\ufeff' ).insertBefore( startNode );
1524
- }
1525
- }
1526
-
1527
- // Remove the markers (reset the position, because of the changes in the DOM tree).
1528
- this.setStartBefore( startNode );
1529
- startNode.remove();
1530
-
1531
- if ( collapsed )
1532
- {
1533
- if ( isStartMarkerAlone )
1534
- {
1535
- // Move the selection start to include the temporary \ufeff.
1536
- ieRange.moveStart( 'character', -1 );
1537
-
1538
- ieRange.select();
1539
-
1540
- // Remove our temporary stuff.
1541
- this.document.$.selection.clear();
1542
- }
1543
- else
1544
- ieRange.select();
1545
-
1546
- this.moveToPosition( dummySpan, CKEDITOR.POSITION_BEFORE_START );
1547
- dummySpan.remove();
1548
- }
1549
- else
1550
- {
1551
- this.setEndBefore( endNode );
1552
- endNode.remove();
1553
- ieRange.select();
1554
- }
1555
-
1556
- this.document.fire( 'selectionchange' );
1557
- }
1558
- :
1559
- function()
1560
- {
1561
- this.document.getSelection().selectRanges( [ this ] );
1562
- };
1563
- } )();