tdiary 3.2.2.20130507

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +16 -0
  4. data/.travis.yml +29 -0
  5. data/Capfile +2 -0
  6. data/ChangeLog +3173 -0
  7. data/Gemfile +58 -0
  8. data/Gemfile.lock +201 -0
  9. data/LICENSE +340 -0
  10. data/Procfile +1 -0
  11. data/README.md +33 -0
  12. data/Rakefile +26 -0
  13. data/bin/tdiary +7 -0
  14. data/config.ru +61 -0
  15. data/data/.htaccess +2 -0
  16. data/doc/HOWTO-authenticate-in-rack.md +89 -0
  17. data/doc/HOWTO-make-io.md +305 -0
  18. data/doc/HOWTO-make-plugin.md +279 -0
  19. data/doc/HOWTO-make-theme.md +67 -0
  20. data/doc/HOWTO-testing-tDiary.md +44 -0
  21. data/doc/HOWTO-use-plugin.md +148 -0
  22. data/doc/HOWTO-write-tDiary.en.md +131 -0
  23. data/doc/HOWTO-write-tDiary.md +136 -0
  24. data/doc/INSTALL-paas.md +202 -0
  25. data/doc/INSTALL.md +160 -0
  26. data/doc/README.en.md +174 -0
  27. data/doc/README.md +56 -0
  28. data/doc/UPGRADE.md +164 -0
  29. data/doc/doc.css +115 -0
  30. data/dot.htaccess +27 -0
  31. data/index.fcgi +45 -0
  32. data/index.rb +57 -0
  33. data/js/00default.js +60 -0
  34. data/js/01conf.js +62 -0
  35. data/js/02edit.coffee +5 -0
  36. data/js/02edit.js +15 -0
  37. data/js/amazon.js +43 -0
  38. data/js/calendar3.js +130 -0
  39. data/js/caretposition.js +170 -0
  40. data/js/category.js +29 -0
  41. data/js/category_autocomplete.js +96 -0
  42. data/js/comment_ajax.js +27 -0
  43. data/js/draft.js +149 -0
  44. data/js/highlight.js +36 -0
  45. data/js/image.js +181 -0
  46. data/misc/convert2.rb +123 -0
  47. data/misc/filter/antispamservice.rb +101 -0
  48. data/misc/filter/limitdays.rb +40 -0
  49. data/misc/filter/linkcheck.rb +81 -0
  50. data/misc/filter/plugin/antispamservice.rb +82 -0
  51. data/misc/filter/plugin/en/antispamservice.rb +21 -0
  52. data/misc/filter/plugin/ja/antispamservice.rb +20 -0
  53. data/misc/lib/README +4 -0
  54. data/misc/lib/compatible.rb +1 -0
  55. data/misc/lib/fcgi_patch.rb +90 -0
  56. data/misc/migrate.rb +157 -0
  57. data/misc/paas/cloudfoundry/Gemfile +26 -0
  58. data/misc/paas/cloudfoundry/Gemfile.lock +85 -0
  59. data/misc/paas/heroku/Gemfile +22 -0
  60. data/misc/paas/heroku/Gemfile.lock +85 -0
  61. data/misc/paas/sqale/Gemfile +19 -0
  62. data/misc/paas/sqale/Gemfile.lock +85 -0
  63. data/misc/paas/sqale/Procfile +1 -0
  64. data/misc/paas/sqale/dot.env +1 -0
  65. data/misc/plugin/ChangeLog.DO_NOT_UPDATE +2333 -0
  66. data/misc/plugin/a.rb +211 -0
  67. data/misc/plugin/amazon.rb +403 -0
  68. data/misc/plugin/amazon/README.en +17 -0
  69. data/misc/plugin/amazon/README.ja +29 -0
  70. data/misc/plugin/amazon/amazonimg.rb +113 -0
  71. data/misc/plugin/amazon/large.png +0 -0
  72. data/misc/plugin/amazon/medium.png +0 -0
  73. data/misc/plugin/amazon/small.png +0 -0
  74. data/misc/plugin/append-css.rb +51 -0
  75. data/misc/plugin/bq.rb +48 -0
  76. data/misc/plugin/calendar2.rb +184 -0
  77. data/misc/plugin/calendar3.rb +256 -0
  78. data/misc/plugin/category.rb +779 -0
  79. data/misc/plugin/category_autocomplete.rb +33 -0
  80. data/misc/plugin/comment_ajax.rb +11 -0
  81. data/misc/plugin/comment_mail-qmail.rb +57 -0
  82. data/misc/plugin/comment_mail-sendmail.rb +56 -0
  83. data/misc/plugin/comment_mail-smtp.rb +59 -0
  84. data/misc/plugin/comment_rank.rb +36 -0
  85. data/misc/plugin/counter.rb +631 -0
  86. data/misc/plugin/daily_theme.rb +55 -0
  87. data/misc/plugin/disp_referrer.rb +1486 -0
  88. data/misc/plugin/doctype-html401tr.rb +16 -0
  89. data/misc/plugin/draft.rb +20 -0
  90. data/misc/plugin/dropdown_calendar.rb +32 -0
  91. data/misc/plugin/edit_today.rb +50 -0
  92. data/misc/plugin/en/a.rb +10 -0
  93. data/misc/plugin/en/amazon.rb +71 -0
  94. data/misc/plugin/en/append-css.rb +17 -0
  95. data/misc/plugin/en/bq.rb +12 -0
  96. data/misc/plugin/en/calendar2.rb +12 -0
  97. data/misc/plugin/en/category.rb +204 -0
  98. data/misc/plugin/en/counter.rb +48 -0
  99. data/misc/plugin/en/daily_theme.rb +14 -0
  100. data/misc/plugin/en/disp_referrer.rb +387 -0
  101. data/misc/plugin/en/dropdown_calendar.rb +14 -0
  102. data/misc/plugin/en/edit_today.rb +22 -0
  103. data/misc/plugin/en/hide-mail-field.rb +19 -0
  104. data/misc/plugin/en/highlight.rb +29 -0
  105. data/misc/plugin/en/image.rb +54 -0
  106. data/misc/plugin/en/kw.rb +22 -0
  107. data/misc/plugin/en/makerss.rb +47 -0
  108. data/misc/plugin/en/pb-show.rb +21 -0
  109. data/misc/plugin/en/ping.rb +16 -0
  110. data/misc/plugin/en/recent_comment.rb +44 -0
  111. data/misc/plugin/en/recent_comment3.rb +56 -0
  112. data/misc/plugin/en/recent_rss.rb +33 -0
  113. data/misc/plugin/en/referer_scheme.rb +48 -0
  114. data/misc/plugin/en/search_control.rb +74 -0
  115. data/misc/plugin/en/search_form.rb +22 -0
  116. data/misc/plugin/en/speed_comment.rb +19 -0
  117. data/misc/plugin/en/tb-show.rb +37 -0
  118. data/misc/plugin/en/todo.rb +43 -0
  119. data/misc/plugin/en/weather.rb +185 -0
  120. data/misc/plugin/en/xmlrpc.rb +14 -0
  121. data/misc/plugin/footnote.rb +92 -0
  122. data/misc/plugin/gradation.rb +39 -0
  123. data/misc/plugin/gradient.rb +36 -0
  124. data/misc/plugin/hide-mail-field.rb +50 -0
  125. data/misc/plugin/highlight.rb +22 -0
  126. data/misc/plugin/html_anchor.rb +34 -0
  127. data/misc/plugin/image.rb +290 -0
  128. data/misc/plugin/ja/amazon.rb +89 -0
  129. data/misc/plugin/ja/bq.rb +13 -0
  130. data/misc/plugin/ja/calendar2.rb +12 -0
  131. data/misc/plugin/ja/category.rb +212 -0
  132. data/misc/plugin/ja/daily_theme.rb +15 -0
  133. data/misc/plugin/ja/disp_referrer.rb +644 -0
  134. data/misc/plugin/ja/edit_today.rb +23 -0
  135. data/misc/plugin/ja/hide-mail-field.rb +20 -0
  136. data/misc/plugin/ja/highlight.rb +30 -0
  137. data/misc/plugin/ja/makerss.rb +44 -0
  138. data/misc/plugin/ja/my-sequel.rb +52 -0
  139. data/misc/plugin/ja/pb-show.rb +23 -0
  140. data/misc/plugin/ja/ping.rb +17 -0
  141. data/misc/plugin/ja/recent_comment.rb +45 -0
  142. data/misc/plugin/ja/recent_comment3.rb +57 -0
  143. data/misc/plugin/ja/recent_rss.rb +34 -0
  144. data/misc/plugin/ja/referer_scheme.rb +86 -0
  145. data/misc/plugin/ja/search_control.rb +75 -0
  146. data/misc/plugin/ja/search_form.rb +32 -0
  147. data/misc/plugin/ja/tb-show.rb +38 -0
  148. data/misc/plugin/ja/todo.rb +46 -0
  149. data/misc/plugin/ja/weather.rb +402 -0
  150. data/misc/plugin/ja/xmlrpc.rb +15 -0
  151. data/misc/plugin/kw.rb +150 -0
  152. data/misc/plugin/list.rb +40 -0
  153. data/misc/plugin/makelirs.rb +89 -0
  154. data/misc/plugin/makerss.rb +744 -0
  155. data/misc/plugin/my-ex.rb +68 -0
  156. data/misc/plugin/my-sequel.rb +539 -0
  157. data/misc/plugin/navi_user.rb +19 -0
  158. data/misc/plugin/number_anchor.rb +47 -0
  159. data/misc/plugin/pb-show.rb +165 -0
  160. data/misc/plugin/ping.rb +99 -0
  161. data/misc/plugin/pre_wrap.rb +19 -0
  162. data/misc/plugin/random_google.rb +165 -0
  163. data/misc/plugin/recent_comment.rb +82 -0
  164. data/misc/plugin/recent_comment3.rb +192 -0
  165. data/misc/plugin/recent_list.rb +91 -0
  166. data/misc/plugin/recent_namazu.rb +50 -0
  167. data/misc/plugin/recent_rss.rb +305 -0
  168. data/misc/plugin/referer-antibot.rb +53 -0
  169. data/misc/plugin/referer-utf8.rb +12 -0
  170. data/misc/plugin/referer_scheme.rb +87 -0
  171. data/misc/plugin/search_control.rb +227 -0
  172. data/misc/plugin/search_form.rb +53 -0
  173. data/misc/plugin/sn.rb +107 -0
  174. data/misc/plugin/speed_comment.rb +68 -0
  175. data/misc/plugin/squeeze.rb +272 -0
  176. data/misc/plugin/src.rb +30 -0
  177. data/misc/plugin/tb-show.rb +212 -0
  178. data/misc/plugin/title_list.rb +41 -0
  179. data/misc/plugin/title_tag.rb +80 -0
  180. data/misc/plugin/tlink.rb +163 -0
  181. data/misc/plugin/todo.rb +182 -0
  182. data/misc/plugin/weather.rb +505 -0
  183. data/misc/plugin/whatsnew.rb +100 -0
  184. data/misc/plugin/xmlrpc.rb +80 -0
  185. data/misc/plugin/xmlrpc/README +20 -0
  186. data/misc/plugin/xmlrpc/xmlrpc.rb +575 -0
  187. data/misc/style/emptdiary/README.rd +83 -0
  188. data/misc/style/emptdiary/README.rd.en +78 -0
  189. data/misc/style/emptdiary/emptdiary_style.rb +199 -0
  190. data/misc/style/etdiary/README.rd +83 -0
  191. data/misc/style/etdiary/etdiary_style.rb +446 -0
  192. data/misc/style/gfm/gfm_style.rb +194 -0
  193. data/misc/style/rd/README.rd +71 -0
  194. data/misc/style/rd/rd_style.rb +366 -0
  195. data/misc/style/wiki/README +116 -0
  196. data/misc/style/wiki/README.en +101 -0
  197. data/misc/style/wiki/wiki_parser.rb +273 -0
  198. data/misc/style/wiki/wiki_style.rb +478 -0
  199. data/misc/theme_convert/Readme.rd +21 -0
  200. data/misc/theme_convert/append.rcss +150 -0
  201. data/misc/theme_convert/theme_convert.rb +453 -0
  202. data/plugin/00default.rb +1015 -0
  203. data/plugin/05referer.rb +298 -0
  204. data/plugin/10spamfilter.rb +183 -0
  205. data/plugin/50sp.rb +146 -0
  206. data/plugin/60sf.rb +152 -0
  207. data/plugin/90migrate.rb +109 -0
  208. data/plugin/en/00default.rb +390 -0
  209. data/plugin/en/05referer.rb +49 -0
  210. data/plugin/en/10spamfilter.rb +81 -0
  211. data/plugin/en/50sp.rb +56 -0
  212. data/plugin/en/60sf.rb +60 -0
  213. data/plugin/ja/00default.rb +401 -0
  214. data/plugin/ja/05referer.rb +47 -0
  215. data/plugin/ja/10spamfilter.rb +79 -0
  216. data/plugin/ja/50sp.rb +66 -0
  217. data/plugin/ja/60sf.rb +73 -0
  218. data/public/.gitkeep +0 -0
  219. data/public/images/.gitkeep +0 -0
  220. data/public/javascripts/.gitkeep +0 -0
  221. data/public/stylesheets/.gitkeep +0 -0
  222. data/skel/category.rhtml +9 -0
  223. data/skel/conf.rhtml +23 -0
  224. data/skel/day.rhtml +33 -0
  225. data/skel/diary.rhtml +83 -0
  226. data/skel/footer.rhtml +8 -0
  227. data/skel/header.rhtml +10 -0
  228. data/skel/i.category.rhtml +6 -0
  229. data/skel/i.conf.rhtml +14 -0
  230. data/skel/i.day.rhtml +28 -0
  231. data/skel/i.diary.rhtml +17 -0
  232. data/skel/i.footer.rhtml +2 -0
  233. data/skel/i.header.rhtml +3 -0
  234. data/skel/i.latest.rhtml +24 -0
  235. data/skel/i.month.rhtml +39 -0
  236. data/skel/i.search.rhtml +5 -0
  237. data/skel/i.update.rhtml +40 -0
  238. data/skel/i.update.rhtml.en +40 -0
  239. data/skel/latest.rhtml +27 -0
  240. data/skel/mail.rtxt +18 -0
  241. data/skel/mail.rtxt.en +18 -0
  242. data/skel/month.rhtml +27 -0
  243. data/skel/plugin_error.rhtml +27 -0
  244. data/skel/preview.rhtml +85 -0
  245. data/skel/preview.rhtml.en +72 -0
  246. data/skel/referer.rhtml +24 -0
  247. data/skel/search.rhtml +14 -0
  248. data/skel/tdiary.rconf +76 -0
  249. data/skel/update.rhtml +103 -0
  250. data/skel/update.rhtml.en +83 -0
  251. data/spec/acceptance/append_comment_spec.rb +94 -0
  252. data/spec/acceptance/append_diary_spec.rb +98 -0
  253. data/spec/acceptance/bugfix/encoding_error_spec.rb +27 -0
  254. data/spec/acceptance/save_conf_comment_spec.rb +87 -0
  255. data/spec/acceptance/save_conf_default_spec.rb +169 -0
  256. data/spec/acceptance/save_conf_dnsbl_spec.rb +152 -0
  257. data/spec/acceptance/save_conf_filter_spec.rb +50 -0
  258. data/spec/acceptance/save_conf_plugin_spec.rb +69 -0
  259. data/spec/acceptance/save_conf_referer_spec.rb +60 -0
  260. data/spec/acceptance/save_conf_security_spec.rb +280 -0
  261. data/spec/acceptance/support/helpers.rb +49 -0
  262. data/spec/acceptance/support/paths.rb +7 -0
  263. data/spec/acceptance/update_diary_spec.rb +113 -0
  264. data/spec/acceptance/view_category_spec.rb +38 -0
  265. data/spec/acceptance/view_comment_spec.rb +67 -0
  266. data/spec/acceptance/view_diary_spec.rb +126 -0
  267. data/spec/acceptance/view_referer_spec.rb +31 -0
  268. data/spec/acceptance_helper.rb +101 -0
  269. data/spec/core/compatible_spec.rb +54 -0
  270. data/spec/core/core_ext_spec.rb +59 -0
  271. data/spec/core/plugin_spec.rb +389 -0
  272. data/spec/core/rack/assets/precompile_spec.rb +76 -0
  273. data/spec/core/rack/html_anchor_spec.rb +57 -0
  274. data/spec/core/rack/valid_request_path_spec.rb +67 -0
  275. data/spec/core/style/emptdiary_style_spec.rb +165 -0
  276. data/spec/core/style/etdiary_style_spec.rb +512 -0
  277. data/spec/core/style/gfm_style_spec.rb +334 -0
  278. data/spec/core/style/rd_style_spec.rb +202 -0
  279. data/spec/core/style/tdiary_style_spec.rb +240 -0
  280. data/spec/core/style/wiki_style_spec.rb +441 -0
  281. data/spec/fixtures/ascii8bit-pstore.db +0 -0
  282. data/spec/fixtures/invalid-sequence-volatile.tdr +9 -0
  283. data/spec/fixtures/just_installed.conf +1 -0
  284. data/spec/fixtures/plugin/ja/sample.rb +4 -0
  285. data/spec/fixtures/plugin/sample.rb +6 -0
  286. data/spec/fixtures/sample.rb +12 -0
  287. data/spec/fixtures/tdiary.conf.gem +212 -0
  288. data/spec/fixtures/tdiary.conf.rack +212 -0
  289. data/spec/fixtures/tdiary.conf.rdb +227 -0
  290. data/spec/fixtures/tdiary.conf.secure +204 -0
  291. data/spec/fixtures/tdiary.conf.webrick +212 -0
  292. data/spec/javascripts/00default_spec.js +35 -0
  293. data/spec/javascripts/fixtures/00default.html +1 -0
  294. data/spec/javascripts/support/jasmine.yml +76 -0
  295. data/spec/plugin/bq_spec.rb +24 -0
  296. data/spec/plugin/plugin_helper.rb +203 -0
  297. data/spec/spec_helper.rb +32 -0
  298. data/tdiary.conf.beginner +244 -0
  299. data/tdiary.conf.sample +345 -0
  300. data/tdiary.conf.sample-en +333 -0
  301. data/tdiary.gemspec +26 -0
  302. data/tdiary.rb +151 -0
  303. data/tdiary/admin.rb +236 -0
  304. data/tdiary/application.rb +57 -0
  305. data/tdiary/author_only_base.rb +171 -0
  306. data/tdiary/base.rb +220 -0
  307. data/tdiary/cli.rb +116 -0
  308. data/tdiary/comment.rb +40 -0
  309. data/tdiary/comment_manager.rb +94 -0
  310. data/tdiary/compatible.rb +72 -0
  311. data/tdiary/config.rb +270 -0
  312. data/tdiary/core_ext.rb +122 -0
  313. data/tdiary/deploy.rb +50 -0
  314. data/tdiary/dispatcher.rb +77 -0
  315. data/tdiary/dispatcher/index_main.rb +122 -0
  316. data/tdiary/dispatcher/update_main.rb +101 -0
  317. data/tdiary/environment.rb +15 -0
  318. data/tdiary/filter.rb +48 -0
  319. data/tdiary/filter/default.rb +54 -0
  320. data/tdiary/filter/spam.rb +304 -0
  321. data/tdiary/io/base.rb +70 -0
  322. data/tdiary/io/cache/file.rb +123 -0
  323. data/tdiary/io/cache/memcached.rb +88 -0
  324. data/tdiary/io/cache/redis.rb +100 -0
  325. data/tdiary/io/default.rb +297 -0
  326. data/tdiary/io/pstore.rb +252 -0
  327. data/tdiary/io/rdb.rb +213 -0
  328. data/tdiary/lang/en.rb +79 -0
  329. data/tdiary/lang/ja.rb +72 -0
  330. data/tdiary/plugin.rb +375 -0
  331. data/tdiary/rack/assets/precompile.rb +37 -0
  332. data/tdiary/rack/auth/basic.rb +38 -0
  333. data/tdiary/rack/auth/omniauth.rb +51 -0
  334. data/tdiary/rack/html_anchor.rb +31 -0
  335. data/tdiary/rack/valid_request_path.rb +36 -0
  336. data/tdiary/referer_manager.rb +80 -0
  337. data/tdiary/request.rb +217 -0
  338. data/tdiary/response.rb +29 -0
  339. data/tdiary/server.rb +85 -0
  340. data/tdiary/style.rb +194 -0
  341. data/tdiary/style/tdiary_style.rb +198 -0
  342. data/tdiary/style/wiki_style.rb +213 -0
  343. data/tdiary/tasks.rb +1 -0
  344. data/tdiary/tasks/assets.rake +31 -0
  345. data/tdiary/tasks/auth.rake +28 -0
  346. data/tdiary/tasks/db.rake +110 -0
  347. data/tdiary/tasks/doc.rake +31 -0
  348. data/tdiary/tasks/heroku.rake +37 -0
  349. data/tdiary/tasks/jasmine.rake +16 -0
  350. data/tdiary/tasks/rdoc.rake +24 -0
  351. data/tdiary/tasks/release.rake +122 -0
  352. data/tdiary/tasks/rspec.rake +51 -0
  353. data/tdiary/tasks/server.rake +33 -0
  354. data/tdiary/tasks/test.rake +17 -0
  355. data/tdiary/version.rb +3 -0
  356. data/tdiary/view.rb +468 -0
  357. data/tdiary/view_helper.rb +15 -0
  358. data/test/disp_referrer_test.rb +93 -0
  359. data/test/my-sequel_test.rb +238 -0
  360. data/test/test_helper.rb +7 -0
  361. data/test/test_plugin_helper.rb +64 -0
  362. data/test/test_plugin_helper_test.rb +28 -0
  363. data/test/weather_test.rb +33 -0
  364. data/theme/base.css +268 -0
  365. data/theme/conf.block.png +0 -0
  366. data/theme/conf.css +254 -0
  367. data/theme/default/README +11 -0
  368. data/theme/default/body.png +0 -0
  369. data/theme/default/default.css +743 -0
  370. data/theme/help.png +0 -0
  371. data/theme/loading.gif +0 -0
  372. data/theme/tdiary1/README +7 -0
  373. data/theme/tdiary1/tdiary1.css +394 -0
  374. data/theme/tdiary2/README +19 -0
  375. data/theme/tdiary2/tdiary2.css +624 -0
  376. data/update.fcgi +45 -0
  377. data/update.rb +57 -0
  378. data/vendor/hikidoc-0.0.6/COPYING +28 -0
  379. data/vendor/hikidoc-0.0.6/NEWS +30 -0
  380. data/vendor/hikidoc-0.0.6/NEWS.ja +30 -0
  381. data/vendor/hikidoc-0.0.6/README +86 -0
  382. data/vendor/hikidoc-0.0.6/README.ja +83 -0
  383. data/vendor/hikidoc-0.0.6/Rakefile +68 -0
  384. data/vendor/hikidoc-0.0.6/TextFormattingRules +320 -0
  385. data/vendor/hikidoc-0.0.6/TextFormattingRules.ja +318 -0
  386. data/vendor/hikidoc-0.0.6/bin/hikidoc +66 -0
  387. data/vendor/hikidoc-0.0.6/lib/hikidoc.rb +914 -0
  388. data/vendor/hikidoc-0.0.6/setup.rb +1360 -0
  389. data/vendor/hikidoc-0.0.6/test/run-test.rb +13 -0
  390. data/vendor/hikidoc-0.0.6/test/test_hikidoc.rb +506 -0
  391. data/vendor/imagesize-0.1.1/Manifest.txt +19 -0
  392. data/vendor/imagesize-0.1.1/README.txt +49 -0
  393. data/vendor/imagesize-0.1.1/lib/image_size.rb +305 -0
  394. data/vendor/imagesize-0.1.1/lib/image_size/version.rb +9 -0
  395. data/vendor/imagesize-0.1.1/setup.rb +1585 -0
  396. data/vendor/imagesize-0.1.1/test/2-4-7.png +0 -0
  397. data/vendor/imagesize-0.1.1/test/4_1_2.gif +0 -0
  398. data/vendor/imagesize-0.1.1/test/bmp.bmp +0 -0
  399. data/vendor/imagesize-0.1.1/test/cursor.xbm +6 -0
  400. data/vendor/imagesize-0.1.1/test/detect.swf +0 -0
  401. data/vendor/imagesize-0.1.1/test/pbm.pbm +0 -0
  402. data/vendor/imagesize-0.1.1/test/pcx.pcx +0 -0
  403. data/vendor/imagesize-0.1.1/test/pgm.pgm +5 -0
  404. data/vendor/imagesize-0.1.1/test/test.xpm +38 -0
  405. data/vendor/imagesize-0.1.1/test/test_helper.rb +2 -0
  406. data/vendor/imagesize-0.1.1/test/test_image_size.rb +71 -0
  407. data/vendor/imagesize-0.1.1/test/tiff.tiff +0 -0
  408. data/vendor/imagesize-0.1.1/test/tokyo_tower.jpg +0 -0
  409. data/vendor/imagesize-0.1.1/test/tower_e.gif.psd +0 -0
  410. data/vendor/jasmine-jquery-1.4.2/jasmine-jquery.js +548 -0
  411. data/vendor/jquery-1.8/jquery.js +9227 -0
  412. data/vendor/rdtool-0.6.38/COPYING.txt +339 -0
  413. data/vendor/rdtool-0.6.38/Gemfile +3 -0
  414. data/vendor/rdtool-0.6.38/HISTORY +318 -0
  415. data/vendor/rdtool-0.6.38/LGPL-2.1 +502 -0
  416. data/vendor/rdtool-0.6.38/LICENSE.txt +58 -0
  417. data/vendor/rdtool-0.6.38/README.html +66 -0
  418. data/vendor/rdtool-0.6.38/README.ja.html +73 -0
  419. data/vendor/rdtool-0.6.38/README.rd +76 -0
  420. data/vendor/rdtool-0.6.38/README.rd.ja +85 -0
  421. data/vendor/rdtool-0.6.38/Rakefile +152 -0
  422. data/vendor/rdtool-0.6.38/TODO +22 -0
  423. data/vendor/rdtool-0.6.38/bin/rd2 +283 -0
  424. data/vendor/rdtool-0.6.38/bin/rdswap.rb +207 -0
  425. data/vendor/rdtool-0.6.38/doc/rd-draft.html +456 -0
  426. data/vendor/rdtool-0.6.38/doc/rd-draft.ja.html +466 -0
  427. data/vendor/rdtool-0.6.38/doc/rd-draft.rd +479 -0
  428. data/vendor/rdtool-0.6.38/doc/rd-draft.rd.ja +487 -0
  429. data/vendor/rdtool-0.6.38/lib/rd/block-element.rb +114 -0
  430. data/vendor/rdtool-0.6.38/lib/rd/complex-list-item.rb +65 -0
  431. data/vendor/rdtool-0.6.38/lib/rd/desclist.rb +55 -0
  432. data/vendor/rdtool-0.6.38/lib/rd/document-struct.rb +46 -0
  433. data/vendor/rdtool-0.6.38/lib/rd/dot.rd2rc +18 -0
  434. data/vendor/rdtool-0.6.38/lib/rd/element.rb +160 -0
  435. data/vendor/rdtool-0.6.38/lib/rd/filter.rb +255 -0
  436. data/vendor/rdtool-0.6.38/lib/rd/head-filter.rb +14 -0
  437. data/vendor/rdtool-0.6.38/lib/rd/inline-element.rb +233 -0
  438. data/vendor/rdtool-0.6.38/lib/rd/labeled-element.rb +14 -0
  439. data/vendor/rdtool-0.6.38/lib/rd/list.rb +57 -0
  440. data/vendor/rdtool-0.6.38/lib/rd/loose-struct.rb +11 -0
  441. data/vendor/rdtool-0.6.38/lib/rd/methodlist.rb +57 -0
  442. data/vendor/rdtool-0.6.38/lib/rd/output-format-visitor.rb +30 -0
  443. data/vendor/rdtool-0.6.38/lib/rd/package.rb +4 -0
  444. data/vendor/rdtool-0.6.38/lib/rd/parser-util.rb +14 -0
  445. data/vendor/rdtool-0.6.38/lib/rd/post-install +1 -0
  446. data/vendor/rdtool-0.6.38/lib/rd/pre-setup.rb +18 -0
  447. data/vendor/rdtool-0.6.38/lib/rd/rbl-file.rb +69 -0
  448. data/vendor/rdtool-0.6.38/lib/rd/rbl-suite.rb +37 -0
  449. data/vendor/rdtool-0.6.38/lib/rd/rd-struct.rb +86 -0
  450. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-lib.rb +266 -0
  451. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-opt.rb +34 -0
  452. data/vendor/rdtool-0.6.38/lib/rd/rd2html-lib.rb +490 -0
  453. data/vendor/rdtool-0.6.38/lib/rd/rd2html-opt.rb +67 -0
  454. data/vendor/rdtool-0.6.38/lib/rd/rd2man-lib.rb +251 -0
  455. data/vendor/rdtool-0.6.38/lib/rd/rd2rdo-lib.rb +19 -0
  456. data/vendor/rdtool-0.6.38/lib/rd/rd2rmi-lib.rb +32 -0
  457. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.ry +518 -0
  458. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.tab.rb +1061 -0
  459. data/vendor/rdtool-0.6.38/lib/rd/rdfmt.rb +15 -0
  460. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.ry +503 -0
  461. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.tab.rb +1243 -0
  462. data/vendor/rdtool-0.6.38/lib/rd/rdvisitor.rb +214 -0
  463. data/vendor/rdtool-0.6.38/lib/rd/reference-resolver.rb +114 -0
  464. data/vendor/rdtool-0.6.38/lib/rd/search-file.rb +14 -0
  465. data/vendor/rdtool-0.6.38/lib/rd/tree.rb +103 -0
  466. data/vendor/rdtool-0.6.38/lib/rd/version.rb +41 -0
  467. data/vendor/rdtool-0.6.38/lib/rd/visitor.rb +86 -0
  468. data/vendor/rdtool-0.6.38/rdtool.gemspec +125 -0
  469. data/vendor/rdtool-0.6.38/setup.rb +1596 -0
  470. data/vendor/rdtool-0.6.38/test/data/includee1.html +1 -0
  471. data/vendor/rdtool-0.6.38/test/data/includee2.html +1 -0
  472. data/vendor/rdtool-0.6.38/test/data/includee3.nothtml +1 -0
  473. data/vendor/rdtool-0.6.38/test/data/includee4.xhtml +0 -0
  474. data/vendor/rdtool-0.6.38/test/data/label.rbl +2 -0
  475. data/vendor/rdtool-0.6.38/test/data/label2.rbl +2 -0
  476. data/vendor/rdtool-0.6.38/test/data/sub/includee2.html +1 -0
  477. data/vendor/rdtool-0.6.38/test/data/sub/includee4.html +0 -0
  478. data/vendor/rdtool-0.6.38/test/dummy-observer.rb +6 -0
  479. data/vendor/rdtool-0.6.38/test/dummy.rb +33 -0
  480. data/vendor/rdtool-0.6.38/test/temp-dir.rb +19 -0
  481. data/vendor/rdtool-0.6.38/test/test-block-parser.rb +46 -0
  482. data/vendor/rdtool-0.6.38/test/test-desclist-item.rb +219 -0
  483. data/vendor/rdtool-0.6.38/test/test-document-element.rb +46 -0
  484. data/vendor/rdtool-0.6.38/test/test-document-struct.rb +66 -0
  485. data/vendor/rdtool-0.6.38/test/test-element.rb +46 -0
  486. data/vendor/rdtool-0.6.38/test/test-headline.rb +80 -0
  487. data/vendor/rdtool-0.6.38/test/test-inline-parser.rb +46 -0
  488. data/vendor/rdtool-0.6.38/test/test-list-item.rb +54 -0
  489. data/vendor/rdtool-0.6.38/test/test-list.rb +53 -0
  490. data/vendor/rdtool-0.6.38/test/test-methodlist-item.rb +73 -0
  491. data/vendor/rdtool-0.6.38/test/test-nonterminal-element.rb +170 -0
  492. data/vendor/rdtool-0.6.38/test/test-nonterminal-inline.rb +33 -0
  493. data/vendor/rdtool-0.6.38/test/test-output-format-visitor.rb +48 -0
  494. data/vendor/rdtool-0.6.38/test/test-parser-util.rb +41 -0
  495. data/vendor/rdtool-0.6.38/test/test-rbl-file.rb +156 -0
  496. data/vendor/rdtool-0.6.38/test/test-rbl-suite.rb +43 -0
  497. data/vendor/rdtool-0.6.38/test/test-rd2html-lib.rb +496 -0
  498. data/vendor/rdtool-0.6.38/test/test-rdtree.rb +17 -0
  499. data/vendor/rdtool-0.6.38/test/test-rdvisitor.rb +29 -0
  500. data/vendor/rdtool-0.6.38/test/test-reference-resolver.rb +202 -0
  501. data/vendor/rdtool-0.6.38/test/test-reference.rb +132 -0
  502. data/vendor/rdtool-0.6.38/test/test-search-file.rb +22 -0
  503. data/vendor/rdtool-0.6.38/test/test-terminal-inline.rb +41 -0
  504. data/vendor/rdtool-0.6.38/test/test-textblock.rb +44 -0
  505. data/vendor/rdtool-0.6.38/test/test-tree.rb +82 -0
  506. data/vendor/rdtool-0.6.38/test/test-version.rb +57 -0
  507. data/vendor/rdtool-0.6.38/test/test-visitor.rb +230 -0
  508. data/vendor/rdtool-0.6.38/utils/rd-mode.el +464 -0
  509. metadata +666 -0
@@ -0,0 +1,98 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature '日記の追記' do
5
+ scenario '更新画面のデフォルト表示' do
6
+ visit '/'
7
+ click_link '追記'
8
+ page.should have_content('日記の更新')
9
+
10
+ y, m, d = Date.today.to_s.split('-').map {|t| t.sub(/^0+/, "") }
11
+ within('span.year') { page.should have_field('year', :with => y) }
12
+ within('span.month') { page.should have_field('month', :with => m) }
13
+ within('span.day') { page.should have_field('day', :with => d) }
14
+ end
15
+
16
+ scenario '今日の日記を書く' do
17
+ append_default_diary
18
+
19
+ visit '/'
20
+ within('div.day span.title'){ page.should have_content "tDiaryのテスト" }
21
+ within('div.day div.section'){
22
+ within('h3') { page.should have_content "さて、テストである。" }
23
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
24
+ }
25
+ today = Date.today.strftime('%Y年%m月%d日')
26
+ page.find('h2', :text => today).click_link today
27
+ within('div.day span.title'){ page.should have_content "tDiaryのテスト" }
28
+ within('div.day div.section'){
29
+ within('h3') { page.should have_content "さて、テストである。" }
30
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
31
+ }
32
+ end
33
+
34
+ scenario '日付を指定して新しく日記を書く' do
35
+ append_default_diary('2001-04-23')
36
+
37
+ visit '/'
38
+ page.find('h2', :text => '2001年04月23日').click_link '2001年04月23日'
39
+ within('div.day span.title'){ page.should have_content "tDiaryのテスト" }
40
+ within('div.day div.section'){
41
+ within('h3') { page.should have_content "さて、テストである。" }
42
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
43
+ }
44
+ end
45
+
46
+ scenario '今日の日記を追記する' do
47
+ append_default_diary
48
+
49
+ visit '/'
50
+ click_link '追記'
51
+ within('div.title') { fill_in "title", :with => "Hikiのテスト" }
52
+ within('div.textarea') {
53
+ fill_in "body", :with => <<-BODY
54
+ !さて、Hikiのテストである。
55
+ とみせかけてtDiary:-)
56
+ BODY
57
+ }
58
+
59
+ click_button "追記"
60
+ page.should have_content "Click here!"
61
+
62
+ visit '/'
63
+ within('div.day span.title'){ page.should have_content "Hikiのテスト" }
64
+ within('div.body'){
65
+ page.should have_content "さて、テストである。"
66
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
67
+ page.should have_content "さて、Hikiのテストである。"
68
+ page.should have_content "とみせかけてtDiary:-)"
69
+ }
70
+ end
71
+
72
+ scenario '日記のプレビュー' do
73
+ visit '/'
74
+ click_link '追記'
75
+ within('div.title') { fill_in "title", :with => "tDiaryのテスト" }
76
+ within('div.textarea') {
77
+ fill_in "body", :with => <<-BODY
78
+ !さて、テストである。
79
+ とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P
80
+ BODY
81
+ }
82
+
83
+ click_button 'プレビュー'
84
+ page.should have_content "tDiaryのテスト"
85
+ within('div.day div.section'){
86
+ within('h3') { page.should have_content "さて、テストである。" }
87
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
88
+ }
89
+ end
90
+ end
91
+
92
+ # Local Variables:
93
+ # mode: ruby
94
+ # indent-tabs-mode: t
95
+ # tab-width: 3
96
+ # ruby-indent-level: 3
97
+ # End:
98
+ # vim: ts=3
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'acceptance_helper'
4
+
5
+ feature '1.9 でエンコーディングエラーとなるリファラ' do
6
+ scenario 'invalid sequence な場合' do
7
+ disable_plugin('disp_referrer')
8
+
9
+ append_default_diary
10
+
11
+ src_path = File.expand_path('../../../fixtures/invalid-sequence-volatile.tdr', __FILE__)
12
+ dist_path = File.expand_path('../../../../tmp/data/volatile.tdr', __FILE__)
13
+ FileUtils.cp_r src_path, dist_path
14
+
15
+ visit "/?date=#{Date.today.strftime('%Y%m%d')}"
16
+
17
+ page.should have_content "さて、テストである。"
18
+ end
19
+ end
20
+
21
+ # Local Variables:
22
+ # mode: ruby
23
+ # indent-tabs-mode: t
24
+ # tab-width: 3
25
+ # ruby-indent-level: 3
26
+ # End:
27
+ # vim: ts=3
@@ -0,0 +1,87 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature 'ツッコミ設定の利用' do
5
+ scenario 'ツッコミを非表示にできる' do
6
+ append_default_diary
7
+ append_default_comment
8
+
9
+ visit '/update.rb?conf=comment'
10
+ select '非表示', :from => 'show_comment'
11
+
12
+ page.all('div.saveconf').first.click_button "OK"
13
+ # within('title') { page.should have_content('(設定完了)') }
14
+
15
+ click_link '最新'
16
+ within('div.day div.comment') {
17
+ page.should have_no_css('div[class="commentshort"]')
18
+ page.should have_no_content "alpha"
19
+ page.should have_no_content "こんにちは!こんにちは!"
20
+ }
21
+ end
22
+
23
+ scenario '月表示の時の表示数を変更できる' do
24
+ append_default_diary
25
+ append_default_comment
26
+
27
+ visit "/"
28
+ click_link 'ツッコミを入れる'
29
+ fill_in "name", :with => "bravo"
30
+ fill_in "body", :with => <<-BODY
31
+ こんばんは!こんばんは!
32
+ BODY
33
+
34
+ click_button '投稿'
35
+ page.should have_content "Click here!"
36
+
37
+ visit '/update.rb?conf=comment'
38
+ fill_in 'comment_limit', :with => '1'
39
+
40
+ page.all('div.saveconf').first.click_button "OK"
41
+ # within('title') { page.should have_content('(設定完了)') }
42
+
43
+ click_link '最新'
44
+ within('div.day div.comment div.commentshort') {
45
+ page.should have_no_content "alpha"
46
+ page.should have_content "bravo"
47
+ page.should have_no_content "こんにちは!こんにちは!"
48
+ page.should have_content "こんばんは!こんばんは!"
49
+ }
50
+
51
+ today = Date.today.strftime('%Y年%m月%d日')
52
+ page.find('h2', :text => today).click_link today
53
+ within('div.day div.comment div.commentbody') {
54
+ page.should have_content "alpha"
55
+ page.should have_content "bravo"
56
+ page.should have_content "こんにちは!こんにちは!"
57
+ page.should have_content "こんばんは!こんばんは!"
58
+ }
59
+ end
60
+
61
+ scenario '1日あたりの最大数を変更できる' do
62
+ append_default_diary
63
+ append_default_comment
64
+
65
+ visit '/update.rb?conf=comment'
66
+ fill_in 'comment_limit_per_day', :with => '1'
67
+
68
+ page.all('div.saveconf').first.click_button "OK"
69
+ # within('title') { page.should have_content('(設定完了)') }
70
+
71
+ click_link '最新'
72
+ today = Date.today.strftime('%Y年%m月%d日')
73
+ page.find('h2', :text => today).click_link today
74
+ within('div#comment-form-section') {
75
+ within('div.caption') { page.should have_content('本日の日記はツッコミ数の制限を越えています。') }
76
+ page.should have_no_css('form')
77
+ }
78
+ end
79
+ end
80
+
81
+ # Local Variables:
82
+ # mode: ruby
83
+ # indent-tabs-mode: t
84
+ # tab-width: 3
85
+ # ruby-indent-level: 3
86
+ # End:
87
+ # vim: ts=3
@@ -0,0 +1,169 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature '基本設定の利用' do
5
+ scenario 'サイトの情報の設定' do
6
+ visit '/update.rb?conf=default'
7
+ fill_in "author_name", :with => "ただただし"
8
+ fill_in "html_title", :with => "ただの日記"
9
+ fill_in "author_mail", :with => "t@tdtds.jp"
10
+ fill_in "index_page", :with => "http://www.example.com"
11
+ fill_in "description", :with => "ただただしによる日々の記録"
12
+ fill_in "icon", :with => "http://tdtds.jp/favicon.png"
13
+ # TODO banner の値が fill_in されない
14
+ #fill_in "banner", :with => "http://sho.tdiary.net/images/banner.png"
15
+ # TODO x_frame_open の設定
16
+
17
+ page.all('div.saveconf').first.click_button "OK"
18
+ # within('title') { page.should have_content('(設定完了)') }
19
+
20
+ click_link '最新'
21
+ # TODO その他の項目の反映を確認
22
+ # within('title') { page.should have_content('ただの日記') }
23
+
24
+ visit '/update.rb?conf=default'
25
+ page.should have_field "author_name", :with => "ただただし"
26
+ page.should have_field "html_title", :with => "ただの日記"
27
+ page.should have_field "author_mail", :with => "t@tdtds.jp"
28
+ page.should have_field "index_page", :with => "http://www.example.com"
29
+ page.should have_field "description", :with => "ただただしによる日々の記録"
30
+ page.should have_field "icon", :with => "http://tdtds.jp/favicon.png"
31
+ # TODO banner の値が fill_in されない
32
+ # page.should have_field("banner", :with => "http://sho.tdiary.net/images/banner.png")
33
+ end
34
+
35
+ scenario 'ヘッダ・フッタの設定' do
36
+ visit '/update.rb?conf=header'
37
+ fill_in "header", :with => <<-HEADER
38
+ <%= navi %>
39
+ <h1>alpha</h1>
40
+ <div class="main">
41
+ HEADER
42
+ fill_in "footer", :with => <<-FOOTER
43
+ </div>
44
+ <div class="sidebar">
45
+ bravo
46
+ </div>
47
+ FOOTER
48
+ page.all('div.saveconf').first.click_button "OK"
49
+ #within('title') { page.should have_content('(設定完了)') }
50
+
51
+ click_link '最新'
52
+ within('h1') { page.should have_content('alpha') }
53
+ within('div.sidebar') { page.should have_content('bravo')}
54
+
55
+ visit '/update.rb?conf=header'
56
+ page.should have_field "header", :with => <<-HEADER
57
+ <%= navi %>
58
+ <h1>alpha</h1>
59
+ <div class="main">
60
+ HEADER
61
+ page.should have_field "footer", :with => <<-FOOTER
62
+ </div>
63
+ <div class="sidebar">
64
+ bravo
65
+ </div>
66
+ FOOTER
67
+ end
68
+
69
+ scenario '表示一版の設定' do
70
+ today = Date.today
71
+ yestarday = Date.today - 1
72
+
73
+ append_default_diary(today.to_s)
74
+ append_default_diary(yestarday.to_s)
75
+ append_default_comment
76
+
77
+ visit '/update.rb?conf=display'
78
+ fill_in 'section_anchor', :with => '<span class="sanchor">★</span>'
79
+ fill_in 'comment_anchor', :with => '<span class="canchor">●</span>'
80
+ fill_in 'date_format', :with => '%Y:%m:%d'
81
+ fill_in 'latest_limit', :with => 1
82
+ select '非表示', :from => 'show_nyear'
83
+
84
+ page.all('div.saveconf').first.click_button "OK"
85
+ # within('title') { page.should have_content('(設定完了)') }
86
+
87
+ click_link '最新'
88
+ page.should have_content('★')
89
+ page.should have_content('●')
90
+ titles = page.all('h2 span.date a').map{|t| t.text }
91
+ titles.should include("#{today.year}:#{'%02d' % today.month}:#{'%02d' % today.day}")
92
+ titles.should_not include("#{yestarday.year}:#{'%02d' % yestarday.month}:#{'%02d' % yestarday.day}")
93
+ page.should_not have_content("長年日記")
94
+ end
95
+
96
+ scenario 'ログレベルの選択の設定' do
97
+ visit '/update.rb?conf=logger'
98
+ select 'DEBUG', :from => 'log_level'
99
+
100
+ page.all('div.saveconf').first.click_button "OK"
101
+ # within('title') { page.should have_content('(設定完了)') }
102
+
103
+ click_link '最新'
104
+ # TODO ログレベルの確認
105
+
106
+ visit '/update.rb?conf=logger'
107
+ within('select option[selected]'){ page.should have_content 'DEBUG' }
108
+ end
109
+
110
+ scenario '時差調整が保存される' do
111
+ visit '/update.rb?conf=timezone'
112
+ fill_in 'hour_offset', :with => '-24'
113
+
114
+ page.all('div.saveconf').first.click_button "OK"
115
+ # within('title') { page.should have_content('(設定完了)') }
116
+
117
+ click_link '追記'
118
+ y, m, d = (Date.today - 1).to_s.split('-').map {|t| t.sub(/^0+/, "") }
119
+ within('span.year') { page.should have_field('year', :with => y) }
120
+ within('span.month') { page.should have_field('month', :with => m) }
121
+ within('span.day') { page.should have_field('day', :with => d) }
122
+
123
+ click_link '設定'
124
+ click_link '時差調整'
125
+ page.should have_field('hour_offset', :with => '-24.0')
126
+ end
127
+
128
+ scenario 'Rack 環境でテーマ選択が保存される', :exclude_selenium do
129
+ visit '/update.rb?conf=theme'
130
+ select 'Tdiary1', :from => 'theme'
131
+
132
+ page.all('div.saveconf').first.click_button "OK"
133
+
134
+ click_link '最新'
135
+ page.body.should be_include('href="assets/base.css"')
136
+ page.body.should be_include('href="assets/tdiary1/tdiary1.css"')
137
+
138
+ visit '/update.rb?conf=theme'
139
+ within('select option[selected]'){
140
+ page.should have_content 'Tdiary1'
141
+ }
142
+ end
143
+
144
+ scenario 'Webrick 環境でテーマ選択が保存される', :exclude_rack do
145
+ visit '/update.rb?conf=theme'
146
+ select 'Tdiary1', :from => 'theme'
147
+
148
+ page.all('div.saveconf').first.click_button "OK"
149
+
150
+ click_link '最新'
151
+ within('head') {
152
+ page.should have_css('link[href="theme/base.css"]')
153
+ page.should have_css('link[href="theme/tdiary1/tdiary1.css"]')
154
+ }
155
+
156
+ visit '/update.rb?conf=theme'
157
+ within('select option[selected]'){
158
+ page.should have_content 'Tdiary1'
159
+ }
160
+ end
161
+ end
162
+
163
+ # Local Variables:
164
+ # mode: ruby
165
+ # indent-tabs-mode: t
166
+ # tab-width: 3
167
+ # ruby-indent-level: 3
168
+ # End:
169
+ # vim: ts=3
@@ -0,0 +1,152 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+ require 'resolv'
4
+
5
+ feature 'spamフィルタ設定の利用', :exclude_selenium do
6
+ scenario 'IPベースのブラックリストの spam-champuru が spamlookup に置き換わる' do
7
+ visit '/update.rb?conf=dnsblfilter'
8
+ fill_in 'spamlookup.ip.list', :with => "dnsbl.spam-champuru.livedoor.com"
9
+ fill_in 'spamlookup.domain.list', :with => ""
10
+ fill_in 'spamlookup.safe_domain.list', :with => ""
11
+ page.all('div.saveconf').first.click_button 'OK'
12
+
13
+ visit '/update.rb?conf=dnsblfilter'
14
+ page.should have_no_content "dnsbl.spam-champuru.livedoor.com"
15
+ page.should have_content "bsb.spamlookup.net"
16
+ end
17
+
18
+ scenario 'IPベースのブラックリストが動作する' do
19
+ IPSocket.stub(:getaddress) { '127.0.0.1' }
20
+ Resolv.stub(:getaddress) { '127.0.0.1' }
21
+
22
+ append_default_diary
23
+
24
+ visit '/update.rb?conf=dnsblfilter'
25
+ fill_in 'spamlookup.ip.list', :with => "bsb.spamlookup.net"
26
+ fill_in 'spamlookup.domain.list', :with => ""
27
+ fill_in 'spamlookup.safe_domain.list', :with => ""
28
+ page.all('div.saveconf').first.click_button 'OK'
29
+
30
+ visit "/"
31
+ click_link 'ツッコミを入れる'
32
+ fill_in "name", :with => "alpha"
33
+ fill_in "body", :with => <<-BODY
34
+ こんにちは!こんにちは!
35
+ http://www.example.com
36
+ BODY
37
+ click_button '投稿'
38
+
39
+ visit "/"
40
+ page.should have_no_content "alpha"
41
+ page.should have_no_content "こんにちは!こんにちは!"
42
+ end
43
+
44
+ scenario 'IPベースのブラックリストでセーフの場合' do
45
+ IPSocket.stub(:getaddress) { raise TimeoutError }
46
+
47
+ append_default_diary
48
+
49
+ visit '/update.rb?conf=dnsblfilter'
50
+ fill_in 'spamlookup.ip.list', :with => "bsb.spamlookup.net"
51
+ fill_in 'spamlookup.domain.list', :with => ""
52
+ fill_in 'spamlookup.safe_domain.list', :with => ""
53
+ page.all('div.saveconf').first.click_button 'OK'
54
+
55
+ visit "/"
56
+ click_link 'ツッコミを入れる'
57
+ fill_in "name", :with => "alpha"
58
+ fill_in "body", :with => <<-BODY
59
+ こんにちは!こんにちは!
60
+ http://www.example.com
61
+ BODY
62
+ click_button '投稿'
63
+
64
+ visit "/"
65
+ page.should have_content "alpha"
66
+ page.should have_content "こんにちは!こんにちは!"
67
+ end
68
+
69
+ scenario 'ドメインベースのブラックリストが動作する' do
70
+ Resolv.stub(:getaddress) { '127.0.0.1' }
71
+
72
+ append_default_diary
73
+
74
+ visit '/update.rb?conf=dnsblfilter'
75
+ fill_in 'spamlookup.ip.list', :with => ""
76
+ fill_in 'spamlookup.domain.list', :with => "bsb.spamlookup.net"
77
+ fill_in 'spamlookup.safe_domain.list', :with => ""
78
+ page.all('div.saveconf').first.click_button 'OK'
79
+
80
+ visit "/"
81
+ click_link 'ツッコミを入れる'
82
+ fill_in "name", :with => "alpha"
83
+ fill_in "body", :with => <<-BODY
84
+ こんにちは!こんにちは!
85
+ http://www.example.com
86
+ BODY
87
+ click_button '投稿'
88
+
89
+ visit "/"
90
+ page.should have_no_content "alpha"
91
+ page.should have_no_content "こんにちは!こんにちは!"
92
+ end
93
+
94
+ scenario 'ドメインベースのブラックリストでセーフの場合' do
95
+ Resolv.stub(:getaddress) { raise TimeoutError }
96
+
97
+ append_default_diary
98
+
99
+ visit '/update.rb?conf=dnsblfilter'
100
+ fill_in 'spamlookup.ip.list', :with => ""
101
+ fill_in 'spamlookup.domain.list', :with => "bsb.spamlookup.net"
102
+ fill_in 'spamlookup.safe_domain.list', :with => ""
103
+ page.all('div.saveconf').first.click_button 'OK'
104
+
105
+ visit "/"
106
+ click_link 'ツッコミを入れる'
107
+ fill_in "name", :with => "alpha"
108
+ fill_in "body", :with => <<-BODY
109
+ こんにちは!こんにちは!
110
+ http://www.example.com
111
+ BODY
112
+ click_button '投稿'
113
+
114
+ visit "/"
115
+ page.should have_content "alpha"
116
+ page.should have_content "こんにちは!こんにちは!"
117
+ end
118
+
119
+ scenario 'ブラックリストに問い合わせないリストが動作する' do
120
+ IPSocket.should_receive(:getaddress).exactly(0)
121
+ Resolv.should_receive(:getaddress).exactly(0)
122
+
123
+ append_default_diary
124
+
125
+ visit '/update.rb?conf=dnsblfilter'
126
+ fill_in 'spamlookup.ip.list', :with => "bsb.spamlookup.net"
127
+ fill_in 'spamlookup.domain.list', :with => "bsb.spamlookup.net"
128
+ fill_in 'spamlookup.safe_domain.list', :with => "www.example.com"
129
+ page.all('div.saveconf').first.click_button 'OK'
130
+
131
+ visit "/"
132
+ click_link 'ツッコミを入れる'
133
+ fill_in "name", :with => "alpha"
134
+ fill_in "body", :with => <<-BODY
135
+ こんにちは!こんにちは!
136
+ http://www.example.com
137
+ BODY
138
+ click_button '投稿'
139
+
140
+ visit "/"
141
+ page.should have_content "alpha"
142
+ page.should have_content "こんにちは!こんにちは!"
143
+ end
144
+ end
145
+
146
+ # Local Variables:
147
+ # mode: ruby
148
+ # indent-tabs-mode: t
149
+ # tab-width: 3
150
+ # ruby-indent-level: 3
151
+ # End:
152
+ # vim: ts=3