fortitude 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec-local +4 -0
  4. data/.travis.yml +26 -0
  5. data/Gemfile +5 -0
  6. data/LICENSE.txt +22 -0
  7. data/README-erector.md +246 -0
  8. data/README.md +15 -0
  9. data/Rakefile +67 -0
  10. data/ext/FortitudeJrubyNativeExtService.java +11 -0
  11. data/ext/com/fortituderuby/ext/fortitude/FortitudeNativeLibrary.java +223 -0
  12. data/ext/fortitude_native_ext/extconf.rb +4 -0
  13. data/ext/fortitude_native_ext/fortitude_native_ext.c +333 -0
  14. data/fortitude.gemspec +37 -0
  15. data/lib/fortitude/assign_locals_from_template.rb.smpl +22 -0
  16. data/lib/fortitude/assigns_proxy.rb +75 -0
  17. data/lib/fortitude/class_inheritable_attributes.rb +96 -0
  18. data/lib/fortitude/doctypes/base.rb +38 -0
  19. data/lib/fortitude/doctypes/html4.rb +20 -0
  20. data/lib/fortitude/doctypes/html4_frameset.rb +18 -0
  21. data/lib/fortitude/doctypes/html4_strict.rb +17 -0
  22. data/lib/fortitude/doctypes/html4_tags_frameset.rb +52 -0
  23. data/lib/fortitude/doctypes/html4_tags_strict.rb +273 -0
  24. data/lib/fortitude/doctypes/html4_tags_transitional.rb +114 -0
  25. data/lib/fortitude/doctypes/html4_transitional.rb +18 -0
  26. data/lib/fortitude/doctypes/html5.rb +372 -0
  27. data/lib/fortitude/doctypes/unknown_doctype.rb +19 -0
  28. data/lib/fortitude/doctypes/xhtml10.rb +19 -0
  29. data/lib/fortitude/doctypes/xhtml10_frameset.rb +17 -0
  30. data/lib/fortitude/doctypes/xhtml10_strict.rb +17 -0
  31. data/lib/fortitude/doctypes/xhtml10_transitional.rb +17 -0
  32. data/lib/fortitude/doctypes/xhtml11.rb +29 -0
  33. data/lib/fortitude/doctypes.rb +46 -0
  34. data/lib/fortitude/errors.rb +153 -0
  35. data/lib/fortitude/fortitude_ruby_ext.rb +71 -0
  36. data/lib/fortitude/instance_variable_set.rb +74 -0
  37. data/lib/fortitude/need_assignment_template.rb.smpl +16 -0
  38. data/lib/fortitude/need_method_template.rb.smpl +4 -0
  39. data/lib/fortitude/non_rails_widget_methods.rb +15 -0
  40. data/lib/fortitude/partial_tag_placeholder.rb +17 -0
  41. data/lib/fortitude/rails/helpers.rb +153 -0
  42. data/lib/fortitude/rails/renderer.rb +43 -0
  43. data/lib/fortitude/rails/template_handler.rb +23 -0
  44. data/lib/fortitude/rails/widget_methods.rb +17 -0
  45. data/lib/fortitude/rails/yielded_object_outputter.rb +31 -0
  46. data/lib/fortitude/railtie.rb +254 -0
  47. data/lib/fortitude/rendering_context.rb +205 -0
  48. data/lib/fortitude/simple_template.rb +45 -0
  49. data/lib/fortitude/staticized_method.rb +85 -0
  50. data/lib/fortitude/tag.rb +162 -0
  51. data/lib/fortitude/tag_method_template.rb.smpl +68 -0
  52. data/lib/fortitude/tag_return_value.rb +11 -0
  53. data/lib/fortitude/tag_store.rb +48 -0
  54. data/lib/fortitude/tag_support.rb +48 -0
  55. data/lib/fortitude/tags_module.rb +14 -0
  56. data/lib/fortitude/text_method_template.rb.smpl +17 -0
  57. data/lib/fortitude/tilt/fortitude_template.rb +169 -0
  58. data/lib/fortitude/version.rb +3 -0
  59. data/lib/fortitude/widget.rb +904 -0
  60. data/lib/fortitude/widgets/html4_frameset.rb +9 -0
  61. data/lib/fortitude/widgets/html4_strict.rb +9 -0
  62. data/lib/fortitude/widgets/html4_transitional.rb +9 -0
  63. data/lib/fortitude/widgets/html5.rb +9 -0
  64. data/lib/fortitude/widgets/xhtml10_frameset.rb +9 -0
  65. data/lib/fortitude/widgets/xhtml10_strict.rb +9 -0
  66. data/lib/fortitude/widgets/xhtml10_transitional.rb +9 -0
  67. data/lib/fortitude/widgets/xhtml11.rb +9 -0
  68. data/lib/fortitude.rb +93 -0
  69. data/lib/fortitude_jruby_native_ext.jar +0 -0
  70. data/spec/helpers/global_helper.rb +8 -0
  71. data/spec/helpers/rails_helpers.rb +85 -0
  72. data/spec/helpers/rails_server.rb +386 -0
  73. data/spec/helpers/system_helpers.rb +117 -0
  74. data/spec/rails/basic_rails_system_spec.rb +7 -0
  75. data/spec/rails/capture_system_spec.rb +75 -0
  76. data/spec/rails/class_loading_system_spec.rb +63 -0
  77. data/spec/rails/complex_helpers_system_spec.rb +33 -0
  78. data/spec/rails/data_passing_system_spec.rb +96 -0
  79. data/spec/rails/default_layout_system_spec.rb +15 -0
  80. data/spec/rails/development_mode_system_spec.rb +67 -0
  81. data/spec/rails/erb_integration_system_spec.rb +23 -0
  82. data/spec/rails/helpers_include_all_off_system_spec.rb +7 -0
  83. data/spec/rails/helpers_system_spec.rb +79 -0
  84. data/spec/rails/helpers_unrefined_system_spec.rb +7 -0
  85. data/spec/rails/layouts_system_spec.rb +60 -0
  86. data/spec/rails/localization_system_spec.rb +38 -0
  87. data/spec/rails/production_mode_system_spec.rb +13 -0
  88. data/spec/rails/rendering_context_system_spec.rb +64 -0
  89. data/spec/rails/rendering_system_spec.rb +158 -0
  90. data/spec/rails/rules_system_spec.rb +23 -0
  91. data/spec/rails/static_method_system_spec.rb +12 -0
  92. data/spec/rails/templates/base/app/controllers/application_controller.rb +15 -0
  93. data/spec/rails/templates/base/app/controllers/working_controller.rb +5 -0
  94. data/spec/rails/templates/base/app/views/layouts/application.html.erb +11 -0
  95. data/spec/rails/templates/base/config/routes.rb +4 -0
  96. data/spec/rails/templates/base/config/secrets.yml +22 -0
  97. data/spec/rails/templates/basic_rails_system_spec/app/controllers/basic_rails_system_spec_controller.rb +8 -0
  98. data/spec/rails/templates/basic_rails_system_spec/app/views/basic_rails_system_spec/trivial_widget.rb +5 -0
  99. data/spec/rails/templates/capture_system_spec/app/controllers/capture_system_spec_controller.rb +37 -0
  100. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/_some_erb_partial.html.erb +1 -0
  101. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/another_widget.rb +7 -0
  102. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/capture_erb_from_widget.rb +11 -0
  103. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/capture_widget_from_erb.html.erb +9 -0
  104. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/capture_widget_from_widget.rb +17 -0
  105. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/some_widget.rb +5 -0
  106. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/widget_content_for.rb +19 -0
  107. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/widget_layout_needing_content_yield_with_erb.html.erb +13 -0
  108. data/spec/rails/templates/capture_system_spec/app/views/capture_system_spec/widget_provide.rb +13 -0
  109. data/spec/rails/templates/capture_system_spec/app/views/layouts/erb_layout_needing_content.html.erb +15 -0
  110. data/spec/rails/templates/capture_system_spec/app/views/layouts/widget_layout_needing_content_content_for.rb +23 -0
  111. data/spec/rails/templates/capture_system_spec/app/views/layouts/widget_layout_needing_content_yield.rb +23 -0
  112. data/spec/rails/templates/class_loading_system_spec/app/controllers/class_loading_system_spec_controller.rb +74 -0
  113. data/spec/rails/templates/class_loading_system_spec/app/models/views/app_models_helper.rb +5 -0
  114. data/spec/rails/templates/class_loading_system_spec/app/models/views/models_widget.rb +5 -0
  115. data/spec/rails/templates/class_loading_system_spec/app/views/autoload_namespace/autoload_widget.rb +11 -0
  116. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/_loaded_underscore_widget.rb +11 -0
  117. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/_underscore_view.rb +5 -0
  118. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/_underscore_widget.rb +11 -0
  119. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/app_models.rb +6 -0
  120. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/autoload_one_widget_from_another.rb +7 -0
  121. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/class_should_not_load.rb +9 -0
  122. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/lib_views.rb +8 -0
  123. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/use_lib_widget_from_view_widget.rb +9 -0
  124. data/spec/rails/templates/class_loading_system_spec/app/views/class_loading_system_spec/use_models_widget_from_view_widget.rb +7 -0
  125. data/spec/rails/templates/class_loading_system_spec/app/views/some_namespace/some_other_namespace/.git_keep +0 -0
  126. data/spec/rails/templates/class_loading_system_spec/app/views/sub_widget.rb +5 -0
  127. data/spec/rails/templates/class_loading_system_spec/lib/arbitrary_name/some_widget.rb +7 -0
  128. data/spec/rails/templates/class_loading_system_spec/lib/views/class_loading_system_spec/lib_views_helper.rb +5 -0
  129. data/spec/rails/templates/class_loading_system_spec/lib/views/class_loading_system_spec/widget_defined_outside_app_views.rb +5 -0
  130. data/spec/rails/templates/class_loading_system_spec/lib/views/lib_widget.rb +5 -0
  131. data/spec/rails/templates/complex_helpers_system_spec/app/controllers/complex_helpers_system_spec_controller.rb +14 -0
  132. data/spec/rails/templates/complex_helpers_system_spec/app/views/complex_helpers_system_spec/cache_test.rb +12 -0
  133. data/spec/rails/templates/complex_helpers_system_spec/app/views/complex_helpers_system_spec/fields_for_test.rb +14 -0
  134. data/spec/rails/templates/complex_helpers_system_spec/app/views/complex_helpers_system_spec/form_for_test.rb +14 -0
  135. data/spec/rails/templates/complex_helpers_system_spec/config/environments/development.rb +31 -0
  136. data/spec/rails/templates/data_passing_system_spec/app/controllers/data_passing_system_spec_controller.rb +101 -0
  137. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/_erb_to_parallel_widget_handoff_erb.html.erb +3 -0
  138. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/_implicit_erb_to_widget_handoff_erb.html.erb +3 -0
  139. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/_implicit_variable_write_erb.html.erb +1 -0
  140. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/_widget_to_parallel_erb_handoff_erb.html.erb +1 -0
  141. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/erb_copied_variables.html.erb +1 -0
  142. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/erb_to_parallel_widget_handoff.html.erb +2 -0
  143. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/erb_to_parallel_widget_handoff_widget.rb +5 -0
  144. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/explicit_controller_variable_read.rb +6 -0
  145. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/extra_variables.rb +23 -0
  146. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/extra_variables_requested.rb +24 -0
  147. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_erb_to_widget_handoff.html.erb +2 -0
  148. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_erb_to_widget_handoff_widget.rb +7 -0
  149. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_shared_variable_access.rb +5 -0
  150. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_shared_variable_access_inheritance.rb +6 -0
  151. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_shared_variable_access_inheritance_child_one.rb +7 -0
  152. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_shared_variable_access_inheritance_child_two.rb +5 -0
  153. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_shared_variable_access_inheritance_parent.rb +3 -0
  154. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_shared_variable_access_inner.rb +8 -0
  155. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_variable_read.rb +5 -0
  156. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_variable_read_inner.rb +7 -0
  157. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_variable_write.html.erb +2 -0
  158. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/implicit_variable_write_widget.rb +7 -0
  159. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/parent_to_child_passing.rb +7 -0
  160. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/parent_to_child_passing_child.rb +7 -0
  161. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/parent_to_child_passing_partial.rb +7 -0
  162. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/parent_to_child_passing_partial_child.rb +7 -0
  163. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/passing_data_widget.rb +8 -0
  164. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/passing_locals_and_controller_variables_widget.rb +9 -0
  165. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/passing_locals_widget.rb +8 -0
  166. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/variables_to_layout.rb +7 -0
  167. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/widget_copied_variables.rb +9 -0
  168. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/widget_to_parallel_erb_handoff.html.erb +2 -0
  169. data/spec/rails/templates/data_passing_system_spec/app/views/data_passing_system_spec/widget_to_parallel_erb_handoff_widget.rb +5 -0
  170. data/spec/rails/templates/data_passing_system_spec/app/views/layouts/data_layout.rb +14 -0
  171. data/spec/rails/templates/default_layout_system_spec/app/controllers/default_layout_system_spec_controller.rb +9 -0
  172. data/spec/rails/templates/default_layout_system_spec/app/views/default_layout_system_spec/erb_with_widget_default_layout.html.erb +1 -0
  173. data/spec/rails/templates/default_layout_system_spec/app/views/default_layout_system_spec/widget_with_widget_default_layout.rb +5 -0
  174. data/spec/rails/templates/default_layout_system_spec/app/views/layouts/application.rb +12 -0
  175. data/spec/rails/templates/development_mode_system_spec/app/controllers/development_mode_system_spec_controller.rb +9 -0
  176. data/spec/rails/templates/development_mode_system_spec/app/views/development_mode_system_spec/reload_widget.rb +7 -0
  177. data/spec/rails/templates/development_mode_system_spec/app/views/development_mode_system_spec/sample_output.rb +9 -0
  178. data/spec/rails/templates/erb_integration_system_spec/app/controllers/erb_integration_system_spec_controller.rb +10 -0
  179. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/_erb_partial_from_widget_partial.html.erb +1 -0
  180. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/_fortitude_partial_with_underscore_partial.rb +5 -0
  181. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/_prefers_erb_partial_partial.html.erb +1 -0
  182. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/erb_partial_from_widget.rb +7 -0
  183. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/erb_to_widget_with_render_partial.html.erb +3 -0
  184. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/erb_to_widget_with_render_partial_widget.rb +5 -0
  185. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/fortitude_partial_with_underscore.html.erb +3 -0
  186. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/prefers_erb_partial.html.erb +3 -0
  187. data/spec/rails/templates/erb_integration_system_spec/app/views/erb_integration_system_spec/prefers_erb_partial_partial.rb +5 -0
  188. data/spec/rails/templates/helpers_include_all_off_system_spec/app/controllers/helpers_include_all_off_system_spec_controller.rb +13 -0
  189. data/spec/rails/templates/helpers_include_all_off_system_spec/app/helpers/application_helper.rb +5 -0
  190. data/spec/rails/templates/helpers_include_all_off_system_spec/app/helpers/some_helper.rb +5 -0
  191. data/spec/rails/templates/helpers_include_all_off_system_spec/app/views/helpers_include_all_off_system_spec/include_all_off.rb +23 -0
  192. data/spec/rails/templates/helpers_include_all_off_system_spec/config/application.rb +28 -0
  193. data/spec/rails/templates/helpers_system_spec/app/controllers/helpers_system_spec_controller.rb +86 -0
  194. data/spec/rails/templates/helpers_system_spec/app/helpers/some_helper.rb +21 -0
  195. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/automatic_helpers_disabled.rb +37 -0
  196. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/automatic_helpers_inheritance.rb +6 -0
  197. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/automatic_helpers_inheritance_child_one.rb +34 -0
  198. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/automatic_helpers_inheritance_child_two.rb +36 -0
  199. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/automatic_helpers_inheritance_parent.rb +4 -0
  200. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/basic_helpers.rb +13 -0
  201. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/block_helpers.rb +7 -0
  202. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/built_in_outputting_helpers.rb +13 -0
  203. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/built_in_outputting_to_returning.rb +8 -0
  204. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/built_in_returning_to_outputting.rb +10 -0
  205. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/controller_helper_method.rb +5 -0
  206. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/controller_helper_module.rb +5 -0
  207. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/custom_helper_outputs.rb +6 -0
  208. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/custom_helpers_basic.rb +5 -0
  209. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/custom_helpers_with_a_block.rb +6 -0
  210. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/custom_outputting_to_returning.rb +7 -0
  211. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/custom_returning_to_outputting.rb +10 -0
  212. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/helper_settings_inheritance.rb +10 -0
  213. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/helper_settings_inheritance_parent.rb +4 -0
  214. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/helpers_that_output_when_refined.rb +9 -0
  215. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/private_helper_erb.html.erb +1 -0
  216. data/spec/rails/templates/helpers_system_spec/app/views/helpers_system_spec/private_helper_fortitude.rb +5 -0
  217. data/spec/rails/templates/helpers_system_spec/lib/some_stuff.rb +5 -0
  218. data/spec/rails/templates/helpers_unrefined_system_spec/app/controllers/helpers_unrefined_system_spec_controller.rb +7 -0
  219. data/spec/rails/templates/helpers_unrefined_system_spec/app/views/helpers_unrefined_system_spec/helpers_that_output_when_refined.rb +9 -0
  220. data/spec/rails/templates/helpers_unrefined_system_spec/config/environments/production.rb +31 -0
  221. data/spec/rails/templates/layouts_system_spec/app/controllers/layouts_system_spec_controller.rb +31 -0
  222. data/spec/rails/templates/layouts_system_spec/app/views/layouts/alternate.html.erb +11 -0
  223. data/spec/rails/templates/layouts_system_spec/app/views/layouts/application.html.erb +26 -0
  224. data/spec/rails/templates/layouts_system_spec/app/views/layouts/explicit_yield.rb +12 -0
  225. data/spec/rails/templates/layouts_system_spec/app/views/layouts/widget_layout.rb +22 -0
  226. data/spec/rails/templates/layouts_system_spec/app/views/layouts_system_spec/erb_inside_widget_layout.html.erb +8 -0
  227. data/spec/rails/templates/layouts_system_spec/app/views/layouts_system_spec/the_render_widget.rb +5 -0
  228. data/spec/rails/templates/layouts_system_spec/app/views/layouts_system_spec/widget_inside_erb_layout.rb +8 -0
  229. data/spec/rails/templates/layouts_system_spec/app/views/layouts_system_spec/widget_inside_widget_layout.rb +8 -0
  230. data/spec/rails/templates/layouts_system_spec/app/views/layouts_system_spec/yield_from_widget_explicitly.rb +5 -0
  231. data/spec/rails/templates/localization_system_spec/app/controllers/localization_system_spec_controller.rb +31 -0
  232. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/content_method.rb +13 -0
  233. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/dot_notation.rb +5 -0
  234. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/explicit_html.rb +13 -0
  235. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/i18n_t.rb +5 -0
  236. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/native_support.rb +7 -0
  237. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/readjust_base.rb +7 -0
  238. data/spec/rails/templates/localization_system_spec/app/views/localization_system_spec/t.rb +5 -0
  239. data/spec/rails/templates/localization_system_spec/config/locales/en.yml +21 -0
  240. data/spec/rails/templates/localization_system_spec/config/locales/fr.yml +14 -0
  241. data/spec/rails/templates/localization_system_spec/config/locales/pt.yml +2 -0
  242. data/spec/rails/templates/production_mode_system_spec/app/controllers/production_mode_system_spec_controller.rb +5 -0
  243. data/spec/rails/templates/production_mode_system_spec/app/views/production_mode_system_spec/sample_output.rb +9 -0
  244. data/spec/rails/templates/rendering_context_system_spec/app/controllers/rendering_context_system_spec_controller.rb +72 -0
  245. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/_start_end_widget_through_partials_partial.html.erb +1 -0
  246. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/_uses_direct_context_for_all_widgets_partial.html.erb +1 -0
  247. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/_uses_specified_context_through_nesting_partial.html.erb +2 -0
  248. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/render_widget.rb +5 -0
  249. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/start_end_widget_basic.rb +12 -0
  250. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/start_end_widget_basic_inner.rb +7 -0
  251. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/start_end_widget_through_partials.rb +16 -0
  252. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/start_end_widget_through_partials_partial_widget.rb +7 -0
  253. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_direct_context_for_all_widgets.rb +7 -0
  254. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_direct_context_for_all_widgets_widget.rb +5 -0
  255. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_direct_context_in_view.rb +5 -0
  256. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_specified_context_in_partials.html.erb +3 -0
  257. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_specified_context_in_partials_partial.rb +5 -0
  258. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_specified_context_in_view.rb +5 -0
  259. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_specified_context_through_nesting.rb +6 -0
  260. data/spec/rails/templates/rendering_context_system_spec/app/views/rendering_context_system_spec/uses_specified_context_through_nesting_inner_partial.rb +5 -0
  261. data/spec/rails/templates/rendering_context_system_spec/lib/simple_rc.rb +17 -0
  262. data/spec/rails/templates/rendering_system_spec/app/controllers/rendering_system_spec_controller.rb +111 -0
  263. data/spec/rails/templates/rendering_system_spec/app/views/layouts/application.html.erb +19 -0
  264. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/_layout_for_partial.html.erb +3 -0
  265. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/_the_partial.html.erb +1 -0
  266. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/partial_with_layout.rb +5 -0
  267. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_collection.html.erb +3 -0
  268. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_collection_as.html.erb +3 -0
  269. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_file_from_widget.rb +7 -0
  270. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_html_safe_strings.rb +16 -0
  271. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_inline_from_widget.rb +11 -0
  272. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_object.html.erb +3 -0
  273. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_partial_from_widget.rb +7 -0
  274. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_partial_with_layout.html.erb +3 -0
  275. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_partial_with_widget_layout.html.erb +3 -0
  276. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_template_from_widget.rb +7 -0
  277. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_text_from_widget.rb +7 -0
  278. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/stream_widget.rb +13 -0
  279. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/trivial_widget.rb +5 -0
  280. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/widget_layout_for_partial.rb +7 -0
  281. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/widget_with_name.rb +7 -0
  282. data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/word.rb +7 -0
  283. data/spec/rails/templates/rendering_system_spec/app/views/widget_to_render.rb +7 -0
  284. data/spec/rails/templates/rules_system_spec/app/controllers/rules_system_spec_controller.rb +22 -0
  285. data/spec/rails/templates/rules_system_spec/app/views/layouts/fortitude_layout_with_p.rb +19 -0
  286. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/_intervening_partial_erb_partial.html.erb +1 -0
  287. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/intervening_partial.rb +9 -0
  288. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/intervening_partial_fortitude_partial.rb +9 -0
  289. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/invalid_start_tag_in_partial.html.erb +3 -0
  290. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/invalid_start_tag_in_partial_partial.rb +9 -0
  291. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/invalid_start_tag_in_view.rb +9 -0
  292. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/invalidly_nested_tag.rb +11 -0
  293. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/invalidly_nested_tag_in_partial.html.erb +3 -0
  294. data/spec/rails/templates/rules_system_spec/app/views/rules_system_spec/invalidly_nested_tag_in_partial_partial.rb +11 -0
  295. data/spec/rails/templates/static_method_system_spec/app/controllers/static_method_system_spec_controller.rb +15 -0
  296. data/spec/rails/templates/static_method_system_spec/app/helpers/some_helper.rb +10 -0
  297. data/spec/rails/templates/static_method_system_spec/app/views/static_method_system_spec/allows_helper_access.rb +8 -0
  298. data/spec/rails/templates/static_method_system_spec/app/views/static_method_system_spec/localization.rb +7 -0
  299. data/spec/rails/templates/static_method_system_spec/config/locales/en.yml +4 -0
  300. data/spec/rails/templates/static_method_system_spec/config/locales/fr.yml +4 -0
  301. data/spec/system/around_content_system_spec.rb +399 -0
  302. data/spec/system/assigns_system_spec.rb +316 -0
  303. data/spec/system/attribute_rules_system_spec.rb +227 -0
  304. data/spec/system/basic_system_spec.rb +9 -0
  305. data/spec/system/content_inheritance_system_spec.rb +13 -0
  306. data/spec/system/convenience_methods_system_spec.rb +30 -0
  307. data/spec/system/doctypes_system_spec.rb +213 -0
  308. data/spec/system/erector_compatibility_system_spec.rb +84 -0
  309. data/spec/system/escaping_system_spec.rb +43 -0
  310. data/spec/system/formatting_system_spec.rb +63 -0
  311. data/spec/system/helpers_system_spec.rb +235 -0
  312. data/spec/system/id_uniqueness_system_spec.rb +205 -0
  313. data/spec/system/localization_system_spec.rb +94 -0
  314. data/spec/system/method_precedence_system_spec.rb +48 -0
  315. data/spec/system/needs_system_spec.rb +368 -0
  316. data/spec/system/other_outputters_system_spec.rb +117 -0
  317. data/spec/system/rails_not_available_spec.rb +11 -0
  318. data/spec/system/rebuild_notifications_system_spec.rb +208 -0
  319. data/spec/system/rendering_context_system_spec.rb +83 -0
  320. data/spec/system/setting_inheritance_system_spec.rb +585 -0
  321. data/spec/system/shared_variable_system_spec.rb +120 -0
  322. data/spec/system/start_end_comments_system_spec.rb +363 -0
  323. data/spec/system/static_method_system_spec.rb +348 -0
  324. data/spec/system/tag_rendering_system_spec.rb +253 -0
  325. data/spec/system/tag_return_value_system_spec.rb +41 -0
  326. data/spec/system/tag_rules_system_spec.rb +196 -0
  327. data/spec/system/tag_updating_system_spec.rb +171 -0
  328. data/spec/system/tilt_system_spec.rb +378 -0
  329. data/spec/system/unparsed_data_system_spec.rb +16 -0
  330. data/spec/system/void_tags_system_spec.rb +51 -0
  331. data/spec/system/widget_return_values_system_spec.rb +89 -0
  332. metadata +736 -0
@@ -0,0 +1,74 @@
1
+ class ClassLoadingSystemSpecController < ApplicationController
2
+ def the_class_should_not_load
3
+ render :text => ::ClassLoadingSystemSpec::ClassShouldNotLoad.name
4
+ end
5
+
6
+ def lib_views
7
+ # nothing here
8
+ end
9
+
10
+ def app_models
11
+ # nothing here
12
+ end
13
+
14
+ def some_namespace
15
+ render :text => ::SomeNamespace.name
16
+ end
17
+
18
+ def some_other_namespace
19
+ render :text => ::SomeNamespace::SomeOtherNamespace.name
20
+ end
21
+
22
+ def views_some_namespace
23
+ render :text => ::Views::SomeNamespace.name
24
+ end
25
+
26
+ def views_some_other_namespace
27
+ render :text => ::Views::SomeNamespace::SomeOtherNamespace.name
28
+ end
29
+
30
+ def autoload_widget
31
+ render :text => Views::AutoloadNamespace::AutoloadWidget.is_here
32
+ end
33
+
34
+ def autoload_one_widget_from_another
35
+ # nothing here
36
+ end
37
+
38
+ def use_lib_widget_from_view_widget
39
+ # nothing here
40
+ end
41
+
42
+ def use_models_widget_from_view_widget
43
+ # nothing here
44
+ end
45
+
46
+ def widget_defined_outside_app_views
47
+ require 'views/class_loading_system_spec/widget_defined_outside_app_views'
48
+
49
+ # nothing else here
50
+ end
51
+
52
+ def underscore_view
53
+ # nothing here
54
+ end
55
+
56
+ def underscore_widget
57
+ render :text => Views::ClassLoadingSystemSpec::UnderscoreWidget.data
58
+ end
59
+
60
+ def require_loaded_underscore_widget_without_views
61
+ require 'class_loading_system_spec/_loaded_underscore_widget'
62
+ render :text => "good!"
63
+ end
64
+
65
+ def require_loaded_underscore_widget_with_views
66
+ require 'views/class_loading_system_spec/_loaded_underscore_widget'
67
+ render :text => "good!"
68
+ end
69
+
70
+ def render_widget_outside_app_views
71
+ require 'arbitrary_name/some_widget'
72
+ render :widget => ArbitraryName::SomeWidget.new
73
+ end
74
+ end
@@ -0,0 +1,5 @@
1
+ class Views::AppModelsHelper
2
+ def data
3
+ "i am app/models helper"
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class Views::ModelsWidget < Fortitude::Widgets::Html5
2
+ def content
3
+ p "this is the models widget"
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ class Views::AutoloadNamespace::AutoloadWidget < Fortitude::Widgets::Html5
2
+ class << self
3
+ def is_here
4
+ "autoload_widget is here!"
5
+ end
6
+ end
7
+
8
+ def content
9
+ p "hello, world"
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class Views::ClassLoadingSystemSpec::LoadedUnderscoreWidget < Fortitude::Widgets::Html5
2
+ class << self
3
+ def data
4
+ "loaded underscore widget!"
5
+ end
6
+ end
7
+
8
+ def content
9
+ p "hello, this is the loaded underscore widget"
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class Views::ClassLoadingSystemSpec::UnderscoreView < Fortitude::Widgets::Html5
2
+ def content
3
+ p "hello, this is the underscore view"
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ class Views::ClassLoadingSystemSpec::UnderscoreWidget < Fortitude::Widgets::Html5
2
+ class << self
3
+ def data
4
+ "underscore widget!"
5
+ end
6
+ end
7
+
8
+ def content
9
+ p "hello, this is the underscore widget"
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ class Views::ClassLoadingSystemSpec::AppModels < Fortitude::Widgets::Html5
2
+ def content
3
+ data = Views::AppModelsHelper.new.data
4
+ p "hello: #{data}"
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ class Views::ClassLoadingSystemSpec::AutoloadOneWidgetFromAnother < Fortitude::Widgets::Html5
2
+ def content
3
+ p "about to run the sub widget"
4
+ widget Views::SubWidget.new
5
+ p "ran the sub widget"
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ module ClassLoadingSystemSpec
2
+ class ClassShouldNotLoad
3
+ class << self
4
+ def is_loaded
5
+ "yup!"
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ require 'views/class_loading_system_spec/lib_views_helper'
2
+
3
+ class Views::ClassLoadingSystemSpec::LibViews < Fortitude::Widgets::Html5
4
+ def content
5
+ data = Views::ClassLoadingSystemSpec::LibViewsHelper.new.data
6
+ p "hello: #{data}"
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ require 'views/lib_widget'
2
+
3
+ class Views::ClassLoadingSystemSpec::UseLibWidgetFromViewWidget < Fortitude::Widgets::Html5
4
+ def content
5
+ p "about to run the lib widget"
6
+ widget Views::LibWidget.new
7
+ p "ran the lib widget"
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ class Views::ClassLoadingSystemSpec::UseModelsWidgetFromViewWidget < Fortitude::Widgets::Html5
2
+ def content
3
+ p "about to run the models widget"
4
+ widget Views::ModelsWidget.new
5
+ p "ran the models widget"
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class Views::SubWidget < Fortitude::Widgets::Html5
2
+ def content
3
+ p "this is the sub widget"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ module ArbitraryName
2
+ class SomeWidget < Fortitude::Widgets::Html5
3
+ def content
4
+ p "arbitrary_name_some_widget"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class Views::ClassLoadingSystemSpec::LibViewsHelper
2
+ def data
3
+ "i am lib/views"
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class Views::ClassLoadingSystemSpec::WidgetDefinedOutsideAppViews < Fortitude::Widgets::Html5
2
+ def content
3
+ p "hello, world"
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class Views::LibWidget < Fortitude::Widgets::Html5
2
+ def content
3
+ p "this is the lib widget"
4
+ end
5
+ end
@@ -0,0 +1,14 @@
1
+ class ComplexHelpersSystemSpecController < ApplicationController
2
+ def form_for_test
3
+ # nothing here
4
+ end
5
+
6
+ def fields_for_test
7
+ # nothing here
8
+ end
9
+
10
+ def cache_test
11
+ @a = params[:a]
12
+ @b = params[:b]
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ class Views::ComplexHelpersSystemSpec::CacheTest < Fortitude::Widgets::Html5
2
+ needs :a, :b
3
+
4
+ def content
5
+ text "before_cache(#{a},#{b})"
6
+ # rawtext "fragment_name: #{cache_fragment_name(a)}"
7
+ cache(a) do
8
+ text "inside_cache(#{a},#{b})"
9
+ end
10
+ text "after_cache(#{a},#{b})"
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ class Views::ComplexHelpersSystemSpec::FieldsForTest < Fortitude::Widgets::Html5
2
+ def content
3
+ text "OUTSIDE_BEFORE"
4
+ fields_for :person do |f|
5
+ text "INSIDE_BEFORE"
6
+ text "FIRST: "
7
+ f.text_field :first_name
8
+ text "LAST: "
9
+ f.text_field :last_name
10
+ text "INSIDE_AFTER"
11
+ end
12
+ text "OUTSIDE_AFTER"
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ class Views::ComplexHelpersSystemSpec::FormForTest < Fortitude::Widgets::Html5
2
+ def content
3
+ text "OUTSIDE_BEFORE"
4
+ form_for :person do |f|
5
+ text "INSIDE_BEFORE"
6
+ text "FIRST: "
7
+ f.text_field :first_name
8
+ text "LAST: "
9
+ f.text_field :last_name
10
+ text "INSIDE_AFTER"
11
+ end
12
+ text "OUTSIDE_AFTER"
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ ComplexHelpersSystemSpec::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports and disable caching.
13
+ config.consider_all_requests_local = true
14
+
15
+ # Don't care if the mailer can't send.
16
+ config.action_mailer.raise_delivery_errors = false
17
+
18
+ # Print deprecation notices to the Rails logger.
19
+ config.active_support.deprecation = :log
20
+
21
+ # Raise an error on page load if there are pending migrations
22
+ # config.active_record.migration_error = :page_load
23
+
24
+ # Debug mode disables concatenation and preprocessing of assets.
25
+ # This option may cause significant delays in view rendering with a large
26
+ # number of complex assets.
27
+ # config.assets.debug = true
28
+
29
+ config.action_controller.perform_caching = true
30
+ # config.cache_store = :memory_store
31
+ end
@@ -0,0 +1,101 @@
1
+ class DataPassingSystemSpecController < ApplicationController
2
+ def passing_data_widget
3
+ @foo = 'the_foo'
4
+ @bar = 'and_bar'
5
+ end
6
+
7
+ def extra_data_widget
8
+ @foo = "the_foo"
9
+ @bar = "and_bar"
10
+ @baz = "also_baz"
11
+
12
+ render :action => 'passing_data_widget'
13
+ end
14
+
15
+ def passing_locals_widget
16
+ render :locals => { :foo => 'local_foo', :bar => 'local_bar' }
17
+ end
18
+
19
+ def passing_locals_and_controller_variables_widget
20
+ @foo = "controller_foo"
21
+ @baz = "controller_baz"
22
+
23
+ render :locals => { :bar => 'local_bar', :baz => 'local_baz' }
24
+ end
25
+
26
+ def omitted_variable
27
+ @foo = 'the_foo'
28
+
29
+ render :action => 'passing_data_widget'
30
+ end
31
+
32
+ def extra_variables
33
+ @foo = 'the_foo'
34
+ @bar = 'the_bar'
35
+
36
+ render :locals => { :baz => 'the_baz' }
37
+ end
38
+
39
+ def extra_variables_requested
40
+ @foo = 'the_foo'
41
+ @bar = 'the_bar'
42
+
43
+ render :locals => { :baz => 'the_baz' }
44
+ end
45
+
46
+ def parent_to_child_passing
47
+ @foo = 'the_foo'
48
+ end
49
+
50
+ def parent_to_child_passing_partial
51
+ @foo = 'the_foo'
52
+ end
53
+
54
+ def explicit_controller_variable_read
55
+ @foo = 'the_foo'
56
+ end
57
+
58
+ def erb_to_parallel_widget_handoff
59
+ # nothing here
60
+ end
61
+
62
+ def implicit_variable_read
63
+ @foo = 'foo_from_controller'
64
+ end
65
+
66
+ def widget_copied_variables
67
+ @foo = "foo_from_controller"
68
+ @bar = "bar_from_controller"
69
+
70
+ render :layout => false
71
+ end
72
+
73
+ def erb_copied_variables
74
+ @foo = "foo_from_controller"
75
+ @bar = "bar_from_controller"
76
+
77
+ render :layout => false
78
+ end
79
+
80
+ def implicit_variable_write
81
+ # nothing here
82
+ end
83
+
84
+ def implicit_erb_to_widget_handoff
85
+ # nothing here
86
+ end
87
+
88
+ def implicit_shared_variable_access
89
+ # nothing here
90
+ end
91
+
92
+ def implicit_shared_variable_access_inheritance
93
+ @foo = "the_foo"
94
+ @bar = "the_bar"
95
+ end
96
+
97
+ def variables_to_layout
98
+ @foo = "the_foo"
99
+ render :layout => 'data_layout', :locals => { :bar => 'the_bar' }
100
+ end
101
+ end
@@ -0,0 +1 @@
1
+ <%= { :erb_copied_variables => (instance_variables.map { |i| i.to_s }) }.to_json.html_safe %>
@@ -0,0 +1,2 @@
1
+ <%= render :partial => 'erb_to_parallel_widget_handoff_erb' %>
2
+ <%= render :partial => 'erb_to_parallel_widget_handoff_widget' %>
@@ -0,0 +1,5 @@
1
+ class Views::DataPassingSystemSpec::ErbToParallelWidgetHandoffWidget < Fortitude::Widgets::Html5
2
+ def content
3
+ p "widget foo: #{shared_variables[:foo]}"
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class Views::DataPassingSystemSpec::ExplicitControllerVariableRead < Fortitude::Widgets::Html5
2
+ def content
3
+ p "explicit foo as symbol: #{shared_variables[:foo]}"
4
+ p "explicit foo as string: #{shared_variables['foo']}"
5
+ end
6
+ end
@@ -0,0 +1,23 @@
1
+ class Views::DataPassingSystemSpec::ExtraVariables < Fortitude::Widgets::Html5
2
+ needs :foo
3
+
4
+ def content
5
+ show_var(:foo)
6
+ show_var(:bar)
7
+ show_var(:baz)
8
+ end
9
+
10
+ def show_var(name)
11
+ method_call = begin
12
+ send(name)
13
+ rescue => e
14
+ e.class.name
15
+ end
16
+ method_call = method_call
17
+
18
+ instance_var = instance_variable_get("@#{name}").inspect
19
+
20
+ p "#{name} method call: #{method_call}"
21
+ p "#{name} instance var: #{instance_var}"
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ class Views::DataPassingSystemSpec::ExtraVariablesRequested < Fortitude::Widgets::Html5
2
+ extra_assigns :use
3
+ needs :foo
4
+
5
+ def content
6
+ show_var(:foo)
7
+ show_var(:bar)
8
+ show_var(:baz)
9
+ end
10
+
11
+ def show_var(name)
12
+ method_call = begin
13
+ send(name)
14
+ rescue => e
15
+ e.class.name
16
+ end
17
+ method_call = method_call
18
+
19
+ instance_var = instance_variable_get("@#{name}").inspect
20
+
21
+ p "#{name} method call: #{method_call}"
22
+ p "#{name} instance var: #{instance_var}"
23
+ end
24
+ end
@@ -0,0 +1,2 @@
1
+ <%= render :partial => "implicit_erb_to_widget_handoff_erb" %>
2
+ <%= render :partial => "implicit_erb_to_widget_handoff_widget" %>
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ImplicitErbToWidgetHandoffWidget < Fortitude::Widgets::Html5
2
+ implicit_shared_variable_access true
3
+
4
+ def content
5
+ p "widget foo: #{@foo}"
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class Views::DataPassingSystemSpec::ImplicitSharedVariableAccess < Fortitude::Widgets::Html5
2
+ def content
3
+ widget Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInner.new(:foo => "foo_from_outer")
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritance < Fortitude::Widgets::Html5
2
+ def content
3
+ widget Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceChildOne.new
4
+ widget Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceChildTwo.new
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceChildOne < Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceParent
2
+ implicit_shared_variable_access false
3
+
4
+ def content
5
+ text "C1: foo is #{@foo}, bar is #{@bar}"
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceChildTwo < Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceParent
2
+ def content
3
+ text "C2: foo is #{@foo}, bar is #{@bar}"
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ class Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInheritanceParent < Fortitude::Widgets::Html5
2
+ implicit_shared_variable_access true
3
+ end
@@ -0,0 +1,8 @@
1
+ class Views::DataPassingSystemSpec::ImplicitSharedVariableAccessInner < Fortitude::Widgets::Html5
2
+ implicit_shared_variable_access true
3
+ needs :foo
4
+
5
+ def content
6
+ p "foo: #{@foo.inspect}"
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ class Views::DataPassingSystemSpec::ImplicitVariableRead < Fortitude::Widgets::Html5
2
+ def content
3
+ widget Views::DataPassingSystemSpec::ImplicitVariableReadInner.new
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ImplicitVariableReadInner < Fortitude::Widgets::Html5
2
+ implicit_shared_variable_access true
3
+
4
+ def content
5
+ p "inner widget foo: #{@foo}"
6
+ end
7
+ end
@@ -0,0 +1,2 @@
1
+ <%= render :partial => 'implicit_variable_write_widget' %>
2
+ <%= render :partial => 'implicit_variable_write_erb' %>
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ImplicitVariableWriteWidget < Fortitude::Widgets::Html5
2
+ implicit_shared_variable_access true
3
+
4
+ def content
5
+ @foo = "foo_from_widget"
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ParentToChildPassing < Fortitude::Widgets::Html5
2
+ def content
3
+ p "parent before"
4
+ widget Views::DataPassingSystemSpec::ParentToChildPassingChild.new
5
+ p "parent after"
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ParentToChildPassingChild < Fortitude::Widgets::Html5
2
+ needs :foo
3
+
4
+ def content
5
+ p "foo: #{foo.inspect}"
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ParentToChildPassingPartial < Fortitude::Widgets::Html5
2
+ def content
3
+ p "parent before"
4
+ render :partial => 'parent_to_child_passing_partial_child'
5
+ p "parent after"
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class Views::DataPassingSystemSpec::ParentToChildPassingPartialChild < Fortitude::Widgets::Html5
2
+ needs :foo
3
+
4
+ def content
5
+ p "foo: #{foo}"
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ class Views::DataPassingSystemSpec::PassingDataWidget < Fortitude::Widgets::Html5
2
+ needs :foo, :bar
3
+
4
+ def content
5
+ p "foo is: #{foo}"
6
+ p "bar is: #{bar}"
7
+ end
8
+ end