radiant 0.9.0.rc2 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of radiant might be problematic. Click here for more details.

Files changed (946) hide show
  1. data/CHANGELOG +18 -6
  2. data/CONTRIBUTORS +7 -1
  3. data/INSTALL +0 -5
  4. data/README +21 -0
  5. data/app/controllers/admin/layouts_controller.rb +1 -0
  6. data/app/controllers/admin/preferences_controller.rb +4 -3
  7. data/app/controllers/admin/resource_controller.rb +62 -8
  8. data/app/controllers/admin/snippets_controller.rb +1 -0
  9. data/app/controllers/admin/users_controller.rb +1 -0
  10. data/app/controllers/application_controller.rb +0 -17
  11. data/app/controllers/site_controller.rb +6 -4
  12. data/app/helpers/application_helper.rb +19 -0
  13. data/app/models/standard_tags.rb +212 -18
  14. data/app/models/status.rb +1 -1
  15. data/app/models/user.rb +2 -2
  16. data/app/views/admin/extensions/index.html.haml +1 -1
  17. data/app/views/admin/layouts/_form.html.haml +4 -4
  18. data/app/views/admin/layouts/index.html.haml +2 -2
  19. data/app/views/admin/page_parts/_page_part.html.haml +2 -2
  20. data/app/views/admin/pages/_fields.html.haml +5 -5
  21. data/app/views/admin/preferences/edit.html.haml +3 -3
  22. data/app/views/admin/snippets/_form.html.haml +5 -5
  23. data/app/views/admin/snippets/index.html.haml +3 -3
  24. data/app/views/admin/users/_form.html.haml +3 -4
  25. data/app/views/admin/users/index.html.haml +2 -1
  26. data/app/views/layouts/application.html.haml +1 -1
  27. data/config/environment.rb +2 -2
  28. data/config/environments/cucumber.rb +3 -3
  29. data/config/locales/en.yml +10 -10
  30. data/config/locales/en_available_tags.yml +80 -1
  31. data/db/migrate/20081203140407_add_indexes.rb +10 -10
  32. data/db/schema.rb +1 -1
  33. data/features/admin/resource_pagination.feature +27 -0
  34. data/features/admin/user_preferences.feature +17 -0
  35. data/features/step_definitions/admin/pagination_steps.rb +46 -0
  36. data/features/step_definitions/web_steps.rb +13 -3
  37. data/features/support/env.rb +7 -3
  38. data/features/support/paths.rb +1 -1
  39. data/lib/generators/instance/templates/instance_environment.rb +2 -2
  40. data/lib/generators/language_extension/templates/lang.yml +6 -6
  41. data/lib/plugins/active_record_extensions/lib/active_record_extensions.rb +0 -29
  42. data/lib/radiant.rb +3 -3
  43. data/lib/radiant/admin_ui.rb +1 -1
  44. data/lib/radiant/extension/script.rb +20 -5
  45. data/lib/radiant/extension_loader.rb +1 -1
  46. data/lib/radiant/initializer.rb +9 -3
  47. data/lib/radiant/pagination/controller.rb +34 -0
  48. data/lib/radiant/pagination/link_renderer.rb +7 -4
  49. data/lib/task_support.rb +6 -1
  50. data/lib/tasks/cucumber.rake +1 -1
  51. data/lib/tasks/framework.rake +1 -2
  52. data/lib/tasks/release.rake +11 -3
  53. data/lib/tasks/rspec.rake +1 -1
  54. data/public/images/admin/shadow.png +0 -0
  55. data/public/images/admin/shadow_grey.png +0 -0
  56. data/public/javascripts/admin/application.js +4 -1
  57. data/public/javascripts/admin/cookie.js +2 -2
  58. data/public/javascripts/admin/validationerror.js +18 -0
  59. data/public/stylesheets/admin/main.css +110 -37
  60. data/public/stylesheets/sass/admin/main.sass +3 -2
  61. data/public/stylesheets/sass/admin/modules/_grid.sass +56 -0
  62. data/public/stylesheets/sass/admin/partials/_actions.sass +74 -34
  63. data/public/stylesheets/sass/admin/partials/{_depreciated.sass → _deprecated.sass} +1 -1
  64. data/public/stylesheets/sass/admin/partials/_popup.sass +1 -1
  65. data/public/stylesheets/sass/admin/partials/_validations.sass +21 -0
  66. data/spec/controllers/admin/paginated_controller_spec.rb +26 -0
  67. data/spec/controllers/admin/preferences_controller_spec.rb +14 -0
  68. data/spec/controllers/application_controller_spec.rb +1 -11
  69. data/spec/controllers/site_controller_spec.rb +9 -0
  70. data/spec/datasets/users_dataset.rb +1 -1
  71. data/spec/generators/instance_generator_spec.rb +1 -1
  72. data/spec/helpers/application_helper_spec.rb +38 -0
  73. data/spec/lib/radiant/extension/script_spec.rb +5 -1
  74. data/spec/lib/radiant/initializer_spec.rb +7 -0
  75. data/spec/lib/radiant_spec.rb +1 -1
  76. data/spec/lib/task_support_spec.rb +14 -0
  77. data/spec/matchers/render_matcher.rb +14 -1
  78. data/spec/models/layout_spec.rb +3 -3
  79. data/spec/models/page_part_spec.rb +3 -3
  80. data/spec/models/page_spec.rb +8 -9
  81. data/spec/models/snippet_spec.rb +3 -3
  82. data/spec/models/standard_tags_spec.rb +99 -5
  83. data/spec/models/user_spec.rb +11 -11
  84. data/vendor/extensions/archive/app/models/archive_finder.rb +5 -0
  85. data/vendor/extensions/french_language_pack/config/locales/fr.yml +31 -25
  86. data/vendor/extensions/german_language_pack/README +2 -1
  87. data/vendor/extensions/german_language_pack/config/locales/de.yml +47 -45
  88. data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +375 -304
  89. data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +2 -2
  90. data/vendor/extensions/markdown_filter/README +1 -1
  91. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +4 -4
  92. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +0 -15
  93. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +1 -10
  94. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +1 -1
  95. data/vendor/extensions/markdown_filter/vendor/kramdown/CONTRIBUTERS +4 -0
  96. data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +1332 -0
  97. data/vendor/extensions/markdown_filter/vendor/kramdown/README +10 -0
  98. data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +97 -38
  99. data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +1 -1
  100. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +6 -4
  101. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +7 -7
  102. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +7 -7
  103. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +7 -7
  104. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +7 -7
  105. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +7 -7
  106. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +1 -1
  107. data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +11 -4
  108. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.html +9 -0
  109. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.latex +43 -0
  110. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.less.css +510 -0
  111. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +26 -33
  112. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/documentation.page +72 -0
  113. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +21 -49
  114. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +6 -6
  115. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/links.markdown +6 -0
  116. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +3 -2
  117. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +140 -127
  118. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +501 -431
  119. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +3 -3
  120. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +1 -1
  121. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +1 -1
  122. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +8 -3
  123. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +40 -4
  124. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +99 -27
  125. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +57 -18
  126. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +32 -13
  127. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +1 -1
  128. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +34 -14
  129. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +9 -3
  130. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/base.rb +95 -0
  131. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/html.rb +387 -0
  132. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +74 -65
  133. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/abbreviation.rb +65 -0
  134. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +3 -2
  135. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +8 -3
  136. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +2 -2
  137. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +2 -2
  138. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +3 -3
  139. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +1 -1
  140. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +4 -3
  141. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +2 -2
  142. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +2 -2
  143. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +47 -55
  144. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +1 -1
  145. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +3 -18
  146. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +2 -2
  147. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +69 -149
  148. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +4 -4
  149. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +1 -1
  150. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +2 -2
  151. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +12 -9
  152. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/math.rb +53 -0
  153. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +2 -2
  154. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +5 -4
  155. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +4 -3
  156. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +7 -3
  157. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +2 -2
  158. data/vendor/extensions/markdown_filter/vendor/kramdown/man/man1/kramdown.1 +222 -0
  159. data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +1 -0
  160. data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +68 -7
  161. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
  162. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
  163. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
  164. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.html +9 -0
  165. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.text +5 -0
  166. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +9 -3
  167. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +49 -0
  168. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +29 -0
  169. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +5 -0
  170. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +3 -0
  171. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +2 -2
  172. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.html +10 -0
  173. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.text +9 -0
  174. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.html +7 -0
  175. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.text +8 -0
  176. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.html +1 -0
  177. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.text +1 -0
  178. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.html +1 -0
  179. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.text +1 -0
  180. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.html +6 -0
  181. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.options +2 -0
  182. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.text +6 -0
  183. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
  184. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
  185. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
  186. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
  187. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
  188. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
  189. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/options +1 -0
  190. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
  191. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
  192. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.html +13 -0
  193. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
  194. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.html +10 -0
  195. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.text +14 -0
  196. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html +1 -0
  197. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.text +1 -0
  198. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +3 -5
  199. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +0 -1
  200. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +1 -1
  201. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +1 -1
  202. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +5 -0
  203. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +7 -0
  204. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +5 -5
  205. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +0 -2
  206. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +3 -6
  207. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +4 -4
  208. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +1 -1
  209. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +5 -6
  210. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +1 -1
  211. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +1 -1
  212. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.html +19 -0
  213. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.text +18 -0
  214. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +1 -1
  215. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +4 -0
  216. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +3 -0
  217. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.latex +18 -0
  218. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.latex +6 -0
  219. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.latex +32 -0
  220. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.html +1 -0
  221. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.text +1 -0
  222. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.html +8 -0
  223. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.text +15 -0
  224. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
  225. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
  226. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +3 -0
  227. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +3 -0
  228. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.html +6 -0
  229. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.text +6 -0
  230. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.html +1 -0
  231. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.text +1 -0
  232. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.html +1 -0
  233. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.text +1 -0
  234. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.html +1 -0
  235. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.text +1 -0
  236. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +2 -1
  237. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +1 -0
  238. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.html +5 -0
  239. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.text +5 -0
  240. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +3 -0
  241. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +3 -0
  242. data/vendor/extensions/smarty_pants_filter/README +1 -0
  243. data/vendor/extensions/smarty_pants_filter/Rakefile +136 -0
  244. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/lib/smarty_pants_filter.rb +0 -0
  245. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_tags.rb +18 -0
  246. data/vendor/extensions/smarty_pants_filter/lib/tasks/smarty_pants_filter_extension_tasks.rake +28 -0
  247. data/vendor/extensions/smarty_pants_filter/smarty_pants_filter_extension.rb +18 -0
  248. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/smartypants.html +0 -0
  249. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/spec/models/smarty_pants_filter_spec.rb +0 -0
  250. data/vendor/extensions/smarty_pants_filter/spec/spec.opts +6 -0
  251. data/vendor/extensions/smarty_pants_filter/spec/spec_helper.rb +36 -0
  252. data/vendor/extensions/smarty_pants_filter/test/test_helper.rb +19 -0
  253. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/test/unit/smarty_pants_filter_test.rb +0 -0
  254. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/vendor/rubypants/README +0 -0
  255. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/vendor/rubypants/Rakefile +0 -0
  256. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/vendor/rubypants/install.rb +0 -0
  257. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/vendor/rubypants/rubypants.rb +0 -0
  258. data/vendor/extensions/{markdown_filter → smarty_pants_filter}/vendor/rubypants/test_rubypants.rb +0 -0
  259. data/vendor/plugins/haml/Rakefile +84 -52
  260. data/vendor/plugins/haml/VERSION +1 -1
  261. data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +77 -0
  262. data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +60 -0
  263. data/vendor/plugins/haml/extra/haml-mode.el +15 -12
  264. data/vendor/plugins/haml/extra/sass-mode.el +2 -2
  265. data/vendor/plugins/haml/haml.gemspec +16 -7
  266. data/vendor/plugins/haml/init.rb +3 -1
  267. data/vendor/plugins/haml/lib/haml.rb +1 -0
  268. data/vendor/plugins/haml/lib/haml/filters.rb +14 -2
  269. data/vendor/plugins/haml/lib/haml/helpers.rb +34 -14
  270. data/vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rb +6 -4
  271. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +74 -34
  272. data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +37 -8
  273. data/vendor/plugins/haml/lib/haml/html.rb +1 -1
  274. data/vendor/plugins/haml/lib/haml/precompiler.rb +3 -2
  275. data/vendor/plugins/haml/lib/haml/railtie.rb +18 -0
  276. data/vendor/plugins/haml/lib/haml/template.rb +15 -4
  277. data/vendor/plugins/haml/lib/haml/template/plugin.rb +37 -2
  278. data/vendor/plugins/haml/lib/haml/util.rb +56 -2
  279. data/vendor/plugins/haml/lib/haml/version.rb +29 -14
  280. data/vendor/plugins/haml/lib/sass/files.rb +10 -2
  281. data/vendor/plugins/haml/lib/sass/plugin.rb +7 -2
  282. data/vendor/plugins/haml/lib/sass/plugin/rack.rb +2 -2
  283. data/vendor/plugins/haml/lib/sass/plugin/rails.rb +2 -1
  284. data/vendor/plugins/haml/lib/sass/script/number.rb +2 -2
  285. data/vendor/plugins/haml/lib/sass/tree/if_node.rb +1 -0
  286. data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +9 -1
  287. data/vendor/plugins/haml/test/haml/engine_test.rb +24 -2
  288. data/vendor/plugins/haml/test/haml/helper_test.rb +60 -9
  289. data/vendor/plugins/haml/test/haml/template_test.rb +80 -3
  290. data/vendor/plugins/haml/test/haml/templates/helpers.haml +26 -0
  291. data/vendor/plugins/haml/test/haml/templates/partial_layout.haml +6 -2
  292. data/vendor/plugins/haml/test/sass/engine_test.rb +6 -1
  293. data/vendor/plugins/haml/test/test_helper.rb +16 -1
  294. data/vendor/radius/LICENSE +19 -0
  295. data/vendor/radius/QUICKSTART.rdoc +7 -7
  296. data/vendor/radius/README.rdoc +9 -25
  297. data/vendor/radius/Rakefile +4 -27
  298. data/vendor/radius/VERSION +1 -0
  299. data/vendor/radius/lib/radius/parser.rb +4 -4
  300. data/vendor/radius/lib/radius/parser/scan.rb +371 -940
  301. data/vendor/radius/lib/radius/parser/scan.rl +2 -1
  302. data/vendor/radius/lib/radius/version.rb +5 -11
  303. data/vendor/radius/radius.gemspec +55 -22
  304. data/vendor/radius/tasks/jeweler.rake +21 -0
  305. data/vendor/radius/tasks/rdoc.rake +13 -0
  306. data/vendor/radius/tasks/test.rake +7 -0
  307. data/vendor/radius/test/parser_test.rb +5 -0
  308. data/vendor/radius/test/test_helper.rb +1 -0
  309. data/vendor/rails/actionmailer/CHANGELOG +18 -0
  310. data/vendor/rails/actionmailer/MIT-LICENSE +1 -1
  311. data/vendor/rails/actionmailer/Rakefile +1 -1
  312. data/vendor/rails/actionmailer/lib/action_mailer.rb +1 -1
  313. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +2 -2
  314. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +1 -0
  315. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail.rb +1 -0
  316. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/Makefile +18 -0
  317. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/address.rb +4 -38
  318. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/attachments.rb +65 -0
  319. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/base64.rb +0 -0
  320. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/compat.rb +0 -0
  321. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/config.rb +0 -0
  322. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/core_extensions.rb +0 -0
  323. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/encode.rb +9 -0
  324. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/header.rb +4 -2
  325. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/index.rb +0 -0
  326. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/interface.rb +33 -1
  327. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/loader.rb +0 -0
  328. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/mail.rb +1 -1
  329. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/mailbox.rb +3 -2
  330. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/main.rb +0 -0
  331. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/mbox.rb +0 -0
  332. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/net.rb +3 -1
  333. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/obsolete.rb +0 -0
  334. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/parser.rb +1060 -0
  335. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/parser.y +416 -0
  336. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/port.rb +0 -0
  337. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/quoting.rb +47 -1
  338. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/require_arch.rb +0 -0
  339. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/scanner.rb +0 -0
  340. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/scanner_r.rb +2 -1
  341. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/stringio.rb +0 -0
  342. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/utils.rb +50 -25
  343. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/COPYING +504 -0
  344. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/README +12 -0
  345. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet.rb +67 -0
  346. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/big5freq.rb +927 -0
  347. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/big5prober.rb +42 -0
  348. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb +238 -0
  349. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/charsetgroupprober.rb +112 -0
  350. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/charsetprober.rb +75 -0
  351. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb +64 -0
  352. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/constants.rb +42 -0
  353. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/escprober.rb +89 -0
  354. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/escsm.rb +244 -0
  355. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/eucjpprober.rb +88 -0
  356. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euckrfreq.rb +596 -0
  357. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euckrprober.rb +42 -0
  358. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euctwfreq.rb +430 -0
  359. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euctwprober.rb +42 -0
  360. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312freq.rb +474 -0
  361. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312prober.rb +42 -0
  362. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/hebrewprober.rb +289 -0
  363. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/jisfreq.rb +570 -0
  364. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/jpcntx.rb +229 -0
  365. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langbulgarianmodel.rb +229 -0
  366. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langcyrillicmodel.rb +330 -0
  367. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langgreekmodel.rb +227 -0
  368. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langhebrewmodel.rb +202 -0
  369. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langhungarianmodel.rb +226 -0
  370. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langthaimodel.rb +201 -0
  371. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/latin1prober.rb +147 -0
  372. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb +89 -0
  373. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/mbcsgroupprober.rb +45 -0
  374. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/mbcssm.rb +542 -0
  375. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/sbcharsetprober.rb +124 -0
  376. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/sbcsgroupprober.rb +56 -0
  377. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/sjisprober.rb +88 -0
  378. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/universaldetector.rb +168 -0
  379. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/utf8prober.rb +87 -0
  380. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.2.3 → tmail-1.2.7}/tmail/version.rb +1 -1
  381. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb +2 -2
  382. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +1 -1
  383. data/vendor/rails/actionmailer/test/abstract_unit.rb +4 -4
  384. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +1 -1
  385. data/vendor/rails/actionmailer/test/mail_service_test.rb +66 -2
  386. data/vendor/rails/actionmailer/test/quoting_test.rb +10 -4
  387. data/vendor/rails/actionpack/CHANGELOG +55 -0
  388. data/vendor/rails/actionpack/MIT-LICENSE +1 -1
  389. data/vendor/rails/actionpack/README +7 -7
  390. data/vendor/rails/actionpack/Rakefile +2 -2
  391. data/vendor/rails/actionpack/lib/action_controller.rb +2 -2
  392. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +18 -9
  393. data/vendor/rails/actionpack/lib/action_controller/base.rb +14 -14
  394. data/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb +6 -6
  395. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +96 -0
  396. data/vendor/rails/actionpack/lib/action_controller/failsafe.rb +1 -0
  397. data/vendor/rails/actionpack/lib/action_controller/flash.rb +42 -0
  398. data/vendor/rails/actionpack/lib/action_controller/integration.rb +5 -1
  399. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +1 -1
  400. data/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb +1 -1
  401. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +2 -2
  402. data/vendor/rails/actionpack/lib/action_controller/response.rb +4 -7
  403. data/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb +1 -0
  404. data/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb +6 -0
  405. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +6 -0
  406. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +2 -2
  407. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +4 -1
  408. data/vendor/rails/actionpack/lib/action_pack.rb +1 -1
  409. data/vendor/rails/actionpack/lib/action_pack/version.rb +1 -1
  410. data/vendor/rails/actionpack/lib/action_view.rb +3 -3
  411. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +11 -11
  412. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +2 -2
  413. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +2 -2
  414. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +12 -11
  415. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +2 -2
  416. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +49 -12
  417. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +3 -4
  418. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +7 -4
  419. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +1 -1
  420. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +1 -1
  421. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +2 -2
  422. data/vendor/rails/actionpack/lib/action_view/helpers/raw_output_helper.rb +2 -2
  423. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +2 -10
  424. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +6 -5
  425. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +5 -5
  426. data/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb +37 -9
  427. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +9 -11
  428. data/vendor/rails/actionpack/lib/action_view/partials.rb +2 -1
  429. data/vendor/rails/actionpack/lib/action_view/paths.rb +8 -0
  430. data/vendor/rails/actionpack/lib/action_view/renderable.rb +16 -2
  431. data/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +7 -4
  432. data/vendor/rails/actionpack/lib/action_view/test_case.rb +1 -1
  433. data/vendor/rails/actionpack/test/abstract_unit.rb +8 -8
  434. data/vendor/rails/actionpack/test/active_record_unit.rb +1 -1
  435. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +3 -1
  436. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +6 -5
  437. data/vendor/rails/actionpack/test/controller/caching_test.rb +16 -2
  438. data/vendor/rails/actionpack/test/controller/capture_test.rb +1 -1
  439. data/vendor/rails/actionpack/test/controller/cookie_test.rb +37 -1
  440. data/vendor/rails/actionpack/test/controller/flash_test.rb +28 -1
  441. data/vendor/rails/actionpack/test/controller/helper_test.rb +1 -1
  442. data/vendor/rails/actionpack/test/controller/integration_test.rb +0 -1
  443. data/vendor/rails/actionpack/test/controller/localized_templates_test.rb +24 -0
  444. data/vendor/rails/actionpack/test/controller/output_escaping_test.rb +19 -0
  445. data/vendor/rails/actionpack/test/controller/rack_test.rb +1 -4
  446. data/vendor/rails/actionpack/test/controller/render_test.rb +11 -2
  447. data/vendor/rails/actionpack/test/controller/rescue_test.rb +8 -2
  448. data/vendor/rails/actionpack/test/controller/routing_test.rb +1 -0
  449. data/vendor/rails/actionpack/test/controller/send_file_test.rb +1 -1
  450. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +2 -2
  451. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +10 -6
  452. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.de.html +1 -0
  453. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.en.html +1 -0
  454. data/vendor/rails/actionpack/test/fixtures/test/_customer_counter_with_as.erb +1 -0
  455. data/vendor/rails/actionpack/test/fixtures/test/_utf8_partial.html.erb +1 -0
  456. data/vendor/rails/actionpack/test/fixtures/test/_utf8_partial_magic.html.erb +2 -0
  457. data/vendor/rails/actionpack/test/fixtures/test/array_translation.erb +1 -0
  458. data/vendor/rails/actionpack/test/fixtures/test/capturing.erb +2 -2
  459. data/vendor/rails/actionpack/test/fixtures/test/scoped_array_translation.erb +1 -0
  460. data/vendor/rails/actionpack/test/fixtures/test/translation.erb +1 -0
  461. data/vendor/rails/actionpack/test/fixtures/test/utf8.html.erb +4 -2
  462. data/vendor/rails/actionpack/test/fixtures/test/utf8_magic.html.erb +5 -0
  463. data/vendor/rails/actionpack/test/fixtures/test/utf8_magic_with_bare_partial.html.erb +5 -0
  464. data/vendor/rails/actionpack/test/template/active_record_helper_i18n_test.rb +9 -2
  465. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +0 -1
  466. data/vendor/rails/actionpack/test/template/date_helper_test.rb +118 -0
  467. data/vendor/rails/actionpack/test/template/erb_util_test.rb +12 -0
  468. data/vendor/rails/actionpack/test/template/form_helper_test.rb +57 -3
  469. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +21 -9
  470. data/vendor/rails/actionpack/test/template/render_test.rb +47 -8
  471. data/vendor/rails/actionpack/test/template/text_helper_test.rb +26 -1
  472. data/vendor/rails/actionpack/test/template/translation_helper_test.rb +72 -9
  473. data/vendor/rails/actionpack/test/template/url_helper_test.rb +20 -1
  474. data/vendor/rails/actionpack/test/view/test_case_test.rb +2 -2
  475. data/vendor/rails/activerecord/CHANGELOG +43 -0
  476. data/vendor/rails/activerecord/Rakefile +1 -1
  477. data/vendor/rails/activerecord/examples/performance.sql +85 -0
  478. data/vendor/rails/activerecord/lib/active_record.rb +1 -2
  479. data/vendor/rails/activerecord/lib/active_record/association_preload.rb +9 -2
  480. data/vendor/rails/activerecord/lib/active_record/associations.rb +48 -38
  481. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +15 -11
  482. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +16 -6
  483. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +11 -1
  484. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +34 -10
  485. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +5 -0
  486. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +5 -5
  487. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +10 -1
  488. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +5 -1
  489. data/vendor/rails/activerecord/lib/active_record/autosave_association.rb +66 -35
  490. data/vendor/rails/activerecord/lib/active_record/base.rb +77 -36
  491. data/vendor/rails/activerecord/lib/active_record/batches.rb +13 -9
  492. data/vendor/rails/activerecord/lib/active_record/calculations.rb +6 -3
  493. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +3 -3
  494. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_limits.rb +57 -0
  495. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +1 -1
  496. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +3 -7
  497. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +1 -1
  498. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +64 -10
  499. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +2 -0
  500. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +31 -1
  501. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +31 -66
  502. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +5 -5
  503. data/vendor/rails/activerecord/lib/active_record/dirty.rb +2 -2
  504. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +1 -0
  505. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +34 -1
  506. data/vendor/rails/activerecord/lib/active_record/migration.rb +5 -0
  507. data/vendor/rails/activerecord/lib/active_record/nested_attributes.rb +64 -52
  508. data/vendor/rails/activerecord/lib/active_record/reflection.rb +66 -1
  509. data/vendor/rails/activerecord/lib/active_record/schema.rb +5 -1
  510. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +3 -0
  511. data/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb +1 -1
  512. data/vendor/rails/activerecord/lib/active_record/validations.rb +13 -1
  513. data/vendor/rails/activerecord/lib/active_record/version.rb +1 -1
  514. data/vendor/rails/activerecord/test/cases/active_schema_test_mysql.rb +22 -0
  515. data/vendor/rails/activerecord/test/cases/associations/belongs_to_associations_test.rb +13 -0
  516. data/vendor/rails/activerecord/test/cases/associations/eager_load_nested_include_test.rb +8 -7
  517. data/vendor/rails/activerecord/test/cases/associations/eager_test.rb +7 -1
  518. data/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb +26 -0
  519. data/vendor/rails/activerecord/test/cases/associations/inverse_associations_test.rb +566 -0
  520. data/vendor/rails/activerecord/test/cases/associations_test.rb +10 -0
  521. data/vendor/rails/activerecord/test/cases/autosave_association_test.rb +86 -10
  522. data/vendor/rails/activerecord/test/cases/base_test.rb +29 -0
  523. data/vendor/rails/activerecord/test/cases/batches_test.rb +20 -0
  524. data/vendor/rails/activerecord/test/cases/calculations_test.rb +2 -3
  525. data/vendor/rails/activerecord/test/cases/encoding_test.rb +6 -0
  526. data/vendor/rails/activerecord/test/cases/finder_test.rb +19 -3
  527. data/vendor/rails/activerecord/test/cases/fixtures_test.rb +5 -0
  528. data/vendor/rails/activerecord/test/cases/json_serialization_test.rb +14 -0
  529. data/vendor/rails/activerecord/test/cases/locking_test.rb +48 -3
  530. data/vendor/rails/activerecord/test/cases/migration_test.rb +115 -0
  531. data/vendor/rails/activerecord/test/cases/modules_test.rb +28 -0
  532. data/vendor/rails/activerecord/test/cases/named_scope_test.rb +1 -1
  533. data/vendor/rails/activerecord/test/cases/nested_attributes_test.rb +239 -7
  534. data/vendor/rails/activerecord/test/cases/query_cache_test.rb +7 -1
  535. data/vendor/rails/activerecord/test/cases/reflection_test.rb +47 -7
  536. data/vendor/rails/activerecord/test/cases/schema_test_postgresql.rb +2 -2
  537. data/vendor/rails/activerecord/test/cases/validations_i18n_test.rb +6 -36
  538. data/vendor/rails/activerecord/test/cases/validations_test.rb +33 -1
  539. data/vendor/rails/activerecord/test/cases/yaml_serialization_test.rb +11 -0
  540. data/vendor/rails/activerecord/test/fixtures/faces.yml +11 -0
  541. data/vendor/rails/{pkg/rails-3.0.pre.gem → activerecord/test/fixtures/fixture_database.sqlite} +0 -0
  542. data/vendor/rails/activerecord/test/fixtures/fixture_database.sqlite3 +0 -0
  543. data/vendor/rails/activerecord/test/fixtures/fixture_database_2.sqlite +0 -0
  544. data/vendor/rails/activerecord/test/fixtures/fixture_database_2.sqlite3 +0 -0
  545. data/vendor/rails/activerecord/test/fixtures/interests.yml +33 -0
  546. data/vendor/rails/activerecord/test/fixtures/men.yml +5 -0
  547. data/vendor/rails/activerecord/test/fixtures/zines.yml +5 -0
  548. data/vendor/rails/activerecord/test/models/author.rb +3 -0
  549. data/vendor/rails/activerecord/test/models/bird.rb +6 -0
  550. data/vendor/rails/activerecord/test/models/company_in_module.rb +17 -0
  551. data/vendor/rails/activerecord/test/models/event_author.rb +5 -0
  552. data/vendor/rails/activerecord/test/models/face.rb +7 -0
  553. data/vendor/rails/activerecord/test/models/interest.rb +5 -0
  554. data/vendor/rails/activerecord/test/models/invoice.rb +4 -0
  555. data/vendor/rails/activerecord/test/models/line_item.rb +3 -0
  556. data/vendor/rails/activerecord/test/models/man.rb +9 -0
  557. data/vendor/rails/activerecord/test/models/parrot.rb +6 -0
  558. data/vendor/rails/activerecord/test/models/pirate.rb +10 -0
  559. data/vendor/rails/activerecord/test/models/ship.rb +10 -1
  560. data/vendor/rails/activerecord/test/models/ship_part.rb +3 -1
  561. data/vendor/rails/activerecord/test/models/zine.rb +3 -0
  562. data/vendor/rails/activerecord/test/schema/schema.rb +41 -0
  563. data/vendor/rails/activeresource/CHANGELOG +15 -0
  564. data/vendor/rails/activeresource/Rakefile +1 -1
  565. data/vendor/rails/activeresource/lib/active_resource/base.rb +11 -2
  566. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +2 -2
  567. data/vendor/rails/activeresource/lib/active_resource/validations.rb +3 -3
  568. data/vendor/rails/activeresource/lib/active_resource/version.rb +1 -1
  569. data/vendor/rails/activeresource/test/abstract_unit.rb +2 -2
  570. data/vendor/rails/activeresource/test/base_errors_test.rb +13 -0
  571. data/vendor/rails/activeresource/test/base_test.rb +49 -0
  572. data/vendor/rails/activeresource/test/debug.log +80350 -0
  573. data/vendor/rails/activesupport/CHANGELOG +37 -0
  574. data/vendor/rails/activesupport/lib/active_support.rb +1 -0
  575. data/vendor/rails/activesupport/lib/active_support/buffered_logger.rb +1 -1
  576. data/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb +7 -1
  577. data/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb +1 -1
  578. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +1 -1
  579. data/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb +11 -1
  580. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +35 -28
  581. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +14 -4
  582. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +14 -3
  583. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +6 -0
  584. data/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb +2 -1
  585. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +1 -1
  586. data/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +1 -1
  587. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb +1 -1
  588. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +33 -26
  589. data/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb +1 -1
  590. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb +2 -2
  591. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +1 -0
  592. data/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb +20 -2
  593. data/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb +6 -5
  594. data/vendor/rails/activesupport/lib/active_support/core_ext/object/singleton_class.rb +13 -0
  595. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +0 -1
  596. data/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb +108 -44
  597. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +2 -4
  598. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +8 -4
  599. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +12 -3
  600. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +3 -2
  601. data/vendor/rails/activesupport/lib/active_support/inflections.rb +1 -1
  602. data/vendor/rails/activesupport/lib/active_support/inflector.rb +5 -2
  603. data/vendor/rails/activesupport/lib/active_support/json/backends/yajl.rb +40 -0
  604. data/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb +10 -7
  605. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +16 -1
  606. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +11 -2
  607. data/vendor/rails/activesupport/lib/active_support/memoizable.rb +1 -1
  608. data/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb +2 -2
  609. data/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb +6 -7
  610. data/vendor/rails/activesupport/lib/active_support/ordered_hash.rb +28 -11
  611. data/vendor/rails/activesupport/lib/active_support/testing/assertions.rb +14 -0
  612. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +84 -76
  613. data/vendor/rails/activesupport/lib/active_support/vendor.rb +10 -2
  614. data/vendor/rails/activesupport/lib/active_support/vendor/{i18n-0.1.3/lib → i18n-0.3.7}/i18n.rb +175 -39
  615. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend.rb +19 -0
  616. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/active_record.rb +66 -0
  617. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/active_record/missing.rb +67 -0
  618. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/active_record/store_procs.rb +38 -0
  619. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/active_record/translation.rb +88 -0
  620. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/base.rb +266 -0
  621. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/cache.rb +76 -0
  622. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/cascade.rb +58 -0
  623. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/chain.rb +75 -0
  624. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/cldr.rb +100 -0
  625. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/fallbacks.rb +69 -0
  626. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/fast.rb +69 -0
  627. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/gettext.rb +75 -0
  628. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/helpers.rb +68 -0
  629. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/interpolation_compiler.rb +119 -0
  630. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/links.rb +34 -0
  631. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/metadata.rb +73 -0
  632. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/pluralization.rb +57 -0
  633. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/backend/simple.rb +22 -0
  634. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/core_ext/hash/except.rb +8 -0
  635. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/core_ext/hash/slice.rb +8 -0
  636. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/core_ext/object/meta_class.rb +5 -0
  637. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/core_ext/string/interpolate.rb +99 -0
  638. data/vendor/rails/activesupport/lib/active_support/vendor/{i18n-0.1.3/lib → i18n-0.3.7}/i18n/exceptions.rb +15 -7
  639. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/gettext.rb +25 -0
  640. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/gettext/po_parser.rb +329 -0
  641. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/helpers.rb +5 -0
  642. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/helpers/gettext.rb +65 -0
  643. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/locale.rb +6 -0
  644. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/locale/fallbacks.rb +98 -0
  645. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/locale/tag.rb +28 -0
  646. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/locale/tag/parents.rb +24 -0
  647. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/locale/tag/rfc4646.rb +76 -0
  648. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/locale/tag/simple.rb +41 -0
  649. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.3.7/i18n/version.rb +3 -0
  650. data/vendor/rails/activesupport/lib/active_support/version.rb +1 -1
  651. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +1 -1
  652. data/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb +23 -83
  653. data/vendor/rails/activesupport/lib/active_support/xml_mini/libxmlsax.rb +74 -0
  654. data/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb +25 -22
  655. data/vendor/rails/activesupport/lib/active_support/xml_mini/nokogirisax.rb +73 -0
  656. data/vendor/rails/railties/CHANGELOG +18 -2
  657. data/vendor/rails/railties/MIT-LICENSE +1 -1
  658. data/vendor/rails/railties/Rakefile +5 -5
  659. data/vendor/rails/railties/bin/rails +6 -5
  660. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +1 -1
  661. data/vendor/rails/railties/configs/initializers/cookie_verification_secret.rb +7 -0
  662. data/vendor/rails/railties/guides/source/getting_started.textile +2 -2
  663. data/vendor/rails/railties/lib/commands/dbconsole.rb +1 -1
  664. data/vendor/rails/railties/lib/commands/runner.rb +1 -1
  665. data/vendor/rails/railties/lib/dispatcher.rb +1 -1
  666. data/vendor/rails/railties/lib/rails/gem_dependency.rb +11 -4
  667. data/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb +1 -1
  668. data/vendor/rails/railties/lib/rails/version.rb +1 -1
  669. data/vendor/rails/railties/lib/rails_generator.rb +5 -2
  670. data/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +7 -6
  671. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +3 -0
  672. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +9 -5
  673. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +2 -2
  674. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +2 -4
  675. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +1 -1
  676. data/vendor/rails/railties/lib/tasks/databases.rake +14 -14
  677. data/vendor/rails/railties/lib/tasks/framework.rake +4 -1
  678. data/vendor/rails/railties/lib/tasks/rails.rb +6 -1
  679. metadata +276 -321
  680. data/config/initializers/pagination.rb +0 -1
  681. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.css +0 -293
  682. data/vendor/plugins/haml/FAQ +0 -138
  683. data/vendor/plugins/haml/README.rdoc +0 -319
  684. data/vendor/plugins/haml/REVISION +0 -1
  685. data/vendor/plugins/haml/lib/sass/constant.rb +0 -216
  686. data/vendor/plugins/haml/lib/sass/constant/color.rb +0 -101
  687. data/vendor/plugins/haml/lib/sass/constant/literal.rb +0 -54
  688. data/vendor/plugins/haml/lib/sass/constant/nil.rb +0 -9
  689. data/vendor/plugins/haml/lib/sass/constant/number.rb +0 -87
  690. data/vendor/plugins/haml/lib/sass/constant/operation.rb +0 -30
  691. data/vendor/plugins/haml/lib/sass/constant/string.rb +0 -22
  692. data/vendor/plugins/haml/lib/sass/tree/attr_node.rb +0 -57
  693. data/vendor/plugins/haml/lib/sass/tree/value_node.rb +0 -20
  694. data/vendor/plugins/haml/test/sass/results/constants.css +0 -16
  695. data/vendor/plugins/haml/test/sass/templates/constants.sass +0 -100
  696. data/vendor/radius/Manifest.txt +0 -21
  697. data/vendor/rails/Rakefile +0 -81
  698. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb +0 -46
  699. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb +0 -1478
  700. data/vendor/rails/actionmailer/pkg/actionmailer-3.0.pre.gem +0 -0
  701. data/vendor/rails/actionpack/lib/action_view/erb/util.rb +0 -44
  702. data/vendor/rails/actionpack/lib/action_view/safe_buffer.rb +0 -28
  703. data/vendor/rails/actionpack/pkg/actionpack-3.0.pre.gem +0 -0
  704. data/vendor/rails/actionpack/test/view/safe_buffer_test.rb +0 -36
  705. data/vendor/rails/activemodel/CHANGES +0 -12
  706. data/vendor/rails/activemodel/README +0 -21
  707. data/vendor/rails/activemodel/Rakefile +0 -24
  708. data/vendor/rails/activemodel/lib/active_model.rb +0 -5
  709. data/vendor/rails/activemodel/lib/active_model/base.rb +0 -8
  710. data/vendor/rails/activemodel/lib/active_model/callbacks.rb +0 -7
  711. data/vendor/rails/activemodel/lib/active_model/core.rb +0 -7
  712. data/vendor/rails/activemodel/lib/active_model/deprecated_error_methods.rb +0 -38
  713. data/vendor/rails/activemodel/lib/active_model/errors.rb +0 -82
  714. data/vendor/rails/activemodel/lib/active_model/observing.rb +0 -98
  715. data/vendor/rails/activemodel/lib/active_model/state_machine.rb +0 -68
  716. data/vendor/rails/activemodel/lib/active_model/state_machine/event.rb +0 -64
  717. data/vendor/rails/activemodel/lib/active_model/state_machine/machine.rb +0 -78
  718. data/vendor/rails/activemodel/lib/active_model/state_machine/state.rb +0 -47
  719. data/vendor/rails/activemodel/lib/active_model/state_machine/state_transition.rb +0 -40
  720. data/vendor/rails/activemodel/lib/active_model/validations.rb +0 -126
  721. data/vendor/rails/activemodel/lib/active_model/validations/acceptance.rb +0 -45
  722. data/vendor/rails/activemodel/lib/active_model/validations/associated.rb +0 -46
  723. data/vendor/rails/activemodel/lib/active_model/validations/confirmation.rb +0 -44
  724. data/vendor/rails/activemodel/lib/active_model/validations/exclusion.rb +0 -37
  725. data/vendor/rails/activemodel/lib/active_model/validations/format.rb +0 -39
  726. data/vendor/rails/activemodel/lib/active_model/validations/inclusion.rb +0 -37
  727. data/vendor/rails/activemodel/lib/active_model/validations/length.rb +0 -95
  728. data/vendor/rails/activemodel/lib/active_model/validations/numericality.rb +0 -80
  729. data/vendor/rails/activemodel/lib/active_model/validations/presence.rb +0 -42
  730. data/vendor/rails/activemodel/lib/active_model/validations/uniqueness.rb +0 -104
  731. data/vendor/rails/activemodel/pkg/activemodel-3.0.pre.gem +0 -0
  732. data/vendor/rails/activemodel/test/observing_test.rb +0 -121
  733. data/vendor/rails/activemodel/test/state_machine/event_test.rb +0 -49
  734. data/vendor/rails/activemodel/test/state_machine/machine_test.rb +0 -43
  735. data/vendor/rails/activemodel/test/state_machine/state_test.rb +0 -72
  736. data/vendor/rails/activemodel/test/state_machine/state_transition_test.rb +0 -84
  737. data/vendor/rails/activemodel/test/state_machine_test.rb +0 -312
  738. data/vendor/rails/activemodel/test/test_helper.rb +0 -21
  739. data/vendor/rails/activerecord/MIT-LICENSE +0 -20
  740. data/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb +0 -26
  741. data/vendor/rails/activerecord/pkg/activerecord-3.0.pre.gem +0 -0
  742. data/vendor/rails/activeresource/MIT-LICENSE +0 -20
  743. data/vendor/rails/activeresource/pkg/activeresource-3.0.pre.gem +0 -0
  744. data/vendor/rails/activesupport/MIT-LICENSE +0 -20
  745. data/vendor/rails/activesupport/Rakefile +0 -175
  746. data/vendor/rails/activesupport/bin/generate_tables +0 -147
  747. data/vendor/rails/activesupport/install.rb +0 -30
  748. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE +0 -20
  749. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile +0 -20
  750. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile +0 -5
  751. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec +0 -27
  752. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb +0 -214
  753. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb +0 -5
  754. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb +0 -99
  755. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb +0 -124
  756. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb +0 -1
  757. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml +0 -3
  758. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb +0 -567
  759. data/vendor/rails/activesupport/pkg/activesupport-3.0.pre.gem +0 -0
  760. data/vendor/rails/activesupport/test/abstract_unit.rb +0 -36
  761. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +0 -2
  762. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +0 -2
  763. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +0 -2
  764. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +0 -1
  765. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +0 -3
  766. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +0 -3
  767. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +0 -2
  768. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +0 -7
  769. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +0 -1
  770. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +0 -5
  771. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +0 -2
  772. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +0 -2
  773. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +0 -2
  774. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +0 -4
  775. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +0 -2
  776. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +0 -1
  777. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +0 -2
  778. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +0 -3
  779. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +0 -3
  780. data/vendor/rails/activesupport/test/buffered_logger_test.rb +0 -146
  781. data/vendor/rails/activesupport/test/caching_test.rb +0 -348
  782. data/vendor/rails/activesupport/test/callbacks_test.rb +0 -188
  783. data/vendor/rails/activesupport/test/clean_backtrace_test.rb +0 -47
  784. data/vendor/rails/activesupport/test/clean_logger_test.rb +0 -57
  785. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +0 -363
  786. data/vendor/rails/activesupport/test/core_ext/base64_ext_test.rb +0 -8
  787. data/vendor/rails/activesupport/test/core_ext/bigdecimal.rb +0 -10
  788. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +0 -24
  789. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +0 -14
  790. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +0 -31
  791. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +0 -224
  792. data/vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb +0 -115
  793. data/vendor/rails/activesupport/test/core_ext/class_test.rb +0 -46
  794. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +0 -278
  795. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +0 -359
  796. data/vendor/rails/activesupport/test/core_ext/duplicable_test.rb +0 -22
  797. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +0 -121
  798. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +0 -97
  799. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +0 -68
  800. data/vendor/rails/activesupport/test/core_ext/file_test.rb +0 -67
  801. data/vendor/rails/activesupport/test/core_ext/float_ext_test.rb +0 -25
  802. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +0 -1014
  803. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +0 -37
  804. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +0 -43
  805. data/vendor/rails/activesupport/test/core_ext/load_error_test.rb +0 -16
  806. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +0 -30
  807. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +0 -52
  808. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +0 -33
  809. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +0 -58
  810. data/vendor/rails/activesupport/test/core_ext/module/model_naming_test.rb +0 -27
  811. data/vendor/rails/activesupport/test/core_ext/module/synchronization_test.rb +0 -85
  812. data/vendor/rails/activesupport/test/core_ext/module_test.rb +0 -363
  813. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +0 -20
  814. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +0 -162
  815. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +0 -282
  816. data/vendor/rails/activesupport/test/core_ext/object_ext_test.rb +0 -8
  817. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +0 -9
  818. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +0 -11
  819. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +0 -63
  820. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +0 -369
  821. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +0 -9
  822. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +0 -744
  823. data/vendor/rails/activesupport/test/core_ext/time_with_zone_test.rb +0 -845
  824. data/vendor/rails/activesupport/test/core_ext/uri_ext_test.rb +0 -12
  825. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +0 -2
  826. data/vendor/rails/activesupport/test/dependencies/conflict.rb +0 -1
  827. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +0 -3
  828. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +0 -4
  829. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +0 -4
  830. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +0 -3
  831. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +0 -1
  832. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +0 -1
  833. data/vendor/rails/activesupport/test/dependencies/service_one.rb +0 -5
  834. data/vendor/rails/activesupport/test/dependencies/service_two.rb +0 -2
  835. data/vendor/rails/activesupport/test/dependencies_test.rb +0 -782
  836. data/vendor/rails/activesupport/test/deprecation_test.rb +0 -167
  837. data/vendor/rails/activesupport/test/flush_cache_on_private_memoization_test.rb +0 -43
  838. data/vendor/rails/activesupport/test/gzip_test.rb +0 -7
  839. data/vendor/rails/activesupport/test/i18n_test.rb +0 -98
  840. data/vendor/rails/activesupport/test/inflector_test.rb +0 -298
  841. data/vendor/rails/activesupport/test/inflector_test_cases.rb +0 -252
  842. data/vendor/rails/activesupport/test/json/decoding_test.rb +0 -73
  843. data/vendor/rails/activesupport/test/json/encoding_test.rb +0 -160
  844. data/vendor/rails/activesupport/test/memoizable_test.rb +0 -247
  845. data/vendor/rails/activesupport/test/message_encryptor_test.rb +0 -46
  846. data/vendor/rails/activesupport/test/message_verifier_test.rb +0 -31
  847. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +0 -606
  848. data/vendor/rails/activesupport/test/multibyte_conformance.rb +0 -129
  849. data/vendor/rails/activesupport/test/multibyte_test_helpers.rb +0 -19
  850. data/vendor/rails/activesupport/test/multibyte_unicode_database_test.rb +0 -22
  851. data/vendor/rails/activesupport/test/multibyte_utils_test.rb +0 -137
  852. data/vendor/rails/activesupport/test/option_merger_test.rb +0 -85
  853. data/vendor/rails/activesupport/test/ordered_hash_test.rb +0 -201
  854. data/vendor/rails/activesupport/test/ordered_options_test.rb +0 -53
  855. data/vendor/rails/activesupport/test/rescuable_test.rb +0 -75
  856. data/vendor/rails/activesupport/test/secure_random_test.rb +0 -19
  857. data/vendor/rails/activesupport/test/string_inquirer_test.rb +0 -15
  858. data/vendor/rails/activesupport/test/test_test.rb +0 -148
  859. data/vendor/rails/activesupport/test/time_zone_test.rb +0 -266
  860. data/vendor/rails/activesupport/test/whiny_nil_test.rb +0 -50
  861. data/vendor/rails/activesupport/test/xml_mini/jdom_engine_test.rb +0 -153
  862. data/vendor/rails/activesupport/test/xml_mini/nokogiri_engine_test.rb +0 -168
  863. data/vendor/rails/activesupport/test/xml_mini/rexml_engine_test.rb +0 -15
  864. data/vendor/rails/ci/ci_build.rb +0 -119
  865. data/vendor/rails/ci/ci_setup_notes.txt +0 -131
  866. data/vendor/rails/ci/cruise_config.rb +0 -9
  867. data/vendor/rails/ci/geminstaller.yml +0 -24
  868. data/vendor/rails/ci/site.css +0 -13
  869. data/vendor/rails/ci/site_config.rb +0 -72
  870. data/vendor/rails/doc/template/horo.rb +0 -613
  871. data/vendor/rails/pushgems.rb +0 -14
  872. data/vendor/rails/railties/pkg/railties-3.0.pre.gem +0 -0
  873. data/vendor/rails/railties/test/abstract_unit.rb +0 -27
  874. data/vendor/rails/railties/test/backtrace_cleaner_test.rb +0 -61
  875. data/vendor/rails/railties/test/boot_test.rb +0 -178
  876. data/vendor/rails/railties/test/console_app_test.rb +0 -42
  877. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +0 -266
  878. data/vendor/rails/railties/test/fixtures/about_yml_plugins/bad_about_yml/about.yml +0 -1
  879. data/vendor/rails/railties/test/fixtures/about_yml_plugins/bad_about_yml/init.rb +0 -1
  880. data/vendor/rails/railties/test/fixtures/about_yml_plugins/plugin_without_about_yml/init.rb +0 -1
  881. data/vendor/rails/railties/test/fixtures/eager/zoo.rb +0 -3
  882. data/vendor/rails/railties/test/fixtures/eager/zoo/reptile_house.rb +0 -2
  883. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +0 -1
  884. data/vendor/rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb +0 -0
  885. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +0 -2
  886. data/vendor/rails/railties/test/fixtures/metal/multiplemetals/app/metal/metal_a.rb +0 -5
  887. data/vendor/rails/railties/test/fixtures/metal/multiplemetals/app/metal/metal_b.rb +0 -5
  888. data/vendor/rails/railties/test/fixtures/metal/pluralmetal/app/metal/legacy_routes.rb +0 -5
  889. data/vendor/rails/railties/test/fixtures/metal/singlemetal/app/metal/foo_metal.rb +0 -5
  890. data/vendor/rails/railties/test/fixtures/metal/subfolders/app/metal/Folder/metal_a.rb +0 -7
  891. data/vendor/rails/railties/test/fixtures/metal/subfolders/app/metal/Folder/metal_b.rb +0 -7
  892. data/vendor/rails/railties/test/fixtures/plugins/alternate/a/generators/a_generator/a_generator.rb +0 -4
  893. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/init.rb +0 -1
  894. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/lib/gemlike.rb +0 -2
  895. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/rails/init.rb +0 -7
  896. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  897. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/about.yml +0 -2
  898. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/generators/stubby_generator/stubby_generator.rb +0 -4
  899. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +0 -7
  900. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +0 -2
  901. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/controllers/engine_controller.rb +0 -2
  902. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/metal/engine_metal.rb +0 -10
  903. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/models/engine_model.rb +0 -2
  904. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml +0 -2
  905. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/config/routes.rb +0 -3
  906. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/init.rb +0 -3
  907. data/vendor/rails/railties/test/fixtures/public/foo/bar.html +0 -1
  908. data/vendor/rails/railties/test/fixtures/public/foo/index.html +0 -1
  909. data/vendor/rails/railties/test/fixtures/public/index.html +0 -1
  910. data/vendor/rails/railties/test/gem_dependency_test.rb +0 -219
  911. data/vendor/rails/railties/test/generator_lookup_test.rb +0 -40
  912. data/vendor/rails/railties/test/generators/generator_test_helper.rb +0 -310
  913. data/vendor/rails/railties/test/generators/rails_controller_generator_test.rb +0 -44
  914. data/vendor/rails/railties/test/generators/rails_helper_generator_test.rb +0 -36
  915. data/vendor/rails/railties/test/generators/rails_mailer_generator_test.rb +0 -29
  916. data/vendor/rails/railties/test/generators/rails_model_generator_test.rb +0 -96
  917. data/vendor/rails/railties/test/generators/rails_resource_generator_test.rb +0 -29
  918. data/vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb +0 -151
  919. data/vendor/rails/railties/test/generators/rails_template_runner_test.rb +0 -216
  920. data/vendor/rails/railties/test/initializer_test.rb +0 -416
  921. data/vendor/rails/railties/test/metal_test.rb +0 -72
  922. data/vendor/rails/railties/test/mocks/routes.rb +0 -6
  923. data/vendor/rails/railties/test/plugin_loader_test.rb +0 -172
  924. data/vendor/rails/railties/test/plugin_locator_test.rb +0 -62
  925. data/vendor/rails/railties/test/plugin_test.rb +0 -162
  926. data/vendor/rails/railties/test/plugin_test_helper.rb +0 -29
  927. data/vendor/rails/railties/test/rack_static_test.rb +0 -46
  928. data/vendor/rails/railties/test/rails_generator_test.rb +0 -145
  929. data/vendor/rails/railties/test/rails_info_controller_test.rb +0 -52
  930. data/vendor/rails/railties/test/rails_info_test.rb +0 -99
  931. data/vendor/rails/railties/test/secret_key_generation_test.rb +0 -38
  932. data/vendor/rails/railties/test/vendor/gems/dummy-gem-a-0.4.0/lib/dummy-gem-a.rb +0 -1
  933. data/vendor/rails/railties/test/vendor/gems/dummy-gem-b-0.4.0/lib/dummy-gem-b.rb +0 -1
  934. data/vendor/rails/railties/test/vendor/gems/dummy-gem-b-0.6.0/lib/dummy-gem-b.rb +0 -1
  935. data/vendor/rails/railties/test/vendor/gems/dummy-gem-c-0.4.0/lib/dummy-gem-c.rb +0 -1
  936. data/vendor/rails/railties/test/vendor/gems/dummy-gem-c-0.6.0/lib/dummy-gem-c.rb +0 -1
  937. data/vendor/rails/railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb +0 -1
  938. data/vendor/rails/railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb +0 -1
  939. data/vendor/rails/railties/test/vendor/gems/dummy-gem-f-1.0.0/lib/dummy-gem-f.rb +0 -1
  940. data/vendor/rails/railties/test/vendor/gems/dummy-gem-g-1.0.0/lib/dummy-gem-g.rb +0 -1
  941. data/vendor/rails/railties/test/vendor/gems/dummy-gem-h-1.0.0/lib/dummy-gem-h.rb +0 -1
  942. data/vendor/rails/railties/test/vendor/gems/dummy-gem-i-1.0.0/ext/dummy-gem-i/Makefile +0 -0
  943. data/vendor/rails/railties/test/vendor/gems/dummy-gem-i-1.0.0/lib/dummy-gem-i.rb +0 -1
  944. data/vendor/rails/railties/test/vendor/gems/dummy-gem-j-1.0.0/lib/dummy-gem-j.rb +0 -1
  945. data/vendor/rails/railties/test/vendor/gems/dummy-gem-k-1.0.0/lib/dummy-gem-k.rb +0 -1
  946. data/vendor/rails/release.rb +0 -25
@@ -1,845 +0,0 @@
1
- require 'abstract_unit'
2
-
3
- class TimeWithZoneTest < Test::Unit::TestCase
4
-
5
- def setup
6
- @utc = Time.utc(2000, 1, 1, 0)
7
- @time_zone = ActiveSupport::TimeZone['Eastern Time (US & Canada)']
8
- @twz = ActiveSupport::TimeWithZone.new(@utc, @time_zone)
9
- end
10
-
11
- def test_utc
12
- assert_equal @utc, @twz.utc
13
- end
14
-
15
- def test_time
16
- assert_equal Time.utc(1999, 12, 31, 19), @twz.time
17
- end
18
-
19
- def test_time_zone
20
- assert_equal @time_zone, @twz.time_zone
21
- end
22
-
23
- def test_in_time_zone
24
- Time.use_zone 'Alaska' do
25
- assert_equal ActiveSupport::TimeWithZone.new(@utc, ActiveSupport::TimeZone['Alaska']), @twz.in_time_zone
26
- end
27
- end
28
-
29
- def test_in_time_zone_with_argument
30
- assert_equal ActiveSupport::TimeWithZone.new(@utc, ActiveSupport::TimeZone['Alaska']), @twz.in_time_zone('Alaska')
31
- end
32
-
33
- def test_in_time_zone_with_new_zone_equal_to_old_zone_does_not_create_new_object
34
- assert_equal @twz.object_id, @twz.in_time_zone(ActiveSupport::TimeZone['Eastern Time (US & Canada)']).object_id
35
- end
36
-
37
- def test_utc?
38
- assert_equal false, @twz.utc?
39
- assert_equal true, ActiveSupport::TimeWithZone.new(Time.utc(2000), ActiveSupport::TimeZone['UTC']).utc?
40
- end
41
-
42
- def test_formatted_offset
43
- assert_equal '-05:00', @twz.formatted_offset
44
- assert_equal '-04:00', ActiveSupport::TimeWithZone.new(Time.utc(2000, 6), @time_zone).formatted_offset #dst
45
- end
46
-
47
- def test_dst?
48
- assert_equal false, @twz.dst?
49
- assert_equal true, ActiveSupport::TimeWithZone.new(Time.utc(2000, 6), @time_zone).dst?
50
- end
51
-
52
- def test_zone
53
- assert_equal 'EST', @twz.zone
54
- assert_equal 'EDT', ActiveSupport::TimeWithZone.new(Time.utc(2000, 6), @time_zone).zone #dst
55
- end
56
-
57
- def test_to_json
58
- assert_equal "\"1999/12/31 19:00:00 -0500\"", ActiveSupport::JSON.encode(@twz)
59
- end
60
-
61
- def test_to_json_with_use_standard_json_time_format_config_set_to_true
62
- old, ActiveSupport.use_standard_json_time_format = ActiveSupport.use_standard_json_time_format, true
63
- assert_equal "\"1999-12-31T19:00:00-05:00\"", ActiveSupport::JSON.encode(@twz)
64
- ensure
65
- ActiveSupport.use_standard_json_time_format = old
66
- end
67
-
68
- def test_strftime
69
- assert_equal '1999-12-31 19:00:00 EST -0500', @twz.strftime('%Y-%m-%d %H:%M:%S %Z %z')
70
- end
71
-
72
- def test_inspect
73
- assert_equal 'Fri, 31 Dec 1999 19:00:00 EST -05:00', @twz.inspect
74
- end
75
-
76
- def test_to_s
77
- assert_equal '1999-12-31 19:00:00 -0500', @twz.to_s
78
- end
79
-
80
- def test_to_formatted_s
81
- assert_equal '1999-12-31 19:00:00 -0500', @twz.to_formatted_s
82
- end
83
-
84
- def test_to_s_db
85
- assert_equal '2000-01-01 00:00:00', @twz.to_s(:db)
86
- end
87
-
88
- def test_xmlschema
89
- assert_equal "1999-12-31T19:00:00-05:00", @twz.xmlschema
90
- end
91
-
92
- def test_xmlschema_with_fractional_seconds
93
- @twz += 0.1234560001 # advance the time by a fraction of a second
94
- assert_equal "1999-12-31T19:00:00.123-05:00", @twz.xmlschema(3)
95
- assert_equal "1999-12-31T19:00:00.123456-05:00", @twz.xmlschema(6)
96
- assert_equal "1999-12-31T19:00:00.123456-05:00", @twz.xmlschema(12)
97
- end
98
-
99
- def test_to_yaml
100
- assert_equal "--- 1999-12-31 19:00:00 -05:00\n", @twz.to_yaml
101
- end
102
-
103
- def test_ruby_to_yaml
104
- assert_equal "--- \n:twz: 2000-01-01 00:00:00 Z\n", {:twz => @twz}.to_yaml
105
- end
106
-
107
- def test_httpdate
108
- assert_equal 'Sat, 01 Jan 2000 00:00:00 GMT', @twz.httpdate
109
- end
110
-
111
- def test_rfc2822
112
- assert_equal "Fri, 31 Dec 1999 19:00:00 -0500", @twz.rfc2822
113
- end
114
-
115
- def test_compare_with_time
116
- assert_equal 1, @twz <=> Time.utc(1999, 12, 31, 23, 59, 59)
117
- assert_equal 0, @twz <=> Time.utc(2000, 1, 1, 0, 0, 0)
118
- assert_equal(-1, @twz <=> Time.utc(2000, 1, 1, 0, 0, 1))
119
- end
120
-
121
- def test_compare_with_datetime
122
- assert_equal 1, @twz <=> DateTime.civil(1999, 12, 31, 23, 59, 59)
123
- assert_equal 0, @twz <=> DateTime.civil(2000, 1, 1, 0, 0, 0)
124
- assert_equal(-1, @twz <=> DateTime.civil(2000, 1, 1, 0, 0, 1))
125
- end
126
-
127
- def test_compare_with_time_with_zone
128
- assert_equal 1, @twz <=> ActiveSupport::TimeWithZone.new( Time.utc(1999, 12, 31, 23, 59, 59), ActiveSupport::TimeZone['UTC'] )
129
- assert_equal 0, @twz <=> ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1, 0, 0, 0), ActiveSupport::TimeZone['UTC'] )
130
- assert_equal(-1, @twz <=> ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1, 0, 0, 1), ActiveSupport::TimeZone['UTC'] ))
131
- end
132
-
133
- def test_between?
134
- assert @twz.between?(Time.utc(1999,12,31,23,59,59), Time.utc(2000,1,1,0,0,1))
135
- assert_equal false, @twz.between?(Time.utc(2000,1,1,0,0,1), Time.utc(2000,1,1,0,0,2))
136
- end
137
-
138
- def test_today
139
- Date.stubs(:current).returns(Date.new(2000, 1, 1))
140
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.utc(1999,12,31,23,59,59) ).today?
141
- assert_equal true, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.utc(2000,1,1,0) ).today?
142
- assert_equal true, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.utc(2000,1,1,23,59,59) ).today?
143
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.utc(2000,1,2,0) ).today?
144
- end
145
-
146
- def test_past_with_time_current_as_time_local
147
- with_env_tz 'US/Eastern' do
148
- Time.stubs(:current).returns(Time.local(2005,2,10,15,30,45))
149
- assert_equal true, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,44)).past?
150
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,45)).past?
151
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,46)).past?
152
- end
153
- end
154
-
155
- def test_past_with_time_current_as_time_with_zone
156
- twz = ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,45) )
157
- Time.stubs(:current).returns(twz)
158
- assert_equal true, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,44)).past?
159
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,45)).past?
160
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,46)).past?
161
- end
162
-
163
- def test_future_with_time_current_as_time_local
164
- with_env_tz 'US/Eastern' do
165
- Time.stubs(:current).returns(Time.local(2005,2,10,15,30,45))
166
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,44)).future?
167
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,45)).future?
168
- assert_equal true, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,46)).future?
169
- end
170
- end
171
-
172
- def future_with_time_current_as_time_with_zone
173
- twz = ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,45) )
174
- Time.stubs(:current).returns(twz)
175
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,44)).future?
176
- assert_equal false, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,45)).future?
177
- assert_equal true, ActiveSupport::TimeWithZone.new( nil, @time_zone, Time.local(2005,2,10,15,30,46)).future?
178
- end
179
-
180
- def test_eql?
181
- assert @twz.eql?(Time.utc(2000))
182
- assert @twz.eql?( ActiveSupport::TimeWithZone.new(Time.utc(2000), ActiveSupport::TimeZone["Hawaii"]) )
183
- end
184
-
185
- def test_plus_with_integer
186
- assert_equal Time.utc(1999, 12, 31, 19, 0 ,5), (@twz + 5).time
187
- end
188
-
189
- def test_plus_with_integer_when_self_wraps_datetime
190
- datetime = DateTime.civil(2000, 1, 1, 0)
191
- twz = ActiveSupport::TimeWithZone.new(datetime, @time_zone)
192
- assert_equal DateTime.civil(1999, 12, 31, 19, 0 ,5), (twz + 5).time
193
- end
194
-
195
- def test_plus_when_crossing_time_class_limit
196
- twz = ActiveSupport::TimeWithZone.new(Time.utc(2038, 1, 19), @time_zone)
197
- assert_equal [0, 0, 19, 19, 1, 2038], (twz + 86_400).to_a[0,6]
198
- end
199
-
200
- def test_plus_with_duration
201
- assert_equal Time.utc(2000, 1, 5, 19, 0 ,0), (@twz + 5.days).time
202
- end
203
-
204
- def test_minus_with_integer
205
- assert_equal Time.utc(1999, 12, 31, 18, 59 ,55), (@twz - 5).time
206
- end
207
-
208
- def test_minus_with_integer_when_self_wraps_datetime
209
- datetime = DateTime.civil(2000, 1, 1, 0)
210
- twz = ActiveSupport::TimeWithZone.new(datetime, @time_zone)
211
- assert_equal DateTime.civil(1999, 12, 31, 18, 59 ,55), (twz - 5).time
212
- end
213
-
214
- def test_minus_with_duration
215
- assert_equal Time.utc(1999, 12, 26, 19, 0 ,0), (@twz - 5.days).time
216
- end
217
-
218
- def test_minus_with_time
219
- assert_equal 86_400.0, ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 2), ActiveSupport::TimeZone['UTC'] ) - Time.utc(2000, 1, 1)
220
- assert_equal 86_400.0, ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 2), ActiveSupport::TimeZone['Hawaii'] ) - Time.utc(2000, 1, 1)
221
- end
222
-
223
- def test_minus_with_time_with_zone
224
- twz1 = ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1), ActiveSupport::TimeZone['UTC'] )
225
- twz2 = ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 2), ActiveSupport::TimeZone['UTC'] )
226
- assert_equal 86_400.0, twz2 - twz1
227
- end
228
-
229
- def test_minus_with_datetime
230
- assert_equal 86_400.0, ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 2), ActiveSupport::TimeZone['UTC'] ) - DateTime.civil(2000, 1, 1)
231
- end
232
-
233
- def test_minus_with_wrapped_datetime
234
- assert_equal 86_400.0, ActiveSupport::TimeWithZone.new( DateTime.civil(2000, 1, 2), ActiveSupport::TimeZone['UTC'] ) - Time.utc(2000, 1, 1)
235
- assert_equal 86_400.0, ActiveSupport::TimeWithZone.new( DateTime.civil(2000, 1, 2), ActiveSupport::TimeZone['UTC'] ) - DateTime.civil(2000, 1, 1)
236
- end
237
-
238
- def test_plus_and_minus_enforce_spring_dst_rules
239
- utc = Time.utc(2006,4,2,6,59,59) # == Apr 2 2006 01:59:59 EST; i.e., 1 second before daylight savings start
240
- twz = ActiveSupport::TimeWithZone.new(utc, @time_zone)
241
- assert_equal Time.utc(2006,4,2,1,59,59), twz.time
242
- assert_equal false, twz.dst?
243
- assert_equal 'EST', twz.zone
244
- twz = twz + 1
245
- assert_equal Time.utc(2006,4,2,3), twz.time # adding 1 sec springs forward to 3:00AM EDT
246
- assert_equal true, twz.dst?
247
- assert_equal 'EDT', twz.zone
248
- twz = twz - 1 # subtracting 1 second takes goes back to 1:59:59AM EST
249
- assert_equal Time.utc(2006,4,2,1,59,59), twz.time
250
- assert_equal false, twz.dst?
251
- assert_equal 'EST', twz.zone
252
- end
253
-
254
- def test_plus_and_minus_enforce_fall_dst_rules
255
- utc = Time.utc(2006,10,29,5,59,59) # == Oct 29 2006 01:59:59 EST; i.e., 1 second before daylight savings end
256
- twz = ActiveSupport::TimeWithZone.new(utc, @time_zone)
257
- assert_equal Time.utc(2006,10,29,1,59,59), twz.time
258
- assert_equal true, twz.dst?
259
- assert_equal 'EDT', twz.zone
260
- twz = twz + 1
261
- assert_equal Time.utc(2006,10,29,1), twz.time # adding 1 sec falls back from 1:59:59 EDT to 1:00AM EST
262
- assert_equal false, twz.dst?
263
- assert_equal 'EST', twz.zone
264
- twz = twz - 1
265
- assert_equal Time.utc(2006,10,29,1,59,59), twz.time # subtracting 1 sec goes back to 1:59:59AM EDT
266
- assert_equal true, twz.dst?
267
- assert_equal 'EDT', twz.zone
268
- end
269
-
270
- def test_to_a
271
- assert_equal [45, 30, 5, 1, 2, 2000, 2, 32, false, "HST"], ActiveSupport::TimeWithZone.new( Time.utc(2000, 2, 1, 15, 30, 45), ActiveSupport::TimeZone['Hawaii'] ).to_a
272
- end
273
-
274
- def test_to_f
275
- result = ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1), ActiveSupport::TimeZone['Hawaii'] ).to_f
276
- assert_equal 946684800.0, result
277
- assert result.is_a?(Float)
278
- end
279
-
280
- def test_to_i
281
- result = ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1), ActiveSupport::TimeZone['Hawaii'] ).to_i
282
- assert_equal 946684800, result
283
- assert result.is_a?(Integer)
284
- end
285
-
286
- def test_to_time
287
- assert_equal @twz, @twz.to_time
288
- end
289
-
290
- def test_to_date
291
- # 1 sec before midnight Jan 1 EST
292
- assert_equal Date.new(1999, 12, 31), ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1, 4, 59, 59), ActiveSupport::TimeZone['Eastern Time (US & Canada)'] ).to_date
293
- # midnight Jan 1 EST
294
- assert_equal Date.new(2000, 1, 1), ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 1, 5, 0, 0), ActiveSupport::TimeZone['Eastern Time (US & Canada)'] ).to_date
295
- # 1 sec before midnight Jan 2 EST
296
- assert_equal Date.new(2000, 1, 1), ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 2, 4, 59, 59), ActiveSupport::TimeZone['Eastern Time (US & Canada)'] ).to_date
297
- # midnight Jan 2 EST
298
- assert_equal Date.new(2000, 1, 2), ActiveSupport::TimeWithZone.new( Time.utc(2000, 1, 2, 5, 0, 0), ActiveSupport::TimeZone['Eastern Time (US & Canada)'] ).to_date
299
- end
300
-
301
- def test_to_datetime
302
- assert_equal DateTime.civil(1999, 12, 31, 19, 0, 0, Rational(-18_000, 86_400)), @twz.to_datetime
303
- end
304
-
305
- def test_acts_like_time
306
- assert @twz.acts_like?(:time)
307
- assert ActiveSupport::TimeWithZone.new(DateTime.civil(2000), @time_zone).acts_like?(:time)
308
- end
309
-
310
- def test_acts_like_date
311
- assert_equal false, @twz.acts_like?(:date)
312
- assert_equal false, ActiveSupport::TimeWithZone.new(DateTime.civil(2000), @time_zone).acts_like?(:date)
313
- end
314
-
315
- def test_is_a
316
- assert @twz.is_a?(Time)
317
- assert @twz.kind_of?(Time)
318
- assert @twz.is_a?(ActiveSupport::TimeWithZone)
319
- end
320
-
321
- def test_method_missing_with_time_return_value
322
- assert_instance_of ActiveSupport::TimeWithZone, @twz.months_since(1)
323
- assert_equal Time.utc(2000, 1, 31, 19, 0 ,0), @twz.months_since(1).time
324
- end
325
-
326
- def test_marshal_dump_and_load
327
- marshal_str = Marshal.dump(@twz)
328
- mtime = Marshal.load(marshal_str)
329
- assert_equal Time.utc(2000, 1, 1, 0), mtime.utc
330
- assert mtime.utc.utc?
331
- assert_equal ActiveSupport::TimeZone['Eastern Time (US & Canada)'], mtime.time_zone
332
- assert_equal Time.utc(1999, 12, 31, 19), mtime.time
333
- assert mtime.time.utc?
334
- assert_equal @twz.inspect, mtime.inspect
335
- end
336
-
337
- def test_marshal_dump_and_load_with_tzinfo_identifier
338
- twz = ActiveSupport::TimeWithZone.new(@utc, TZInfo::Timezone.get('America/New_York'))
339
- marshal_str = Marshal.dump(twz)
340
- mtime = Marshal.load(marshal_str)
341
- assert_equal Time.utc(2000, 1, 1, 0), mtime.utc
342
- assert mtime.utc.utc?
343
- assert_equal 'America/New_York', mtime.time_zone.name
344
- assert_equal Time.utc(1999, 12, 31, 19), mtime.time
345
- assert mtime.time.utc?
346
- assert_equal @twz.inspect, mtime.inspect
347
- end
348
-
349
- def test_freeze
350
- @twz.freeze
351
- assert @twz.frozen?
352
- end
353
-
354
- def test_freeze_preloads_instance_variables
355
- @twz.freeze
356
- assert_nothing_raised do
357
- @twz.period
358
- @twz.time
359
- end
360
- end
361
-
362
- def test_method_missing_with_non_time_return_value
363
- @twz.time.expects(:foo).returns('bar')
364
- assert_equal 'bar', @twz.foo
365
- end
366
-
367
- def test_date_part_value_methods
368
- twz = ActiveSupport::TimeWithZone.new(Time.utc(1999,12,31,19,18,17,500), @time_zone)
369
- twz.expects(:method_missing).never
370
- assert_equal 1999, twz.year
371
- assert_equal 12, twz.month
372
- assert_equal 31, twz.day
373
- assert_equal 14, twz.hour
374
- assert_equal 18, twz.min
375
- assert_equal 17, twz.sec
376
- assert_equal 500, twz.usec
377
- assert_equal 5, twz.wday
378
- assert_equal 365, twz.yday
379
- end
380
-
381
- def test_usec_returns_0_when_datetime_is_wrapped
382
- twz = ActiveSupport::TimeWithZone.new(DateTime.civil(2000), @time_zone)
383
- assert_equal 0, twz.usec
384
- end
385
-
386
- def test_utc_to_local_conversion_saves_period_in_instance_variable
387
- assert_nil @twz.instance_variable_get('@period')
388
- @twz.time
389
- assert_kind_of TZInfo::TimezonePeriod, @twz.instance_variable_get('@period')
390
- end
391
-
392
- def test_instance_created_with_local_time_returns_correct_utc_time
393
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(1999, 12, 31, 19))
394
- assert_equal Time.utc(2000), twz.utc
395
- end
396
-
397
- def test_instance_created_with_local_time_enforces_spring_dst_rules
398
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,2,2)) # first second of DST
399
- assert_equal Time.utc(2006,4,2,3), twz.time # springs forward to 3AM
400
- assert_equal true, twz.dst?
401
- assert_equal 'EDT', twz.zone
402
- end
403
-
404
- def test_instance_created_with_local_time_enforces_fall_dst_rules
405
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,10,29,1)) # 1AM can be either DST or non-DST; we'll pick DST
406
- assert_equal Time.utc(2006,10,29,1), twz.time
407
- assert_equal true, twz.dst?
408
- assert_equal 'EDT', twz.zone
409
- end
410
-
411
- def test_ruby_19_weekday_name_query_methods
412
- ruby_19_or_greater = RUBY_VERSION >= '1.9'
413
- %w(sunday? monday? tuesday? wednesday? thursday? friday? saturday?).each do |name|
414
- assert_equal ruby_19_or_greater, @twz.respond_to?(name)
415
- end
416
- end
417
-
418
- def test_utc_to_local_conversion_with_far_future_datetime
419
- assert_equal [0,0,19,31,12,2049], ActiveSupport::TimeWithZone.new(DateTime.civil(2050), @time_zone).to_a[0,6]
420
- end
421
-
422
- def test_local_to_utc_conversion_with_far_future_datetime
423
- assert_equal DateTime.civil(2050).to_f, ActiveSupport::TimeWithZone.new(nil, @time_zone, DateTime.civil(2049,12,31,19)).to_f
424
- end
425
-
426
- def test_change
427
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
428
- assert_equal "Mon, 31 Dec 2001 19:00:00 EST -05:00", @twz.change(:year => 2001).inspect
429
- assert_equal "Wed, 31 Mar 1999 19:00:00 EST -05:00", @twz.change(:month => 3).inspect
430
- assert_equal "Wed, 03 Mar 1999 19:00:00 EST -05:00", @twz.change(:month => 2).inspect
431
- assert_equal "Wed, 15 Dec 1999 19:00:00 EST -05:00", @twz.change(:day => 15).inspect
432
- assert_equal "Fri, 31 Dec 1999 06:00:00 EST -05:00", @twz.change(:hour => 6).inspect
433
- assert_equal "Fri, 31 Dec 1999 19:15:00 EST -05:00", @twz.change(:min => 15).inspect
434
- assert_equal "Fri, 31 Dec 1999 19:00:30 EST -05:00", @twz.change(:sec => 30).inspect
435
- end
436
-
437
- def test_advance
438
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
439
- assert_equal "Mon, 31 Dec 2001 19:00:00 EST -05:00", @twz.advance(:years => 2).inspect
440
- assert_equal "Fri, 31 Mar 2000 19:00:00 EST -05:00", @twz.advance(:months => 3).inspect
441
- assert_equal "Tue, 04 Jan 2000 19:00:00 EST -05:00", @twz.advance(:days => 4).inspect
442
- assert_equal "Sat, 01 Jan 2000 01:00:00 EST -05:00", @twz.advance(:hours => 6).inspect
443
- assert_equal "Fri, 31 Dec 1999 19:15:00 EST -05:00", @twz.advance(:minutes => 15).inspect
444
- assert_equal "Fri, 31 Dec 1999 19:00:30 EST -05:00", @twz.advance(:seconds => 30).inspect
445
- end
446
-
447
- def beginning_of_year
448
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
449
- assert_equal "Fri, 01 Jan 1999 00:00:00 EST -05:00", @twz.beginning_of_year.inspect
450
- end
451
-
452
- def end_of_year
453
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
454
- assert_equal "Fri, 31 Dec 1999 23:59:59 EST -05:00", @twz.end_of_year.inspect
455
- end
456
-
457
- def beginning_of_month
458
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
459
- assert_equal "Fri, 01 Dec 1999 00:00:00 EST -05:00", @twz.beginning_of_month.inspect
460
- end
461
-
462
- def end_of_month
463
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
464
- assert_equal "Fri, 31 Dec 1999 23:59:59 EST -05:00", @twz.end_of_month.inspect
465
- end
466
-
467
- def beginning_of_day
468
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
469
- assert_equal "Fri, 31 Dec 1999 00:00:00 EST -05:00", @twz.beginning_of_day.inspect
470
- end
471
-
472
- def end_of_day
473
- assert_equal "Fri, 31 Dec 1999 19:00:00 EST -05:00", @twz.inspect
474
- assert_equal "Fri, 31 Dec 1999 23:59:59 EST -05:00", @twz.end_of_day.inspect
475
- end
476
-
477
- def test_since
478
- assert_equal "Fri, 31 Dec 1999 19:00:01 EST -05:00", @twz.since(1).inspect
479
- end
480
-
481
- def test_ago
482
- assert_equal "Fri, 31 Dec 1999 18:59:59 EST -05:00", @twz.ago(1).inspect
483
- end
484
-
485
- def test_seconds_since_midnight
486
- assert_equal 19 * 60 * 60, @twz.seconds_since_midnight
487
- end
488
-
489
- def test_advance_1_year_from_leap_day
490
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2004,2,29))
491
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", twz.advance(:years => 1).inspect
492
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", twz.years_since(1).inspect
493
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", twz.since(1.year).inspect
494
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", (twz + 1.year).inspect
495
- end
496
-
497
- def test_advance_1_month_from_last_day_of_january
498
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2005,1,31))
499
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", twz.advance(:months => 1).inspect
500
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", twz.months_since(1).inspect
501
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", twz.since(1.month).inspect
502
- assert_equal "Mon, 28 Feb 2005 00:00:00 EST -05:00", (twz + 1.month).inspect
503
- end
504
-
505
- def test_advance_1_month_from_last_day_of_january_during_leap_year
506
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2000,1,31))
507
- assert_equal "Tue, 29 Feb 2000 00:00:00 EST -05:00", twz.advance(:months => 1).inspect
508
- assert_equal "Tue, 29 Feb 2000 00:00:00 EST -05:00", twz.months_since(1).inspect
509
- assert_equal "Tue, 29 Feb 2000 00:00:00 EST -05:00", twz.since(1.month).inspect
510
- assert_equal "Tue, 29 Feb 2000 00:00:00 EST -05:00", (twz + 1.month).inspect
511
- end
512
-
513
- def test_advance_1_month_into_spring_dst_gap
514
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,3,2,2))
515
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", twz.advance(:months => 1).inspect
516
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", twz.months_since(1).inspect
517
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", twz.since(1.month).inspect
518
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", (twz + 1.month).inspect
519
- end
520
-
521
- def test_advance_1_second_into_spring_dst_gap
522
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,2,1,59,59))
523
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", twz.advance(:seconds => 1).inspect
524
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", (twz + 1).inspect
525
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", twz.since(1).inspect
526
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", twz.since(1.second).inspect
527
- assert_equal "Sun, 02 Apr 2006 03:00:00 EDT -04:00", (twz + 1.second).inspect
528
- end
529
-
530
- def test_advance_1_day_across_spring_dst_transition
531
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,1,10,30))
532
- # In 2006, spring DST transition occurred Apr 2 at 2AM; this day was only 23 hours long
533
- # When we advance 1 day, we want to end up at the same time on the next day
534
- assert_equal "Sun, 02 Apr 2006 10:30:00 EDT -04:00", twz.advance(:days => 1).inspect
535
- assert_equal "Sun, 02 Apr 2006 10:30:00 EDT -04:00", twz.since(1.days).inspect
536
- assert_equal "Sun, 02 Apr 2006 10:30:00 EDT -04:00", (twz + 1.days).inspect
537
- assert_equal "Sun, 02 Apr 2006 10:30:01 EDT -04:00", twz.since(1.days + 1.second).inspect
538
- assert_equal "Sun, 02 Apr 2006 10:30:01 EDT -04:00", (twz + 1.days + 1.second).inspect
539
- end
540
-
541
- def test_advance_1_day_across_spring_dst_transition_backwards
542
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,2,10,30))
543
- # In 2006, spring DST transition occurred Apr 2 at 2AM; this day was only 23 hours long
544
- # When we advance back 1 day, we want to end up at the same time on the previous day
545
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.advance(:days => -1).inspect
546
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.ago(1.days).inspect
547
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", (twz - 1.days).inspect
548
- assert_equal "Sat, 01 Apr 2006 10:30:01 EST -05:00", twz.ago(1.days - 1.second).inspect
549
- end
550
-
551
- def test_advance_1_day_expressed_as_number_of_seconds_minutes_or_hours_across_spring_dst_transition
552
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,1,10,30))
553
- # In 2006, spring DST transition occurred Apr 2 at 2AM; this day was only 23 hours long
554
- # When we advance a specific number of hours, minutes or seconds, we want to advance exactly that amount
555
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", (twz + 86400).inspect
556
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", (twz + 86400.seconds).inspect
557
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.since(86400).inspect
558
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.since(86400.seconds).inspect
559
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.advance(:seconds => 86400).inspect
560
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", (twz + 1440.minutes).inspect
561
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.since(1440.minutes).inspect
562
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.advance(:minutes => 1440).inspect
563
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", (twz + 24.hours).inspect
564
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.since(24.hours).inspect
565
- assert_equal "Sun, 02 Apr 2006 11:30:00 EDT -04:00", twz.advance(:hours => 24).inspect
566
- end
567
-
568
- def test_advance_1_day_expressed_as_number_of_seconds_minutes_or_hours_across_spring_dst_transition_backwards
569
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,2,11,30))
570
- # In 2006, spring DST transition occurred Apr 2 at 2AM; this day was only 23 hours long
571
- # When we advance a specific number of hours, minutes or seconds, we want to advance exactly that amount
572
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", (twz - 86400).inspect
573
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", (twz - 86400.seconds).inspect
574
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.ago(86400).inspect
575
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.ago(86400.seconds).inspect
576
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.advance(:seconds => -86400).inspect
577
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", (twz - 1440.minutes).inspect
578
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.ago(1440.minutes).inspect
579
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.advance(:minutes => -1440).inspect
580
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", (twz - 24.hours).inspect
581
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.ago(24.hours).inspect
582
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.advance(:hours => -24).inspect
583
- end
584
-
585
- def test_advance_1_day_across_fall_dst_transition
586
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,10,28,10,30))
587
- # In 2006, fall DST transition occurred Oct 29 at 2AM; this day was 25 hours long
588
- # When we advance 1 day, we want to end up at the same time on the next day
589
- assert_equal "Sun, 29 Oct 2006 10:30:00 EST -05:00", twz.advance(:days => 1).inspect
590
- assert_equal "Sun, 29 Oct 2006 10:30:00 EST -05:00", twz.since(1.days).inspect
591
- assert_equal "Sun, 29 Oct 2006 10:30:00 EST -05:00", (twz + 1.days).inspect
592
- assert_equal "Sun, 29 Oct 2006 10:30:01 EST -05:00", twz.since(1.days + 1.second).inspect
593
- assert_equal "Sun, 29 Oct 2006 10:30:01 EST -05:00", (twz + 1.days + 1.second).inspect
594
- end
595
-
596
- def test_advance_1_day_across_fall_dst_transition_backwards
597
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,10,29,10,30))
598
- # In 2006, fall DST transition occurred Oct 29 at 2AM; this day was 25 hours long
599
- # When we advance backwards 1 day, we want to end up at the same time on the previous day
600
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.advance(:days => -1).inspect
601
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.ago(1.days).inspect
602
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", (twz - 1.days).inspect
603
- assert_equal "Sat, 28 Oct 2006 10:30:01 EDT -04:00", twz.ago(1.days - 1.second).inspect
604
- end
605
-
606
- def test_advance_1_day_expressed_as_number_of_seconds_minutes_or_hours_across_fall_dst_transition
607
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,10,28,10,30))
608
- # In 2006, fall DST transition occurred Oct 29 at 2AM; this day was 25 hours long
609
- # When we advance a specific number of hours, minutes or seconds, we want to advance exactly that amount
610
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", (twz + 86400).inspect
611
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", (twz + 86400.seconds).inspect
612
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.since(86400).inspect
613
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.since(86400.seconds).inspect
614
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.advance(:seconds => 86400).inspect
615
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", (twz + 1440.minutes).inspect
616
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.since(1440.minutes).inspect
617
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.advance(:minutes => 1440).inspect
618
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", (twz + 24.hours).inspect
619
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.since(24.hours).inspect
620
- assert_equal "Sun, 29 Oct 2006 09:30:00 EST -05:00", twz.advance(:hours => 24).inspect
621
- end
622
-
623
- def test_advance_1_day_expressed_as_number_of_seconds_minutes_or_hours_across_fall_dst_transition_backwards
624
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,10,29,9,30))
625
- # In 2006, fall DST transition occurred Oct 29 at 2AM; this day was 25 hours long
626
- # When we advance a specific number of hours, minutes or seconds, we want to advance exactly that amount
627
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", (twz - 86400).inspect
628
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", (twz - 86400.seconds).inspect
629
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.ago(86400).inspect
630
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.ago(86400.seconds).inspect
631
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.advance(:seconds => -86400).inspect
632
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", (twz - 1440.minutes).inspect
633
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.ago(1440.minutes).inspect
634
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.advance(:minutes => -1440).inspect
635
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", (twz - 24.hours).inspect
636
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.ago(24.hours).inspect
637
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.advance(:hours => -24).inspect
638
- end
639
-
640
- def test_advance_1_month_across_spring_dst_transition
641
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,4,1,10,30))
642
- assert_equal "Mon, 01 May 2006 10:30:00 EDT -04:00", twz.advance(:months => 1).inspect
643
- assert_equal "Mon, 01 May 2006 10:30:00 EDT -04:00", twz.months_since(1).inspect
644
- assert_equal "Mon, 01 May 2006 10:30:00 EDT -04:00", twz.since(1.month).inspect
645
- assert_equal "Mon, 01 May 2006 10:30:00 EDT -04:00", (twz + 1.month).inspect
646
- end
647
-
648
- def test_advance_1_month_across_spring_dst_transition_backwards
649
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,5,1,10,30))
650
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.advance(:months => -1).inspect
651
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.months_ago(1).inspect
652
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", twz.ago(1.month).inspect
653
- assert_equal "Sat, 01 Apr 2006 10:30:00 EST -05:00", (twz - 1.month).inspect
654
- end
655
-
656
- def test_advance_1_month_across_fall_dst_transition
657
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,10,28,10,30))
658
- assert_equal "Tue, 28 Nov 2006 10:30:00 EST -05:00", twz.advance(:months => 1).inspect
659
- assert_equal "Tue, 28 Nov 2006 10:30:00 EST -05:00", twz.months_since(1).inspect
660
- assert_equal "Tue, 28 Nov 2006 10:30:00 EST -05:00", twz.since(1.month).inspect
661
- assert_equal "Tue, 28 Nov 2006 10:30:00 EST -05:00", (twz + 1.month).inspect
662
- end
663
-
664
- def test_advance_1_month_across_fall_dst_transition_backwards
665
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2006,11,28,10,30))
666
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.advance(:months => -1).inspect
667
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.months_ago(1).inspect
668
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", twz.ago(1.month).inspect
669
- assert_equal "Sat, 28 Oct 2006 10:30:00 EDT -04:00", (twz - 1.month).inspect
670
- end
671
-
672
- def test_advance_1_year
673
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2008,2,15,10,30))
674
- assert_equal "Sun, 15 Feb 2009 10:30:00 EST -05:00", twz.advance(:years => 1).inspect
675
- assert_equal "Sun, 15 Feb 2009 10:30:00 EST -05:00", twz.years_since(1).inspect
676
- assert_equal "Sun, 15 Feb 2009 10:30:00 EST -05:00", (twz + 1.year).inspect
677
- assert_equal "Thu, 15 Feb 2007 10:30:00 EST -05:00", twz.advance(:years => -1).inspect
678
- assert_equal "Thu, 15 Feb 2007 10:30:00 EST -05:00", twz.years_ago(1).inspect
679
- assert_equal "Thu, 15 Feb 2007 10:30:00 EST -05:00", (twz - 1.year).inspect
680
- end
681
-
682
- def test_advance_1_year_during_dst
683
- twz = ActiveSupport::TimeWithZone.new(nil, @time_zone, Time.utc(2008,7,15,10,30))
684
- assert_equal "Wed, 15 Jul 2009 10:30:00 EDT -04:00", twz.advance(:years => 1).inspect
685
- assert_equal "Wed, 15 Jul 2009 10:30:00 EDT -04:00", twz.years_since(1).inspect
686
- assert_equal "Wed, 15 Jul 2009 10:30:00 EDT -04:00", (twz + 1.year).inspect
687
- assert_equal "Sun, 15 Jul 2007 10:30:00 EDT -04:00", twz.advance(:years => -1).inspect
688
- assert_equal "Sun, 15 Jul 2007 10:30:00 EDT -04:00", twz.years_ago(1).inspect
689
- assert_equal "Sun, 15 Jul 2007 10:30:00 EDT -04:00", (twz - 1.year).inspect
690
- end
691
-
692
- protected
693
- def with_env_tz(new_tz = 'US/Eastern')
694
- old_tz, ENV['TZ'] = ENV['TZ'], new_tz
695
- yield
696
- ensure
697
- old_tz ? ENV['TZ'] = old_tz : ENV.delete('TZ')
698
- end
699
- end
700
-
701
- class TimeWithZoneMethodsForTimeAndDateTimeTest < Test::Unit::TestCase
702
- def setup
703
- @t, @dt = Time.utc(2000), DateTime.civil(2000)
704
- end
705
-
706
- def teardown
707
- Time.zone = nil
708
- end
709
-
710
- def test_in_time_zone
711
- Time.use_zone 'Alaska' do
712
- assert_equal 'Fri, 31 Dec 1999 15:00:00 AKST -09:00', @t.in_time_zone.inspect
713
- assert_equal 'Fri, 31 Dec 1999 15:00:00 AKST -09:00', @dt.in_time_zone.inspect
714
- end
715
- Time.use_zone 'Hawaii' do
716
- assert_equal 'Fri, 31 Dec 1999 14:00:00 HST -10:00', @t.in_time_zone.inspect
717
- assert_equal 'Fri, 31 Dec 1999 14:00:00 HST -10:00', @dt.in_time_zone.inspect
718
- end
719
- Time.use_zone nil do
720
- assert_equal @t, @t.in_time_zone
721
- assert_equal @dt, @dt.in_time_zone
722
- end
723
- end
724
-
725
- def test_in_time_zone_with_argument
726
- Time.use_zone 'Eastern Time (US & Canada)' do # Time.zone will not affect #in_time_zone(zone)
727
- assert_equal 'Fri, 31 Dec 1999 15:00:00 AKST -09:00', @t.in_time_zone('Alaska').inspect
728
- assert_equal 'Fri, 31 Dec 1999 15:00:00 AKST -09:00', @dt.in_time_zone('Alaska').inspect
729
- assert_equal 'Fri, 31 Dec 1999 14:00:00 HST -10:00', @t.in_time_zone('Hawaii').inspect
730
- assert_equal 'Fri, 31 Dec 1999 14:00:00 HST -10:00', @dt.in_time_zone('Hawaii').inspect
731
- assert_equal 'Sat, 01 Jan 2000 00:00:00 UTC +00:00', @t.in_time_zone('UTC').inspect
732
- assert_equal 'Sat, 01 Jan 2000 00:00:00 UTC +00:00', @dt.in_time_zone('UTC').inspect
733
- assert_equal 'Fri, 31 Dec 1999 15:00:00 AKST -09:00', @t.in_time_zone(-9.hours).inspect
734
- end
735
- end
736
-
737
- def test_in_time_zone_with_time_local_instance
738
- with_env_tz 'US/Eastern' do
739
- time = Time.local(1999, 12, 31, 19) # == Time.utc(2000)
740
- assert_equal 'Fri, 31 Dec 1999 15:00:00 AKST -09:00', time.in_time_zone('Alaska').inspect
741
- end
742
- end
743
-
744
- def test_use_zone
745
- Time.zone = 'Alaska'
746
- Time.use_zone 'Hawaii' do
747
- assert_equal ActiveSupport::TimeZone['Hawaii'], Time.zone
748
- end
749
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
750
- end
751
-
752
- def test_use_zone_with_exception_raised
753
- Time.zone = 'Alaska'
754
- assert_raise RuntimeError do
755
- Time.use_zone('Hawaii') { raise RuntimeError }
756
- end
757
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
758
- end
759
-
760
- def test_time_zone_getter_and_setter
761
- Time.zone = ActiveSupport::TimeZone['Alaska']
762
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
763
- Time.zone = 'Alaska'
764
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
765
- Time.zone = -9.hours
766
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
767
- Time.zone = nil
768
- assert_equal nil, Time.zone
769
- end
770
-
771
- def test_time_zone_getter_and_setter_with_zone_default
772
- Time.zone_default = ActiveSupport::TimeZone['Alaska']
773
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
774
- Time.zone = ActiveSupport::TimeZone['Hawaii']
775
- assert_equal ActiveSupport::TimeZone['Hawaii'], Time.zone
776
- Time.zone = nil
777
- assert_equal ActiveSupport::TimeZone['Alaska'], Time.zone
778
- ensure
779
- Time.zone_default = nil
780
- end
781
-
782
- def test_time_zone_setter_is_thread_safe
783
- Time.use_zone 'Paris' do
784
- t1 = Thread.new { Time.zone = 'Alaska' }.join
785
- t2 = Thread.new { Time.zone = 'Hawaii' }.join
786
- assert t1.stop?, "Thread 1 did not finish running"
787
- assert t2.stop?, "Thread 2 did not finish running"
788
- assert_equal ActiveSupport::TimeZone['Paris'], Time.zone
789
- assert_equal ActiveSupport::TimeZone['Alaska'], t1[:time_zone]
790
- assert_equal ActiveSupport::TimeZone['Hawaii'], t2[:time_zone]
791
- end
792
- end
793
-
794
- def test_time_zone_setter_with_tzinfo_timezone_object_wraps_in_rails_time_zone
795
- tzinfo = TZInfo::Timezone.get('America/New_York')
796
- Time.zone = tzinfo
797
- assert_kind_of ActiveSupport::TimeZone, Time.zone
798
- assert_equal tzinfo, Time.zone.tzinfo
799
- assert_equal 'America/New_York', Time.zone.name
800
- assert_equal(-18_000, Time.zone.utc_offset)
801
- end
802
-
803
- def test_time_zone_setter_with_tzinfo_timezone_identifier_does_lookup_and_wraps_in_rails_time_zone
804
- Time.zone = 'America/New_York'
805
- assert_kind_of ActiveSupport::TimeZone, Time.zone
806
- assert_equal 'America/New_York', Time.zone.tzinfo.name
807
- assert_equal 'America/New_York', Time.zone.name
808
- assert_equal(-18_000, Time.zone.utc_offset)
809
- end
810
-
811
- def test_time_zone_setter_with_non_identifying_argument_returns_nil
812
- Time.zone = 'foo'
813
- assert_equal nil, Time.zone
814
- Time.zone = -15.hours
815
- assert_equal nil, Time.zone
816
- end
817
-
818
- def test_current_returns_time_now_when_zone_default_not_set
819
- with_env_tz 'US/Eastern' do
820
- Time.stubs(:now).returns Time.local(2000)
821
- assert_equal false, Time.current.is_a?(ActiveSupport::TimeWithZone)
822
- assert_equal Time.local(2000), Time.current
823
- end
824
- end
825
-
826
- def test_current_returns_time_zone_now_when_zone_default_set
827
- Time.zone_default = ActiveSupport::TimeZone['Eastern Time (US & Canada)']
828
- with_env_tz 'US/Eastern' do
829
- Time.stubs(:now).returns Time.local(2000)
830
- assert_equal true, Time.current.is_a?(ActiveSupport::TimeWithZone)
831
- assert_equal 'Eastern Time (US & Canada)', Time.current.time_zone.name
832
- assert_equal Time.utc(2000), Time.current.time
833
- end
834
- ensure
835
- Time.zone_default = nil
836
- end
837
-
838
- protected
839
- def with_env_tz(new_tz = 'US/Eastern')
840
- old_tz, ENV['TZ'] = ENV['TZ'], new_tz
841
- yield
842
- ensure
843
- old_tz ? ENV['TZ'] = old_tz : ENV.delete('TZ')
844
- end
845
- end