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,49 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ module HelperMethods
4
+ def append_default_diary(ymd = Date.today.to_s)
5
+ date = Date.parse(ymd)
6
+ visit '/update.rb'
7
+ fill_in "year", :with => date.year
8
+ fill_in "month", :with => date.month
9
+ fill_in "day", :with => date.day
10
+ fill_in "title", :with => "tDiaryのテスト"
11
+ fill_in "body", :with => <<-BODY
12
+ !さて、テストである。
13
+ とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P
14
+ BODY
15
+ click_button "追記"
16
+ end
17
+
18
+ def append_default_comment(ymd = Date.today.to_s)
19
+ visit "/"
20
+ date = Date.parse(ymd).strftime('%Y年%m月%d日')
21
+ page.find('h2', :text => date).click_link date
22
+ click_link 'ツッコミを入れる'
23
+ fill_in "name", :with => "alpha"
24
+ fill_in "body", :with => 'こんにちは!こんにちは!'
25
+ click_button '投稿'
26
+ end
27
+
28
+ def enable_plugin(name)
29
+ visit '/update.rb?conf=sp'
30
+ check "sp.#{name}.rb"
31
+ page.all('div.saveconf').first.click_button 'OK'
32
+ end
33
+
34
+ def disable_plugin(name)
35
+ visit '/update.rb?conf=sp'
36
+ uncheck "sp.#{name}.rb"
37
+ page.all('div.saveconf').first.click_button 'OK'
38
+ end
39
+ end
40
+
41
+ RSpec.configuration.include(HelperMethods)
42
+
43
+ # Local Variables:
44
+ # mode: ruby
45
+ # indent-tabs-mode: t
46
+ # tab-width: 3
47
+ # ruby-indent-level: 3
48
+ # End:
49
+ # vim: ts=3
@@ -0,0 +1,7 @@
1
+ module NavigationHelpers
2
+ def homepage
3
+ "/"
4
+ end
5
+ end
6
+
7
+ RSpec.configuration.include(NavigationHelpers)
@@ -0,0 +1,113 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature '日記の更新' do
5
+ scenario '特定の日記の内容を更新する' do
6
+ visit '/update.rb'
7
+ fill_in "year", :with => '2001'
8
+ fill_in "month", :with => '4'
9
+ fill_in "day", :with => '23'
10
+ fill_in "title", :with => "tDiaryのテスト"
11
+ fill_in "body", :with => <<-BODY
12
+ !さて、テストである。
13
+ とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P
14
+
15
+ !もう一度テストである。
16
+ 本当に動くかな?
17
+ BODY
18
+
19
+ click_button "追記"
20
+
21
+ visit '/'
22
+ page.find('h2', :text => '2001年04月23日').click_link '2001年04月23日'
23
+ within('div.day span.title'){ page.should have_content "tDiaryのテスト" }
24
+ within('div.body'){
25
+ page.should have_content "さて、テストである。"
26
+ page.should have_content "もう一度テストである。"
27
+
28
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
29
+ page.should have_content "本当に動くかな?"
30
+ }
31
+
32
+ visit '/update.rb'
33
+ fill_in "year", :with => '2001'
34
+ fill_in "month", :with => '4'
35
+ fill_in "day", :with => '23'
36
+ click_button 'この日付の日記を編集'
37
+
38
+ fill_in "body", :with => <<-BODY
39
+ !もう一度テストである。
40
+ 本当に動くかな?
41
+ BODY
42
+
43
+ click_button "登録"
44
+
45
+ visit '/'
46
+ page.find('h2', :text => '2001年04月23日').click_link '2001年04月23日'
47
+ within('div.day span.title'){ page.should have_content "tDiaryのテスト" }
48
+ within('div.body'){
49
+ page.should have_no_content "さて、テストである。"
50
+ page.should have_content "もう一度テストである。"
51
+
52
+ page.should have_no_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
53
+ page.should have_content "本当に動くかな?"
54
+ }
55
+ end
56
+
57
+ scenario '日記の削除' do
58
+ append_default_diary
59
+
60
+ visit '/update.rb'
61
+ fill_in "year", :with => Date.today.year
62
+ fill_in "month", :with => Date.today.month
63
+ fill_in "day", :with => Date.today.day
64
+ click_button 'この日付の日記を編集'
65
+
66
+ within('div.textarea') { fill_in "body", :with => '' }
67
+
68
+ click_button "登録"
69
+ page.should have_content "Click here!"
70
+
71
+ visit '/'
72
+ within('div.day') { page.should have_no_css('h3') }
73
+ end
74
+
75
+ scenario '日記を隠す' do
76
+ append_default_diary
77
+
78
+ visit '/update.rb'
79
+ fill_in "year", :with => Date.today.year
80
+ fill_in "month", :with => Date.today.month
81
+ fill_in "day", :with => Date.today.day
82
+ click_button 'この日付の日記を編集'
83
+ check 'hide'
84
+
85
+ click_button "登録"
86
+ page.should have_content "Click here!"
87
+
88
+ visit '/'
89
+ page.should have_no_css('div[class="day"]')
90
+ end
91
+
92
+ scenario '編集画面に前の日記と次の日記のリンク表示される' do
93
+ append_default_diary('20010502')
94
+ append_default_diary('20010503')
95
+ append_default_diary('20010504')
96
+
97
+ visit '/update.rb'
98
+ fill_in "year", :with => '2001'
99
+ fill_in "month", :with => '5'
100
+ fill_in "day", :with => '3'
101
+ click_button 'この日付の日記を編集'
102
+
103
+ page.should have_content('«前の日記(2001年05月02日)')
104
+ page.should have_content('次の日記(2001年05月04日)»')
105
+ end
106
+ end
107
+
108
+ # Local Variables:
109
+ # mode: ruby
110
+ # indent-tabs-mode: t
111
+ # tab-width: 3
112
+ # ruby-indent-level: 3
113
+ # End:
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature 'カテゴリ機能の動作' do
5
+ scenario 'カテゴリ機能が動く' do
6
+ enable_plugin('category')
7
+
8
+ visit '/'
9
+ click_link '追記'
10
+
11
+ within('span.year') { fill_in "year", :with => '2001' }
12
+ within('span.month') { fill_in "month", :with => '4' }
13
+ within('span.day') { fill_in "day", :with => '23' }
14
+ within('div.textarea') {
15
+ fill_in "body", :with => <<-BODY
16
+ ![category] さて、テストである。
17
+ とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P
18
+
19
+ ![tdiary] もう一度テストである。
20
+ 本当に動くかな?
21
+ BODY
22
+ }
23
+
24
+ click_button "追記"
25
+
26
+ visit '/'
27
+ page.find('a', :text => "category").click
28
+ page.should have_content 'Categories'
29
+ end
30
+ end
31
+
32
+ # Local Variables:
33
+ # mode: ruby
34
+ # indent-tabs-mode: t
35
+ # tab-width: 3
36
+ # ruby-indent-level: 3
37
+ # End:
38
+ # vim: ts=3
@@ -0,0 +1,67 @@
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 '/'
10
+ click_link '追記'
11
+ click_button "この日付の日記を編集"
12
+ uncheck 'commentcheckboxr0'
13
+ click_button 'ツッコミ表示状態変更'
14
+ visit '/'
15
+ page.should have_no_content "alpha"
16
+ page.should have_no_content "こんにちは!こんにちは!"
17
+
18
+ today = Date.today.strftime("%Y年%m月%d日")
19
+ page.find('h2', :text => today).click_link today
20
+ page.should have_no_content "alpha"
21
+ page.should have_no_content "こんにちは!こんにちは!"
22
+ end
23
+
24
+ scenario "日付表示だと絵文字を表示できる", :exclude_selenium do
25
+ append_default_diary
26
+
27
+ visit "/"
28
+ click_link 'ツッコミを入れる'
29
+ fill_in "name", :with => "寿司"
30
+ fill_in "body", :with => <<-BODY
31
+ :sushi: は美味しい
32
+ BODY
33
+ click_button '投稿'
34
+
35
+ visit "/"
36
+ today = Date.today.strftime("%Y年%m月%d日")
37
+ page.find('h2', :text => today).click_link today
38
+ within('div.day div.comment div.commentbody') {
39
+ page.body.should be_include "<img src='http://www.emoji-cheat-sheet.com/graphics/emojis/sushi.png' width='20' height='20' title='sushi' alt='sushi' class='emoji' /> は美味しい"
40
+ }
41
+ end
42
+
43
+ scenario "一覧表示でも絵文字を表示できる", :exclude_selenium do
44
+ append_default_diary
45
+
46
+ visit "/"
47
+ click_link 'ツッコミを入れる'
48
+ fill_in "name", :with => "寿司"
49
+ fill_in "body", :with => <<-BODY
50
+ :sushi: は美味しい
51
+ BODY
52
+ click_button '投稿'
53
+
54
+ visit "/"
55
+ within('div.day div.comment div.commentshort') {
56
+ page.body.should be_include "<img src='http://www.emoji-cheat-sheet.com/graphics/emojis/sushi.png' width='20' height='20' title='sushi' alt='sushi' class='emoji' /> は美味しい"
57
+ }
58
+ end
59
+ end
60
+
61
+ # Local Variables:
62
+ # mode: ruby
63
+ # indent-tabs-mode: t
64
+ # tab-width: 3
65
+ # ruby-indent-level: 3
66
+ # End:
67
+ # vim: ts=3
@@ -0,0 +1,126 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature '日記を読む' do
5
+ scenario '最新の日記の表示' do
6
+ visit '/'
7
+ # capybara-2.0 can't find header content.
8
+ # within('title') { page.should have_content('【日記のタイトル】') }
9
+ within('h1') { page.should have_content('【日記のタイトル】') }
10
+ page.should have_css('a[href="update.rb"]')
11
+ page.should have_css('a[href="update.rb?conf=default"]')
12
+ end
13
+
14
+ scenario '月またぎの日記の表示' do
15
+ append_default_diary('20100430')
16
+ append_default_diary('20100501')
17
+
18
+ before_day = '2010年04月30日'
19
+ after_day = '2010年05月01日'
20
+
21
+ visit '/'
22
+ page.find('h2', :text => before_day).click_link "#{before_day}"
23
+ within('div.adminmenu'){ page.should have_content "次の日記(#{after_day})"}
24
+
25
+ click_link "次の日記(#{after_day})"
26
+ within('div.day') { page.should have_content "#{after_day}" }
27
+ within('div.adminmenu'){ page.should have_content "前の日記(#{before_day})"}
28
+
29
+ click_link "前の日記(#{before_day})"
30
+ within('div.day') { page.should have_content "#{before_day}" }
31
+ end
32
+
33
+ scenario 'n日前の日記をまとめて表示' do
34
+ 1.upto(11) {|i| append_default_diary("201005%02d" % i) }
35
+
36
+ visit '/'
37
+ within('div.main') {
38
+ page.should have_content "#{Date.parse('20100502').strftime('%Y年%m月%d日')}"
39
+ page.should have_content "#{Date.parse('20100511').strftime('%Y年%m月%d日')}"
40
+ page.should have_no_content "#{Date.parse('20100501').strftime('%Y年%m月%d日')}"
41
+ }
42
+
43
+ click_link "前10日分"
44
+ within('div.main') {
45
+ page.should have_no_content "#{Date.parse('20100502').strftime('%Y年%m月%d日')}"
46
+ page.should have_no_content "#{Date.parse('20100511').strftime('%Y年%m月%d日')}"
47
+ page.should have_content "#{Date.parse('20100501').strftime('%Y年%m月%d日')}"
48
+ }
49
+ end
50
+
51
+ scenario 'n年日記機能を表示' do
52
+ append_default_diary('20010423')
53
+ append_default_diary('20020423')
54
+ append_default_diary('20030423')
55
+
56
+ visit '/'
57
+ page.find('h2', :text => "2001年04月23日").click_link '2001年04月23日'
58
+ click_link '長年日記'
59
+
60
+ titles = page.all('h2 span.date a').map{|t| t.text }
61
+ titles.should include '2001年04月23日'
62
+ titles.should include '2002年04月23日'
63
+ titles.should include '2003年04月23日'
64
+ end
65
+
66
+ scenario '指定をした日を表示' do
67
+ append_default_diary('2001-04-23')
68
+
69
+ visit '/?date=20010423'
70
+ within('div.day span.title'){ page.should have_content "tDiaryのテスト" }
71
+ within('div.day div.section'){
72
+ within('h3') { page.should have_content "さて、テストである。" }
73
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
74
+ }
75
+ end
76
+
77
+ scenario '1ヶ月を表示' do
78
+ append_default_diary('20010101')
79
+
80
+ visit '/'
81
+ click_link '追記'
82
+ within('span.year') { fill_in "year", :with => 2001 }
83
+ within('span.month') { fill_in "month", :with => 01 }
84
+ within('span.day') { fill_in "day", :with => 31 }
85
+ within('div.title') { fill_in "title", :with => "tDiaryのテスト" }
86
+ within('div.textarea') {
87
+ fill_in "body", :with => <<-BODY
88
+ !さて、月末である。
89
+ 今月も終わる
90
+ BODY
91
+ }
92
+ click_button "追記"
93
+
94
+ visit '/'
95
+ click_link '追記'
96
+ within('span.year') { fill_in "year", :with => 2001 }
97
+ within('span.month') { fill_in "month", :with => 02 }
98
+ within('span.day') { fill_in "day", :with => 01 }
99
+ within('div.title') { fill_in "title", :with => "tDiaryのテスト" }
100
+ within('div.textarea') {
101
+ fill_in "body", :with => <<-BODY
102
+ !さて、月始めである。
103
+ 今月も始まる
104
+ BODY
105
+ }
106
+ click_button "追記"
107
+
108
+ visit '/?date=200101'
109
+ within('div.main'){
110
+ page.should have_content "さて、テストである。"
111
+ page.should have_content "さて、月末である。"
112
+ page.should have_no_content "さて、月始めである。"
113
+ page.should have_content "とりあえず自前の環境ではちゃんと動いているが、きっと穴がいっぱいあるに違いない:-P"
114
+ page.should have_content "今月も終わる"
115
+ page.should have_no_content "今月も始まる"
116
+ }
117
+ end
118
+ end
119
+
120
+ # Local Variables:
121
+ # mode: ruby
122
+ # indent-tabs-mode: t
123
+ # tab-width: 3
124
+ # ruby-indent-level: 3
125
+ # End:
126
+ # vim: ts=3
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'acceptance_helper'
3
+
4
+ feature 'リンク元の表示', :exclude_selenium => true do
5
+ scenario '日表示にリンク元が表示されている' do
6
+ append_default_diary
7
+ visit '/'
8
+ today = Date.today.strftime("%Y年%m月%d日")
9
+ page.find('h2', :text => today).click_link today
10
+ within('div.day') {
11
+ page.should have_css('div[class="refererlist"]')
12
+ within('div.refererlist') { page.should have_content "http://www.example.com" }
13
+ }
14
+ end
15
+
16
+ scenario '更新画面にリンク元が表示されている' do
17
+ append_default_diary
18
+ visit "/"
19
+ today = Date.today.strftime("%Y年%m月%d日")
20
+ page.find('h2', :text => today).click_link today
21
+ within('div.day div.refererlist') { page.should have_link "http://www.example.com" }
22
+ end
23
+ end
24
+
25
+ # Local Variables:
26
+ # mode: ruby
27
+ # indent-tabs-mode: t
28
+ # tab-width: 3
29
+ # ruby-indent-level: 3
30
+ # End:
31
+ # vim: ts=3
@@ -0,0 +1,101 @@
1
+ require 'spec_helper'
2
+
3
+ Dir["#{File.dirname(__FILE__)}/acceptance/support/**/*.rb"].each {|f| require f}
4
+
5
+ Capybara.app = Rack::Builder.new do
6
+ map '/' do
7
+ run TDiary::Application.new(:index)
8
+ end
9
+
10
+ map '/index.rb' do
11
+ run TDiary::Application.new(:index)
12
+ end
13
+
14
+ map '/update.rb' do
15
+ run TDiary::Application.new(:update)
16
+ end
17
+ end
18
+
19
+ Capybara.save_and_open_page_path = File.dirname(__FILE__) + '/../tmp/capybara'
20
+
21
+ RSpec.configure do |config|
22
+ fixture_conf = File.expand_path('../fixtures/just_installed.conf', __FILE__)
23
+ work_data_dir = File.expand_path('../../tmp/data', __FILE__)
24
+
25
+ tdiary_conf = File.expand_path("../fixtures/tdiary.conf.#{ENV['TEST_MODE'] || 'rack'}", __FILE__)
26
+ work_conf = File.expand_path('../../tdiary.conf', __FILE__)
27
+
28
+ config.before(:all) do
29
+ FileUtils.cp_r tdiary_conf, work_conf, :verbose => false
30
+ end
31
+
32
+ config.after(:all) do
33
+ FileUtils.rm_r work_conf
34
+ end
35
+
36
+ config.before(:each) do
37
+ FileUtils.mkdir_p work_data_dir
38
+ end
39
+
40
+ config.after(:each) do
41
+ FileUtils.rm_r work_data_dir
42
+ end
43
+
44
+ if ENV['TEST_MODE'] == 'rdb'
45
+ work_db = 'sqlite://tmp/tdiary_test.db'
46
+ config.before(:each) do
47
+ Sequel.connect(work_db) do |db|
48
+ db.drop_table(:conf) if db.table_exists?(:conf)
49
+ db.create_table :conf do
50
+ String :body, :text => true
51
+ end
52
+ db[:conf].insert(:body => File.read(fixture_conf))
53
+ end
54
+ end
55
+
56
+ config.after(:each) do
57
+ Sequel.connect(work_db) do |db|
58
+ [:diaries, :comments, :conf].each do |table|
59
+ db.drop_table(table) if db.table_exists? table
60
+ end
61
+ end
62
+ Dalli::Client.new(nil, {:namespace => 'test'}).flush
63
+ end
64
+ else
65
+ config.before(:each) do
66
+ FileUtils.cp_r(fixture_conf, File.join(work_data_dir, "tdiary.conf"), :verbose => false) unless fixture_conf.empty?
67
+ end
68
+
69
+ config.after(:each) do
70
+ FileUtils.rm_r File.join(work_data_dir, "tdiary.conf")
71
+ end
72
+ end
73
+
74
+ if ENV['TEST_MODE'] == 'webrick'
75
+ Capybara.default_driver = :selenium
76
+ Capybara.app_host = 'http://localhost:' + (ENV['PORT'] || '19292')
77
+ end
78
+
79
+ excludes = case ENV['TEST_MODE']
80
+ when 'webrick'
81
+ [:exclude_selenium, :exclude_no_secure]
82
+ when 'secure'
83
+ [:exclude_rack, :exclude_secure]
84
+ when 'rdb'
85
+ [:exclude_rdb, :exclude_rack, :exclude_no_secure]
86
+ else
87
+ # TEST_MODE = rack
88
+ [:exclude_rack, :exclude_no_secure]
89
+ end
90
+ excludes.each do |exclude|
91
+ config.filter_run_excluding exclude
92
+ end
93
+ end
94
+
95
+ # Local Variables:
96
+ # mode: ruby
97
+ # indent-tabs-mode: t
98
+ # tab-width: 3
99
+ # ruby-indent-level: 3
100
+ # End:
101
+ # vim: ts=3