simple-templater 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 (874) hide show
  1. data/CHANGELOG +10 -0
  2. data/LICENSE +20 -0
  3. data/README.textile +136 -0
  4. data/Rakefile +79 -0
  5. data/TODO.txt +15 -0
  6. data/bin/simple-templater +66 -0
  7. data/deps.rip +7 -0
  8. data/lib/simple-templater/argv_parsing.rb +27 -0
  9. data/lib/simple-templater/builder.rb +134 -0
  10. data/lib/simple-templater/discoverer.rb +20 -0
  11. data/lib/simple-templater/discoverers/gems.rb +79 -0
  12. data/lib/simple-templater/discoverers/plain.rb +1 -0
  13. data/lib/simple-templater/discoverers/rip.rb +1 -0
  14. data/lib/simple-templater/dsl.rb +27 -0
  15. data/lib/simple-templater/generator.rb +129 -0
  16. data/lib/simple-templater/generator_set.rb +45 -0
  17. data/lib/simple-templater/helpers.rb +34 -0
  18. data/lib/simple-templater/hooks/hook.rb +76 -0
  19. data/lib/simple-templater/hooks/postprocess/git_repository.rb +25 -0
  20. data/lib/simple-templater/hooks/postprocess/github.rb +20 -0
  21. data/lib/simple-templater/hooks/preprocess/full_name.rb +17 -0
  22. data/lib/simple-templater/hooks/preprocess/github.rb +25 -0
  23. data/lib/simple-templater.rb +97 -0
  24. data/script/spec +14 -0
  25. data/simple-templater.gemspec +45 -0
  26. data/simple-templater.scope +6 -0
  27. data/spec/simple-templater/argv_parsing_spec.rb +41 -0
  28. data/spec/simple-templater/builder_spec.rb +1 -0
  29. data/spec/simple-templater/discoverers/gems_spec.rb +0 -0
  30. data/spec/simple-templater/discoverers/plain_spec.rb +0 -0
  31. data/spec/simple-templater/discoverers/rip_spec.rb +0 -0
  32. data/spec/simple-templater/generator_set_spec.rb +55 -0
  33. data/spec/simple-templater/generator_spec.rb +30 -0
  34. data/spec/simple-templater/helpers_spec.rb +81 -0
  35. data/spec/simple-templater/hooks/hook_spec.rb +100 -0
  36. data/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +25 -0
  37. data/spec/simple-templater/hooks/postprocess/github_spec.rb +8 -0
  38. data/spec/simple-templater_spec.rb +112 -0
  39. data/spec/spec.opts +5 -0
  40. data/spec/spec_helper.rb +19 -0
  41. data/spec/stubs/gems/cache/test_generator-0.0.1.gem +0 -0
  42. data/spec/stubs/gems/gems/test_generator-0.0.1/simple-generator.scope +8 -0
  43. data/spec/stubs/gems/gems/test_generator-0.0.1/simple-templater.scope +8 -0
  44. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%1_test.rb.rbt +1 -0
  45. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%_test.rb +0 -0
  46. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/README.textile +3 -0
  47. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/script.rb.rbt +1 -0
  48. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%1_test.rb.rbt +1 -0
  49. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%_test.rb +0 -0
  50. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/README.textile +3 -0
  51. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/script.rb.rbt +1 -0
  52. data/spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec +19 -0
  53. data/spec/stubs/gems/specifications/test_generator-0.0.1.gemspec +28 -0
  54. data/spec/stubs/simple-templater.scope +8 -0
  55. data/spec/stubs/test_generator/simple-templater.scope +8 -0
  56. data/spec/stubs/test_generator/stubs/test/content/%name%1_test.rb.rbt +1 -0
  57. data/spec/stubs/test_generator/stubs/test/content/%name%_test.rb +0 -0
  58. data/spec/stubs/test_generator/stubs/test/content/README.textile +3 -0
  59. data/spec/stubs/test_generator/stubs/test/content/script.rb.rbt +1 -0
  60. data/spec/stubs/test_generator/test_generator-0.0.1.gem +0 -0
  61. data/spec/stubs/test_generator/test_generator.gemspec +19 -0
  62. data/stubs/project/content/%name%.gemspec.rbt +37 -0
  63. data/stubs/project/content/CHANGELOG +2 -0
  64. data/stubs/project/content/LICENSE.rbt +20 -0
  65. data/stubs/project/content/README.textile.rbt +19 -0
  66. data/stubs/project/content/Rakefile +39 -0
  67. data/stubs/project/content/TODO.txt +0 -0
  68. data/stubs/project/content/bin/%name%.rbt +14 -0
  69. data/stubs/project/content/deps.rip +5 -0
  70. data/stubs/project/content/lib/%name%.rb.rbt +5 -0
  71. data/stubs/project/content/spec/%name%_spec.rb.rbt +10 -0
  72. data/stubs/project/content/spec/spec.opts +5 -0
  73. data/stubs/project/content/spec/spec_helper.rb.rbt +11 -0
  74. data/stubs/project/metadata.yml +3 -0
  75. data/stubs/project/postprocess.rb +13 -0
  76. data/stubs/project/setup.rb +13 -0
  77. data/stubs/stub/content/metadata.yml.rbt +3 -0
  78. data/stubs/stub/content/postprocess.rb +11 -0
  79. data/stubs/stub/content/setup.rb +10 -0
  80. data/stubs/stub/metadata.yml +3 -0
  81. data/stubs/stub/postprocess.rb +9 -0
  82. data/stubs/stub/setup.rb +15 -0
  83. data/vendor/abstract/ChangeLog +3 -0
  84. data/vendor/abstract/README.txt +57 -0
  85. data/vendor/abstract/abstract.gemspec +48 -0
  86. data/vendor/abstract/doc/classes/Kernel.html +134 -0
  87. data/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
  88. data/vendor/abstract/doc/classes/Module.html +140 -0
  89. data/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
  90. data/vendor/abstract/doc/created.rid +1 -0
  91. data/vendor/abstract/doc/files/README_txt.html +173 -0
  92. data/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
  93. data/vendor/abstract/doc/fr_class_index.html +28 -0
  94. data/vendor/abstract/doc/fr_file_index.html +28 -0
  95. data/vendor/abstract/doc/fr_method_index.html +28 -0
  96. data/vendor/abstract/doc/index.html +24 -0
  97. data/vendor/abstract/doc/rdoc-style.css +208 -0
  98. data/vendor/abstract/lib/abstract.rb +75 -0
  99. data/vendor/abstract/setup.rb +1331 -0
  100. data/vendor/abstract/test/test.rb +91 -0
  101. data/vendor/cli/CHANGELOG +2 -0
  102. data/vendor/cli/LICENSE +20 -0
  103. data/vendor/cli/README.textile +0 -0
  104. data/vendor/cli/Rakefile +62 -0
  105. data/vendor/cli/TODO.txt +0 -0
  106. data/vendor/cli/cli.gemspec +42 -0
  107. data/vendor/cli/deps.rip +5 -0
  108. data/vendor/cli/lib/cli.rb +33 -0
  109. data/vendor/cli/script/spec +12 -0
  110. data/vendor/cli/spec/cli_spec.rb +56 -0
  111. data/vendor/cli/spec/spec.opts +5 -0
  112. data/vendor/cli/spec/spec_helper.rb +18 -0
  113. data/vendor/erubis/CHANGES.txt +717 -0
  114. data/vendor/erubis/MIT-LICENSE +20 -0
  115. data/vendor/erubis/README.txt +102 -0
  116. data/vendor/erubis/benchmark/Makefile +6 -0
  117. data/vendor/erubis/benchmark/bench.rb +314 -0
  118. data/vendor/erubis/benchmark/bench_context.yaml +141 -0
  119. data/vendor/erubis/benchmark/templates/_footer.html +4 -0
  120. data/vendor/erubis/benchmark/templates/_header.html +52 -0
  121. data/vendor/erubis/benchmark/templates/bench_erb.rhtml +29 -0
  122. data/vendor/erubis/benchmark/templates/bench_erubis.rhtml +29 -0
  123. data/vendor/erubis/benchmark/templates/bench_eruby.rhtml +29 -0
  124. data/vendor/erubis/bin/erubis +11 -0
  125. data/vendor/erubis/contrib/erubis +11 -0
  126. data/vendor/erubis/contrib/erubis-run.rb +132 -0
  127. data/vendor/erubis/contrib/inline-require +153 -0
  128. data/vendor/erubis/doc/docstyle.css +188 -0
  129. data/vendor/erubis/doc/users-guide.html +3285 -0
  130. data/vendor/erubis/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +181 -0
  131. data/vendor/erubis/doc-api/classes/ActionView.html +105 -0
  132. data/vendor/erubis/doc-api/classes/ERB.html +101 -0
  133. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
  134. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
  135. data/vendor/erubis/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
  136. data/vendor/erubis/doc-api/classes/Erubis/ArrayEruby.html +120 -0
  137. data/vendor/erubis/doc-api/classes/Erubis/Basic/Converter.html +327 -0
  138. data/vendor/erubis/doc-api/classes/Erubis/Basic/Engine.html +130 -0
  139. data/vendor/erubis/doc-api/classes/Erubis/Basic.html +112 -0
  140. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEnhancer.html +215 -0
  141. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
  142. data/vendor/erubis/doc-api/classes/Erubis/CGenerator.html +386 -0
  143. data/vendor/erubis/doc-api/classes/Erubis/CommandOptionError.html +113 -0
  144. data/vendor/erubis/doc-api/classes/Erubis/Context.html +344 -0
  145. data/vendor/erubis/doc-api/classes/Erubis/Converter.html +283 -0
  146. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
  147. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
  148. data/vendor/erubis/doc-api/classes/Erubis/Ec.html +126 -0
  149. data/vendor/erubis/doc-api/classes/Erubis/Ejava.html +126 -0
  150. data/vendor/erubis/doc-api/classes/Erubis/Ejavascript.html +126 -0
  151. data/vendor/erubis/doc-api/classes/Erubis/Engine.html +305 -0
  152. data/vendor/erubis/doc-api/classes/Erubis/Eperl.html +126 -0
  153. data/vendor/erubis/doc-api/classes/Erubis/Ephp.html +126 -0
  154. data/vendor/erubis/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
  155. data/vendor/erubis/doc-api/classes/Erubis/ErboutEruby.html +120 -0
  156. data/vendor/erubis/doc-api/classes/Erubis/ErubisError.html +117 -0
  157. data/vendor/erubis/doc-api/classes/Erubis/Eruby.html +132 -0
  158. data/vendor/erubis/doc-api/classes/Erubis/EscapeEnhancer.html +165 -0
  159. data/vendor/erubis/doc-api/classes/Erubis/EscapedEc.html +120 -0
  160. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjava.html +120 -0
  161. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
  162. data/vendor/erubis/doc-api/classes/Erubis/EscapedEperl.html +120 -0
  163. data/vendor/erubis/doc-api/classes/Erubis/EscapedEphp.html +120 -0
  164. data/vendor/erubis/doc-api/classes/Erubis/EscapedEruby.html +127 -0
  165. data/vendor/erubis/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
  166. data/vendor/erubis/doc-api/classes/Erubis/Escheme.html +126 -0
  167. data/vendor/erubis/doc-api/classes/Erubis/Evaluator.html +212 -0
  168. data/vendor/erubis/doc-api/classes/Erubis/FastEruby.html +131 -0
  169. data/vendor/erubis/doc-api/classes/Erubis/Generator.html +416 -0
  170. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEnhancer.html +267 -0
  171. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
  172. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
  173. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +164 -0
  174. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper.html +349 -0
  175. data/vendor/erubis/doc-api/classes/Erubis/Helpers.html +116 -0
  176. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEnhancer.html +306 -0
  177. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
  178. data/vendor/erubis/doc-api/classes/Erubis/JavaGenerator.html +359 -0
  179. data/vendor/erubis/doc-api/classes/Erubis/JavascriptGenerator.html +386 -0
  180. data/vendor/erubis/doc-api/classes/Erubis/Main.html +340 -0
  181. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEnhancer.html +249 -0
  182. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEruby.html +120 -0
  183. data/vendor/erubis/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
  184. data/vendor/erubis/doc-api/classes/Erubis/NoTextEruby.html +120 -0
  185. data/vendor/erubis/doc-api/classes/Erubis/NotSupportedError.html +119 -0
  186. data/vendor/erubis/doc-api/classes/Erubis/OptimizedEruby.html +163 -0
  187. data/vendor/erubis/doc-api/classes/Erubis/OptimizedGenerator.html +439 -0
  188. data/vendor/erubis/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
  189. data/vendor/erubis/doc-api/classes/Erubis/PI/Converter.html +266 -0
  190. data/vendor/erubis/doc-api/classes/Erubis/PI/Ec.html +166 -0
  191. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejava.html +166 -0
  192. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejavascript.html +166 -0
  193. data/vendor/erubis/doc-api/classes/Erubis/PI/Engine.html +122 -0
  194. data/vendor/erubis/doc-api/classes/Erubis/PI/Eperl.html +166 -0
  195. data/vendor/erubis/doc-api/classes/Erubis/PI/Ephp.html +166 -0
  196. data/vendor/erubis/doc-api/classes/Erubis/PI/Eruby.html +155 -0
  197. data/vendor/erubis/doc-api/classes/Erubis/PI/Escheme.html +166 -0
  198. data/vendor/erubis/doc-api/classes/Erubis/PI/TinyEruby.html +293 -0
  199. data/vendor/erubis/doc-api/classes/Erubis/PI.html +124 -0
  200. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEnhancer.html +179 -0
  201. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
  202. data/vendor/erubis/doc-api/classes/Erubis/PerlGenerator.html +344 -0
  203. data/vendor/erubis/doc-api/classes/Erubis/PhpGenerator.html +350 -0
  204. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
  205. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
  206. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
  207. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
  208. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
  209. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
  210. data/vendor/erubis/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
  211. data/vendor/erubis/doc-api/classes/Erubis/RubyEvaluator.html +227 -0
  212. data/vendor/erubis/doc-api/classes/Erubis/RubyGenerator.html +327 -0
  213. data/vendor/erubis/doc-api/classes/Erubis/SchemeGenerator.html +382 -0
  214. data/vendor/erubis/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
  215. data/vendor/erubis/doc-api/classes/Erubis/SimplifyEnhancer.html +191 -0
  216. data/vendor/erubis/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
  217. data/vendor/erubis/doc-api/classes/Erubis/StdoutEruby.html +120 -0
  218. data/vendor/erubis/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
  219. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
  220. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
  221. data/vendor/erubis/doc-api/classes/Erubis/StringIOEruby.html +120 -0
  222. data/vendor/erubis/doc-api/classes/Erubis/TinyEruby.html +299 -0
  223. data/vendor/erubis/doc-api/classes/Erubis/XmlEruby.html +130 -0
  224. data/vendor/erubis/doc-api/classes/Erubis/XmlHelper.html +255 -0
  225. data/vendor/erubis/doc-api/classes/Erubis.html +353 -0
  226. data/vendor/erubis/doc-api/created.rid +1 -0
  227. data/vendor/erubis/doc-api/files/README_txt.html +247 -0
  228. data/vendor/erubis/doc-api/files/erubis/context_rb.html +107 -0
  229. data/vendor/erubis/doc-api/files/erubis/converter_rb.html +114 -0
  230. data/vendor/erubis/doc-api/files/erubis/engine/ec_rb.html +115 -0
  231. data/vendor/erubis/doc-api/files/erubis/engine/ejava_rb.html +115 -0
  232. data/vendor/erubis/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
  233. data/vendor/erubis/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
  234. data/vendor/erubis/doc-api/files/erubis/engine/eperl_rb.html +115 -0
  235. data/vendor/erubis/doc-api/files/erubis/engine/ephp_rb.html +115 -0
  236. data/vendor/erubis/doc-api/files/erubis/engine/eruby_rb.html +115 -0
  237. data/vendor/erubis/doc-api/files/erubis/engine/escheme_rb.html +115 -0
  238. data/vendor/erubis/doc-api/files/erubis/engine/optimized_rb.html +114 -0
  239. data/vendor/erubis/doc-api/files/erubis/engine_rb.html +117 -0
  240. data/vendor/erubis/doc-api/files/erubis/enhancer_rb.html +107 -0
  241. data/vendor/erubis/doc-api/files/erubis/error_rb.html +107 -0
  242. data/vendor/erubis/doc-api/files/erubis/evaluator_rb.html +115 -0
  243. data/vendor/erubis/doc-api/files/erubis/generator_rb.html +114 -0
  244. data/vendor/erubis/doc-api/files/erubis/helper_rb.html +107 -0
  245. data/vendor/erubis/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
  246. data/vendor/erubis/doc-api/files/erubis/helpers/rails_helper_rb.html +116 -0
  247. data/vendor/erubis/doc-api/files/erubis/local-setting_rb.html +107 -0
  248. data/vendor/erubis/doc-api/files/erubis/main_rb.html +127 -0
  249. data/vendor/erubis/doc-api/files/erubis/preprocessing_rb.html +114 -0
  250. data/vendor/erubis/doc-api/files/erubis/tiny_rb.html +107 -0
  251. data/vendor/erubis/doc-api/files/erubis_rb.html +118 -0
  252. data/vendor/erubis/doc-api/fr_class_index.html +122 -0
  253. data/vendor/erubis/doc-api/fr_file_index.html +51 -0
  254. data/vendor/erubis/doc-api/fr_method_index.html +248 -0
  255. data/vendor/erubis/doc-api/index.html +24 -0
  256. data/vendor/erubis/doc-api/rdoc-style.css +208 -0
  257. data/vendor/erubis/erubis.gemspec +66 -0
  258. data/vendor/erubis/examples/basic/Makefile +53 -0
  259. data/vendor/erubis/examples/basic/example.ec +42 -0
  260. data/vendor/erubis/examples/basic/example.ejava +45 -0
  261. data/vendor/erubis/examples/basic/example.ejs +16 -0
  262. data/vendor/erubis/examples/basic/example.eperl +16 -0
  263. data/vendor/erubis/examples/basic/example.ephp +17 -0
  264. data/vendor/erubis/examples/basic/example.eruby +15 -0
  265. data/vendor/erubis/examples/basic/example.escheme +26 -0
  266. data/vendor/erubis/examples/pi/Makefile +54 -0
  267. data/vendor/erubis/examples/pi/example.ec +42 -0
  268. data/vendor/erubis/examples/pi/example.ejava +45 -0
  269. data/vendor/erubis/examples/pi/example.ejs +16 -0
  270. data/vendor/erubis/examples/pi/example.eperl +16 -0
  271. data/vendor/erubis/examples/pi/example.ephp +17 -0
  272. data/vendor/erubis/examples/pi/example.eruby +15 -0
  273. data/vendor/erubis/examples/pi/example.escheme +26 -0
  274. data/vendor/erubis/lib/erubis/context.rb +84 -0
  275. data/vendor/erubis/lib/erubis/converter.rb +358 -0
  276. data/vendor/erubis/lib/erubis/engine/ec.rb +118 -0
  277. data/vendor/erubis/lib/erubis/engine/ejava.rb +111 -0
  278. data/vendor/erubis/lib/erubis/engine/ejavascript.rb +120 -0
  279. data/vendor/erubis/lib/erubis/engine/enhanced.rb +122 -0
  280. data/vendor/erubis/lib/erubis/engine/eperl.rb +96 -0
  281. data/vendor/erubis/lib/erubis/engine/ephp.rb +100 -0
  282. data/vendor/erubis/lib/erubis/engine/eruby.rb +125 -0
  283. data/vendor/erubis/lib/erubis/engine/escheme.rb +115 -0
  284. data/vendor/erubis/lib/erubis/engine/optimized.rb +128 -0
  285. data/vendor/erubis/lib/erubis/engine.rb +121 -0
  286. data/vendor/erubis/lib/erubis/enhancer.rb +681 -0
  287. data/vendor/erubis/lib/erubis/error.rb +24 -0
  288. data/vendor/erubis/lib/erubis/evaluator.rb +89 -0
  289. data/vendor/erubis/lib/erubis/generator.rb +86 -0
  290. data/vendor/erubis/lib/erubis/helper.rb +48 -0
  291. data/vendor/erubis/lib/erubis/helpers/rails_form_helper.rb +198 -0
  292. data/vendor/erubis/lib/erubis/helpers/rails_helper.rb +325 -0
  293. data/vendor/erubis/lib/erubis/local-setting.rb +10 -0
  294. data/vendor/erubis/lib/erubis/main.rb +491 -0
  295. data/vendor/erubis/lib/erubis/preprocessing.rb +59 -0
  296. data/vendor/erubis/lib/erubis/tiny.rb +146 -0
  297. data/vendor/erubis/lib/erubis.rb +73 -0
  298. data/vendor/erubis/setup.rb +1331 -0
  299. data/vendor/erubis/test/assert-text-equal.rb +45 -0
  300. data/vendor/erubis/test/assert-text-equal.rbc +0 -0
  301. data/vendor/erubis/test/data/users-guide/Example.ejava +55 -0
  302. data/vendor/erubis/test/data/users-guide/array_example.result +9 -0
  303. data/vendor/erubis/test/data/users-guide/arraybuffer_example.result +9 -0
  304. data/vendor/erubis/test/data/users-guide/bipattern-example.rhtml +4 -0
  305. data/vendor/erubis/test/data/users-guide/bipattern_example.result +6 -0
  306. data/vendor/erubis/test/data/users-guide/context.rb +6 -0
  307. data/vendor/erubis/test/data/users-guide/context.yaml +8 -0
  308. data/vendor/erubis/test/data/users-guide/def_method.rb +14 -0
  309. data/vendor/erubis/test/data/users-guide/def_method.result +3 -0
  310. data/vendor/erubis/test/data/users-guide/escape_example.result +9 -0
  311. data/vendor/erubis/test/data/users-guide/example.ec +27 -0
  312. data/vendor/erubis/test/data/users-guide/example.ejs +20 -0
  313. data/vendor/erubis/test/data/users-guide/example.eperl +18 -0
  314. data/vendor/erubis/test/data/users-guide/example.ephp +18 -0
  315. data/vendor/erubis/test/data/users-guide/example.eruby +6 -0
  316. data/vendor/erubis/test/data/users-guide/example.escheme +28 -0
  317. data/vendor/erubis/test/data/users-guide/example1.eruby +6 -0
  318. data/vendor/erubis/test/data/users-guide/example1.rb +17 -0
  319. data/vendor/erubis/test/data/users-guide/example1.result +16 -0
  320. data/vendor/erubis/test/data/users-guide/example10.rb +4 -0
  321. data/vendor/erubis/test/data/users-guide/example10.result +17 -0
  322. data/vendor/erubis/test/data/users-guide/example10.xhtml +14 -0
  323. data/vendor/erubis/test/data/users-guide/example10_x.result +17 -0
  324. data/vendor/erubis/test/data/users-guide/example11.php +20 -0
  325. data/vendor/erubis/test/data/users-guide/example11.result +23 -0
  326. data/vendor/erubis/test/data/users-guide/example11.rhtml +21 -0
  327. data/vendor/erubis/test/data/users-guide/example11_C.result +10 -0
  328. data/vendor/erubis/test/data/users-guide/example11_N.result +16 -0
  329. data/vendor/erubis/test/data/users-guide/example11_U.result +16 -0
  330. data/vendor/erubis/test/data/users-guide/example11_php.result +15 -0
  331. data/vendor/erubis/test/data/users-guide/example1_x.result +9 -0
  332. data/vendor/erubis/test/data/users-guide/example2.eruby +7 -0
  333. data/vendor/erubis/test/data/users-guide/example2.rb +10 -0
  334. data/vendor/erubis/test/data/users-guide/example2.result +27 -0
  335. data/vendor/erubis/test/data/users-guide/example2_trim.result +10 -0
  336. data/vendor/erubis/test/data/users-guide/example2_x.result +10 -0
  337. data/vendor/erubis/test/data/users-guide/example3.eruby +6 -0
  338. data/vendor/erubis/test/data/users-guide/example3.rb +10 -0
  339. data/vendor/erubis/test/data/users-guide/example31.result +22 -0
  340. data/vendor/erubis/test/data/users-guide/example32.result +4 -0
  341. data/vendor/erubis/test/data/users-guide/example3_e.result +8 -0
  342. data/vendor/erubis/test/data/users-guide/example4.eruby +3 -0
  343. data/vendor/erubis/test/data/users-guide/example4.rb +11 -0
  344. data/vendor/erubis/test/data/users-guide/example4.result +10 -0
  345. data/vendor/erubis/test/data/users-guide/example4_x.result +5 -0
  346. data/vendor/erubis/test/data/users-guide/example5.eruby +6 -0
  347. data/vendor/erubis/test/data/users-guide/example5.rb +16 -0
  348. data/vendor/erubis/test/data/users-guide/example5.result +7 -0
  349. data/vendor/erubis/test/data/users-guide/example6.rb +12 -0
  350. data/vendor/erubis/test/data/users-guide/example6.result +7 -0
  351. data/vendor/erubis/test/data/users-guide/example7.eruby +8 -0
  352. data/vendor/erubis/test/data/users-guide/example71.result +13 -0
  353. data/vendor/erubis/test/data/users-guide/example72.result +13 -0
  354. data/vendor/erubis/test/data/users-guide/example8.eruby +6 -0
  355. data/vendor/erubis/test/data/users-guide/example8_ruby.result +7 -0
  356. data/vendor/erubis/test/data/users-guide/example8_yaml.result +7 -0
  357. data/vendor/erubis/test/data/users-guide/example9.eruby +3 -0
  358. data/vendor/erubis/test/data/users-guide/example9.rb +8 -0
  359. data/vendor/erubis/test/data/users-guide/example9.result +9 -0
  360. data/vendor/erubis/test/data/users-guide/example91.result +5 -0
  361. data/vendor/erubis/test/data/users-guide/example92.result +4 -0
  362. data/vendor/erubis/test/data/users-guide/example_c.result +29 -0
  363. data/vendor/erubis/test/data/users-guide/example_java.result +56 -0
  364. data/vendor/erubis/test/data/users-guide/example_js.result +22 -0
  365. data/vendor/erubis/test/data/users-guide/example_perl.result +20 -0
  366. data/vendor/erubis/test/data/users-guide/example_php.result +19 -0
  367. data/vendor/erubis/test/data/users-guide/example_scheme.result +30 -0
  368. data/vendor/erubis/test/data/users-guide/example_scheme_display.result +29 -0
  369. data/vendor/erubis/test/data/users-guide/fasteruby.rb +11 -0
  370. data/vendor/erubis/test/data/users-guide/fasteruby.result +38 -0
  371. data/vendor/erubis/test/data/users-guide/fasteruby.rhtml +15 -0
  372. data/vendor/erubis/test/data/users-guide/headerfooter-example.eruby +9 -0
  373. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rb +8 -0
  374. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rhtml +10 -0
  375. data/vendor/erubis/test/data/users-guide/headerfooter_example.result +11 -0
  376. data/vendor/erubis/test/data/users-guide/headerfooter_example2.result +13 -0
  377. data/vendor/erubis/test/data/users-guide/interpolation_example.result +9 -0
  378. data/vendor/erubis/test/data/users-guide/main_program1.rb +8 -0
  379. data/vendor/erubis/test/data/users-guide/main_program1.result +6 -0
  380. data/vendor/erubis/test/data/users-guide/main_program2.rb +8 -0
  381. data/vendor/erubis/test/data/users-guide/main_program2.result +6 -0
  382. data/vendor/erubis/test/data/users-guide/nocode-example.eruby +14 -0
  383. data/vendor/erubis/test/data/users-guide/nocode-php.result +20 -0
  384. data/vendor/erubis/test/data/users-guide/nocode_example.result +15 -0
  385. data/vendor/erubis/test/data/users-guide/normal-eruby-test.eruby +9 -0
  386. data/vendor/erubis/test/data/users-guide/normal_eruby_test.result +11 -0
  387. data/vendor/erubis/test/data/users-guide/notext-example.eruby +14 -0
  388. data/vendor/erubis/test/data/users-guide/notext-example.php +19 -0
  389. data/vendor/erubis/test/data/users-guide/notext-php.result +20 -0
  390. data/vendor/erubis/test/data/users-guide/notext_example.result +16 -0
  391. data/vendor/erubis/test/data/users-guide/percentline-example.rhtml +4 -0
  392. data/vendor/erubis/test/data/users-guide/percentline_example.result +7 -0
  393. data/vendor/erubis/test/data/users-guide/printenable_example.result +4 -0
  394. data/vendor/erubis/test/data/users-guide/printenabled-example.eruby +3 -0
  395. data/vendor/erubis/test/data/users-guide/printenabled-example.rb +8 -0
  396. data/vendor/erubis/test/data/users-guide/printstatement_example.result +8 -0
  397. data/vendor/erubis/test/data/users-guide/simplify_example.result +9 -0
  398. data/vendor/erubis/test/data/users-guide/stdout_exmple.result +9 -0
  399. data/vendor/erubis/test/data/users-guide/stringbuffer_example.result +9 -0
  400. data/vendor/erubis/test/data/users-guide/tail_260.result +4 -0
  401. data/vendor/erubis/test/data/users-guide/tailnewline.rhtml +3 -0
  402. data/vendor/erubis/test/data/users-guide/template1.rhtml +4 -0
  403. data/vendor/erubis/test/data/users-guide/template2.rhtml +4 -0
  404. data/vendor/erubis/test/hoge.rb +5 -0
  405. data/vendor/erubis/test/test-engines.rb +370 -0
  406. data/vendor/erubis/test/test-engines.rbc +0 -0
  407. data/vendor/erubis/test/test-enhancers.rb +571 -0
  408. data/vendor/erubis/test/test-erubis.rb +884 -0
  409. data/vendor/erubis/test/test-erubis.rbc +0 -0
  410. data/vendor/erubis/test/test-main.rb +674 -0
  411. data/vendor/erubis/test/test-users-guide.rb +58 -0
  412. data/vendor/erubis/test/test-users-guide.rbc +0 -0
  413. data/vendor/erubis/test/test.rb +30 -0
  414. data/vendor/erubis/test/test.rbc +0 -0
  415. data/vendor/erubis/test/testutil.rb +101 -0
  416. data/vendor/erubis/test/testutil.rbc +0 -0
  417. data/vendor/fakefs/CONTRIBUTORS +17 -0
  418. data/vendor/fakefs/LICENSE +20 -0
  419. data/vendor/fakefs/README.markdown +101 -0
  420. data/vendor/fakefs/Rakefile +47 -0
  421. data/vendor/fakefs/lib/fakefs/base.rb +38 -0
  422. data/vendor/fakefs/lib/fakefs/dir.rb +114 -0
  423. data/vendor/fakefs/lib/fakefs/fake/dir.rb +45 -0
  424. data/vendor/fakefs/lib/fakefs/fake/file.rb +79 -0
  425. data/vendor/fakefs/lib/fakefs/fake/symlink.rb +32 -0
  426. data/vendor/fakefs/lib/fakefs/file.rb +330 -0
  427. data/vendor/fakefs/lib/fakefs/file_system.rb +136 -0
  428. data/vendor/fakefs/lib/fakefs/fileutils.rb +129 -0
  429. data/vendor/fakefs/lib/fakefs/safe.rb +11 -0
  430. data/vendor/fakefs/lib/fakefs/spec_helpers.rb +46 -0
  431. data/vendor/fakefs/lib/fakefs/version.rb +9 -0
  432. data/vendor/fakefs/lib/fakefs.rb +3 -0
  433. data/vendor/fakefs/spec/fakefs/spec_helpers_spec.rb +57 -0
  434. data/vendor/fakefs/spec/spec.opts +1 -0
  435. data/vendor/fakefs/spec/spec_helper.rb +3 -0
  436. data/vendor/fakefs/test/fake/file_test.rb +88 -0
  437. data/vendor/fakefs/test/fake/symlink_test.rb +12 -0
  438. data/vendor/fakefs/test/fakefs_test.rb +1334 -0
  439. data/vendor/fakefs/test/file/stat_test.rb +70 -0
  440. data/vendor/fakefs/test/safe_test.rb +42 -0
  441. data/vendor/fakefs/test/verify.rb +27 -0
  442. data/vendor/rspec/History.rdoc +1510 -0
  443. data/vendor/rspec/License.txt +22 -0
  444. data/vendor/rspec/Manifest.txt +383 -0
  445. data/vendor/rspec/README.rdoc +55 -0
  446. data/vendor/rspec/Rakefile +145 -0
  447. data/vendor/rspec/Ruby1.9.rdoc +31 -0
  448. data/vendor/rspec/TODO.txt +17 -0
  449. data/vendor/rspec/Upgrade.rdoc +199 -0
  450. data/vendor/rspec/bin/autospec +4 -0
  451. data/vendor/rspec/bin/spec +5 -0
  452. data/vendor/rspec/cucumber.yml +5 -0
  453. data/vendor/rspec/examples/failing/README.txt +11 -0
  454. data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
  455. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  456. data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
  457. data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
  458. data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
  459. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
  460. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
  461. data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
  462. data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
  463. data/vendor/rspec/examples/failing/pending_example.rb +7 -0
  464. data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
  465. data/vendor/rspec/examples/failing/raising_example.rb +47 -0
  466. data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
  467. data/vendor/rspec/examples/failing/team_spec.rb +41 -0
  468. data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
  469. data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
  470. data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
  471. data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
  472. data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
  473. data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
  474. data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
  475. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
  476. data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
  477. data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
  478. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
  479. data/vendor/rspec/examples/passing/io_processor.rb +8 -0
  480. data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
  481. data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
  482. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  483. data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
  484. data/vendor/rspec/examples/passing/options_example.rb +29 -0
  485. data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
  486. data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
  487. data/vendor/rspec/examples/passing/pending_example.rb +18 -0
  488. data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
  489. data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
  490. data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
  491. data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
  492. data/vendor/rspec/examples/passing/stack.rb +36 -0
  493. data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
  494. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  495. data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
  496. data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
  497. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  498. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  499. data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
  500. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  501. data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
  502. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
  503. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
  504. data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
  505. data/vendor/rspec/features/expectations/customized_message.feature +54 -0
  506. data/vendor/rspec/features/expectations/expect_change.feature +65 -0
  507. data/vendor/rspec/features/expectations/expect_error.feature +44 -0
  508. data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
  509. data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
  510. data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
  511. data/vendor/rspec/features/interop/rspec_output.feature +25 -0
  512. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
  513. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
  514. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
  515. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
  516. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
  517. data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
  518. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
  519. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  520. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
  521. data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
  522. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
  523. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
  524. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
  525. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
  526. data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
  527. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
  528. data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
  529. data/vendor/rspec/features/pending/pending_examples.feature +81 -0
  530. data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
  531. data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
  532. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
  533. data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
  534. data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
  535. data/vendor/rspec/features/support/env.rb +82 -0
  536. data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
  537. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
  538. data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
  539. data/vendor/rspec/geminstaller.yml +28 -0
  540. data/vendor/rspec/init.rb +9 -0
  541. data/vendor/rspec/lib/autotest/discover.rb +3 -0
  542. data/vendor/rspec/lib/autotest/rspec.rb +54 -0
  543. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  544. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  545. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  546. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  547. data/vendor/rspec/lib/spec/autorun.rb +3 -0
  548. data/vendor/rspec/lib/spec/deprecation.rb +40 -0
  549. data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
  550. data/vendor/rspec/lib/spec/dsl.rb +1 -0
  551. data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
  552. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  553. data/vendor/rspec/lib/spec/example/errors.rb +25 -0
  554. data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
  555. data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
  556. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
  557. data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
  558. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
  559. data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
  560. data/vendor/rspec/lib/spec/example/example_methods.rb +148 -0
  561. data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
  562. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
  563. data/vendor/rspec/lib/spec/example/pending.rb +18 -0
  564. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
  565. data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
  566. data/vendor/rspec/lib/spec/example/subject.rb +108 -0
  567. data/vendor/rspec/lib/spec/example.rb +164 -0
  568. data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
  569. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
  570. data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
  571. data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
  572. data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
  573. data/vendor/rspec/lib/spec/expectations.rb +35 -0
  574. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
  575. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  576. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
  577. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  578. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  579. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  580. data/vendor/rspec/lib/spec/interop/test.rb +44 -0
  581. data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
  582. data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
  583. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
  584. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
  585. data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
  586. data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
  587. data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
  588. data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
  589. data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
  590. data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
  591. data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
  592. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
  593. data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
  594. data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
  595. data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
  596. data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
  597. data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
  598. data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
  599. data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
  600. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
  601. data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
  602. data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
  603. data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
  604. data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
  605. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
  606. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
  607. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  608. data/vendor/rspec/lib/spec/matchers.rb +195 -0
  609. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
  610. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
  611. data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
  612. data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
  613. data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
  614. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  615. data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
  616. data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
  617. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
  618. data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
  619. data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
  620. data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
  621. data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
  622. data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
  623. data/vendor/rspec/lib/spec/mocks.rb +200 -0
  624. data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
  625. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  626. data/vendor/rspec/lib/spec/ruby.rb +9 -0
  627. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
  628. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  629. data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
  630. data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
  631. data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
  632. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  633. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +26 -0
  634. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +59 -0
  635. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
  636. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
  637. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  638. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  639. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  640. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
  641. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  642. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  643. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  644. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  645. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  646. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  647. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  648. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  649. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  650. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  651. data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
  652. data/vendor/rspec/lib/spec/runner/option_parser.rb +223 -0
  653. data/vendor/rspec/lib/spec/runner/options.rb +400 -0
  654. data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
  655. data/vendor/rspec/lib/spec/runner.rb +66 -0
  656. data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
  657. data/vendor/rspec/lib/spec/test/unit.rb +10 -0
  658. data/vendor/rspec/lib/spec/version.rb +14 -0
  659. data/vendor/rspec/lib/spec.rb +8 -0
  660. data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
  661. data/vendor/rspec/resources/rake/examples.rake +7 -0
  662. data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
  663. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  664. data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
  665. data/vendor/rspec/spec/README.jruby +15 -0
  666. data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
  667. data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
  668. data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
  669. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
  670. data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
  671. data/vendor/rspec/spec/ruby_forker.rb +13 -0
  672. data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
  673. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  674. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
  675. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
  676. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
  677. data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
  678. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
  679. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
  680. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
  681. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  682. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  683. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
  684. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
  685. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
  686. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  687. data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
  688. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
  689. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  690. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
  691. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
  692. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  693. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  694. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  695. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  696. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  697. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  698. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  699. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  700. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  701. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  702. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  703. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  704. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  705. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  706. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
  707. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  708. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  709. data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
  710. data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
  711. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
  712. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
  713. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
  714. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
  715. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
  716. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
  717. data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
  718. data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
  719. data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
  720. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
  721. data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
  722. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  723. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
  724. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
  725. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  726. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
  727. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
  728. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  729. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  730. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  731. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
  732. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  733. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  734. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  735. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  736. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  737. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  738. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  739. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  740. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  741. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  742. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  743. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  744. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  745. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  746. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  747. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  748. data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
  749. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  750. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  751. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  752. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  753. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  754. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
  755. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  756. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  757. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  758. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  759. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  760. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
  761. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  762. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  763. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  764. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  765. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
  766. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  767. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
  768. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  769. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  770. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
  771. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
  772. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
  773. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  774. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +141 -0
  775. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
  776. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +107 -0
  777. data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
  778. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
  779. data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
  780. data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
  781. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  782. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  783. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  784. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  785. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  786. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  787. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  788. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  789. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  790. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  791. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  792. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  793. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  794. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  795. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  796. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  797. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  798. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  799. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  800. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  801. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
  802. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  803. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
  804. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  805. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +545 -0
  806. data/vendor/rspec/spec/spec/runner/options_spec.rb +547 -0
  807. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  808. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  809. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
  810. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
  811. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
  812. data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  813. data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  814. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  815. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  816. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  817. data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
  818. data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
  819. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  820. data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
  821. data/vendor/rspec/spec/spec.opts +6 -0
  822. data/vendor/rspec/spec/spec_helper.rb +112 -0
  823. data/vendor/rspec/spec/support/macros.rb +29 -0
  824. data/vendor/rspec/spec/support/spec_classes.rb +133 -0
  825. data/vendor/rubyexts/CHANGELOG +2 -0
  826. data/vendor/rubyexts/LICENSE +20 -0
  827. data/vendor/rubyexts/README.textile +0 -0
  828. data/vendor/rubyexts/Rakefile +62 -0
  829. data/vendor/rubyexts/TODO.txt +6 -0
  830. data/vendor/rubyexts/lib/rubyexts/array.rb +20 -0
  831. data/vendor/rubyexts/lib/rubyexts/attribute.rb +150 -0
  832. data/vendor/rubyexts/lib/rubyexts/capture_io.rb +32 -0
  833. data/vendor/rubyexts/lib/rubyexts/class.rb +177 -0
  834. data/vendor/rubyexts/lib/rubyexts/colored_string.rb +103 -0
  835. data/vendor/rubyexts/lib/rubyexts/enumerable.rb +30 -0
  836. data/vendor/rubyexts/lib/rubyexts/file.rb +84 -0
  837. data/vendor/rubyexts/lib/rubyexts/hash.rb +147 -0
  838. data/vendor/rubyexts/lib/rubyexts/kernel.rb +91 -0
  839. data/vendor/rubyexts/lib/rubyexts/module.rb +53 -0
  840. data/vendor/rubyexts/lib/rubyexts/object.rb +56 -0
  841. data/vendor/rubyexts/lib/rubyexts/object_space.rb +16 -0
  842. data/vendor/rubyexts/lib/rubyexts/os.rb +89 -0
  843. data/vendor/rubyexts/lib/rubyexts/platform.rb +27 -0
  844. data/vendor/rubyexts/lib/rubyexts/random.rb +25 -0
  845. data/vendor/rubyexts/lib/rubyexts/string.rb +92 -0
  846. data/vendor/rubyexts/lib/rubyexts/time.rb +15 -0
  847. data/vendor/rubyexts/lib/rubyexts/time_dsl.rb +62 -0
  848. data/vendor/rubyexts/lib/rubyexts/unique_array.rb +16 -0
  849. data/vendor/rubyexts/lib/rubyexts.rb +102 -0
  850. data/vendor/rubyexts/rubyexts.gemspec +36 -0
  851. data/vendor/rubyexts/script/spec +12 -0
  852. data/vendor/rubyexts/spec/rubyexts/array_spec.rb +19 -0
  853. data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +37 -0
  854. data/vendor/rubyexts/spec/rubyexts/class_spec.rb +1 -0
  855. data/vendor/rubyexts/spec/rubyexts/cli_spec.rb +0 -0
  856. data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +9 -0
  857. data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +52 -0
  858. data/vendor/rubyexts/spec/rubyexts/file_spec.rb +78 -0
  859. data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +91 -0
  860. data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +9 -0
  861. data/vendor/rubyexts/spec/rubyexts/module_spec.rb +0 -0
  862. data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +17 -0
  863. data/vendor/rubyexts/spec/rubyexts/object_spec.rb +57 -0
  864. data/vendor/rubyexts/spec/rubyexts/os_spec.rb +121 -0
  865. data/vendor/rubyexts/spec/rubyexts/platform_spec.rb +0 -0
  866. data/vendor/rubyexts/spec/rubyexts/random_spec.rb +31 -0
  867. data/vendor/rubyexts/spec/rubyexts/string_spec.rb +23 -0
  868. data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +88 -0
  869. data/vendor/rubyexts/spec/rubyexts/time_spec.rb +11 -0
  870. data/vendor/rubyexts/spec/rubyexts/unique_array_spec.rb +0 -0
  871. data/vendor/rubyexts/spec/rubyexts_spec.rb +182 -0
  872. data/vendor/rubyexts/spec/spec.opts +5 -0
  873. data/vendor/rubyexts/spec/spec_helper.rb +16 -0
  874. metadata +955 -0
@@ -0,0 +1,884 @@
1
+ ##
2
+ ## $Rev: 115 $
3
+ ## $Release: 2.6.2 $
4
+ ## copyright(c) 2006-2008 kuwata-lab.com all rights reserved.
5
+ ##
6
+
7
+ require "#{File.dirname(__FILE__)}/test.rb"
8
+
9
+ require 'stringio'
10
+
11
+ require 'erubis'
12
+ require 'erubis/engine/enhanced'
13
+ require 'erubis/engine/optimized'
14
+ require 'erubis/tiny'
15
+
16
+
17
+ class ErubisTest < Test::Unit::TestCase
18
+
19
+ testdata_list = load_yaml_datafile(__FILE__)
20
+ define_testmethods(testdata_list)
21
+
22
+
23
+ def _test()
24
+ @src.gsub!(/\^/, ' ')
25
+ @output.gsub!(/\^/, ' ') if @output.is_a?(String)
26
+ if @class
27
+ k = Erubis
28
+ @class.split('::').each do |name| k = k.const_get(name) end
29
+ @klass = k
30
+ else
31
+ @klass = Erubis::Eruby
32
+ end
33
+ @options ||= {}
34
+ @chomp.each do |target|
35
+ case target
36
+ when 'src' ; @src.chomp!
37
+ when 'input' ; @input.chomp!
38
+ when 'expected' ; @expected.chomp!
39
+ else
40
+ raise "#{@name}: invalid chomp value: #{@chomp.inspect}"
41
+ end
42
+ end if @chomp
43
+
44
+ if @testopt == 'load_file'
45
+ filename = "tmp.#{@name}.eruby"
46
+ begin
47
+ File.open(filename, 'w') { |f| f.write(@input) }
48
+ eruby = @klass.load_file(filename, @options)
49
+ ensure
50
+ cachename = filename + '.cache'
51
+ File.unlink(cachename) if test(?f, cachename)
52
+ File.unlink(filename) if test(?f, filename)
53
+ end
54
+ else
55
+ if @klass == Erubis::TinyEruby
56
+ eruby = @klass.new(@input)
57
+ else
58
+ eruby = @klass.new(@input, @options)
59
+ end
60
+ end
61
+ assert_text_equal(@src, eruby.src)
62
+
63
+ return if @testopt == 'skip_output'
64
+
65
+ list = ['<aaa>', 'b&b', '"ccc"']
66
+ context = @testopt == 'context' ? Erubis::Context.new : {}
67
+ context[:list] = list
68
+
69
+ case @testopt
70
+ when /\Aeval\(/
71
+ eval eruby.src
72
+ actual = eval @testopt
73
+ assert_text_equal(@output, actual)
74
+ when 'stdout', 'print'
75
+ begin
76
+ orig = $stdout
77
+ $stdout = stringio = StringIO.new
78
+ #actual = eruby.evaluate(context)
79
+ actual = eruby.result(context)
80
+ ensure
81
+ $stdout = orig
82
+ end
83
+ if @testopt == 'stdout'
84
+ assert_equal("", actual)
85
+ else
86
+ assert_nil(actual)
87
+ end
88
+ assert_text_equal(@output, stringio.string)
89
+ when 'evaluate', 'context'
90
+ actual = eruby.evaluate(context)
91
+ assert_text_equal(@output, actual)
92
+ when 'binding'
93
+ actual = eruby.result(binding())
94
+ assert_text_equal(@output, actual)
95
+ else
96
+ actual = eruby.result(context)
97
+ assert_text_equal(@output, actual)
98
+ end
99
+ end
100
+
101
+
102
+ def test_load_file_cache1
103
+ @input = <<END
104
+ <ul>
105
+ <% for item in @list %>
106
+ <li><%= item %></li>
107
+ <% end %>
108
+ </ul>
109
+ END
110
+ @src = <<END
111
+ _buf = ''; _buf << '<ul>
112
+ '; for item in @list
113
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
114
+ '; end
115
+ _buf << '</ul>
116
+ ';
117
+ _buf.to_s
118
+ END
119
+ @klass = Erubis::Eruby
120
+ filename = 'tmp.load_file_timestamp1'
121
+ cachename = filename + '.cache'
122
+ begin
123
+ File.open(filename, 'w') { |f| f.write(@input) }
124
+ assert_block() { !test(?f, cachename) }
125
+ engine = @klass.load_file(filename)
126
+ assert_block() { test(?f, cachename) }
127
+ assert_block() { File.mtime(filename) <= File.mtime(cachename) }
128
+ assert_text_equal(@src, engine.src)
129
+ #
130
+ input2 = @input.gsub(/ul>/, 'ol>')
131
+ src2 = @src.gsub(/ul>/, 'ol>')
132
+ mtime = File.mtime(filename)
133
+ File.open(filename, 'w') { |f| f.write(input2) }
134
+ t1 = Time.now()
135
+ sleep(1)
136
+ t2 = Time.now()
137
+ File.utime(t1, t1, filename)
138
+ File.utime(t2, t2, cachename)
139
+ assert_block('cache should be newer') { File.mtime(filename) < File.mtime(cachename) }
140
+ engine = @klass.load_file(filename)
141
+ assert_block('cache should be newer') { File.mtime(filename) < File.mtime(cachename) }
142
+ assert_text_equal(@src, engine.src)
143
+ #
144
+ File.utime(t2, t2, filename)
145
+ File.utime(t1, t1, cachename)
146
+ assert_block('cache should be older') { File.mtime(filename) > File.mtime(cachename) }
147
+ engine = @klass.load_file(filename)
148
+ assert_block('cache should be newer') { File.mtime(filename) <= File.mtime(cachename) }
149
+ assert_text_equal(src2, engine.src)
150
+ ensure
151
+ File.unlink(cachename) if File.file?(cachename)
152
+ File.unlink(filename) if File.file?(filename)
153
+ end
154
+ end
155
+
156
+
157
+ class Dummy
158
+ end
159
+
160
+ def _class_has_instance_method(klass, method)
161
+ return klass.instance_methods.collect{|m| m.to_s}.include?(method.to_s)
162
+ end
163
+
164
+ def test_def_method1
165
+ s = "<%for i in list%>i=<%=i%>\n<%end%>"
166
+ eruby = Erubis::Eruby.new(s)
167
+ assert(! _class_has_instance_method(Dummy, 'render'))
168
+ eruby.def_method(Dummy, 'render(list)', 'foo.rhtml')
169
+ assert(_class_has_instance_method(Dummy, 'render'))
170
+ actual = Dummy.new().render(%w[1 2 3])
171
+ assert_equal("i=1\ni=2\ni=3\n", actual)
172
+ end
173
+
174
+ def test_def_method2
175
+ s = "<%for i in list%>i=<%=i%>\n<%end%>"
176
+ eruby = Erubis::Eruby.new(s)
177
+ assert(! (eruby.respond_to? :render))
178
+ eruby.def_method(eruby, 'render(list)', 'foo.rhtml')
179
+ assert eruby.respond_to?(:render)
180
+ actual = eruby.render([1, 2, 3])
181
+ assert_equal("i=1\ni=2\ni=3\n", actual)
182
+ assert(! _class_has_instance_method(eruby.class, 'render'))
183
+ end
184
+
185
+ def test_evaluate_creates_proc
186
+ s = "hello <%= @name %>"
187
+ eruby = Erubis::Eruby.new(s)
188
+ assert_nil(eruby.instance_variable_get('@_proc'))
189
+ actual1 = eruby.evaluate(:name=>'world')
190
+ assert_not_nil(eruby.instance_variable_get('@_proc'))
191
+ assert_instance_of(Proc, eruby.instance_variable_get('@_proc'))
192
+ actual2 = eruby.evaluate(:name=>'world')
193
+ assert_equal(actual1, actual2)
194
+ # convert() must clear @_proc
195
+ eruby.convert(s)
196
+ assert_nil(eruby.instance_variable_get('@_proc'))
197
+ end
198
+
199
+ #def test_toplevel_binding
200
+ # s = "locals = <%= local_variables().inspect %>\n<% x = 50 %>\n"
201
+ # eruby = Erubis::Eruby.new(s)
202
+ # _x = eval 'x', TOPLEVEL_BINDING
203
+ # _y = eval 'y', TOPLEVEL_BINDING
204
+ # actual = eruby.evaluate(:x=>_x, :y=>_y)
205
+ # _x = eval 'x', TOPLEVEL_BINDING
206
+ # _y = eval 'y', TOPLEVEL_BINDING
207
+ # puts "*** actual=#{actual.inspect}, x=#{_x.inspect}, y=#{_y.inspect}"
208
+ #end
209
+
210
+ self.post_definition()
211
+
212
+ end
213
+
214
+ x = 10
215
+ y = 20
216
+
217
+
218
+ __END__
219
+ - name: basic1
220
+ input: &basic1_input|
221
+ <ul>
222
+ <% for item in list %>
223
+ <li><%= item %></li>
224
+ <% end %>
225
+ </ul>
226
+ src: &basic1_src|
227
+ _buf = ''; _buf << '<ul>
228
+ '; for item in list
229
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
230
+ '; end
231
+ _buf << '</ul>
232
+ ';
233
+ _buf.to_s
234
+ output: &basic1_output|
235
+ <ul>
236
+ <li><aaa></li>
237
+ <li>b&b</li>
238
+ <li>"ccc"</li>
239
+ </ul>
240
+
241
+ ##
242
+ - name: basic2
243
+ input: |
244
+ <ul>
245
+ <% i = 0
246
+ for item in list
247
+ i += 1
248
+ %>
249
+ <li><%= item %></li>
250
+ <% end %>
251
+ </ul>
252
+ src: |
253
+ _buf = ''; _buf << '<ul>
254
+ '; i = 0
255
+ for item in list
256
+ i += 1
257
+ ^^^
258
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
259
+ '; end
260
+ _buf << '</ul>
261
+ ';
262
+ _buf.to_s
263
+ output: *basic1_output
264
+ # <ul>
265
+ # <li><aaa></li>
266
+ # <li>b&b</li>
267
+ # <li>"ccc"</li>
268
+ # </ul>
269
+
270
+ ##
271
+ - name: basic3
272
+ input: |
273
+ <ul><% i = 0
274
+ for item in list
275
+ i += 1 %><li><%= item %></li><% end %>
276
+ </ul>
277
+ src: |
278
+ _buf = ''; _buf << '<ul>'; i = 0
279
+ for item in list
280
+ i += 1 ; _buf << '<li>'; _buf << ( item ).to_s; _buf << '</li>'; end ; _buf << '
281
+ '; _buf << '</ul>
282
+ ';
283
+ _buf.to_s
284
+ output: |
285
+ <ul><li><aaa></li><li>b&b</li><li>"ccc"</li>
286
+ </ul>
287
+
288
+ ##
289
+ - name: context1
290
+ testopt: context
291
+ input: |
292
+ <ul>
293
+ <% for item in @list %>
294
+ <li><%= item %></li>
295
+ <% end %>
296
+ </ul>
297
+ src: |
298
+ _buf = ''; _buf << '<ul>
299
+ '; for item in @list
300
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
301
+ '; end
302
+ _buf << '</ul>
303
+ ';
304
+ _buf.to_s
305
+ output: *basic1_output
306
+
307
+ ##
308
+ - name: ignore1
309
+ input: |
310
+ <ul>
311
+ <%# i = 0 %>
312
+ <% for item in list %>
313
+ <%#
314
+ i += 1
315
+ color = i % 2 == 0 ? '#FFCCCC' : '#CCCCFF'
316
+ %>
317
+ <li> <%#= i %> : <%= item %> </li>
318
+ <% end %>
319
+ </ul>
320
+ src: |
321
+ _buf = ''; _buf << '<ul>
322
+ ';
323
+ for item in list
324
+
325
+
326
+
327
+
328
+ _buf << ' <li> ';; _buf << ' : '; _buf << ( item ).to_s; _buf << ' </li>
329
+ '; end
330
+ _buf << '</ul>
331
+ ';
332
+ _buf.to_s
333
+ output: |
334
+ <ul>
335
+ <li> : <aaa> </li>
336
+ <li> : b&b </li>
337
+ <li> : "ccc" </li>
338
+ </ul>
339
+
340
+ ##
341
+ - name: quotation1
342
+ desc: single quotation and backslash
343
+ class: Eruby
344
+ input: &quotation1_input|
345
+ a = "'"
346
+ b = "\""
347
+ c = '\''
348
+ src: |
349
+ _buf = ''; _buf << 'a = "\'"
350
+ b = "\\""
351
+ c = \'\\\'\'
352
+ ';
353
+ _buf.to_s
354
+ output: *quotation1_input
355
+
356
+ ##
357
+ - name: minus1
358
+ desc: '<%- -%>'
359
+ class: Eruby
360
+ input: |
361
+ <ul>
362
+ <%- for item in list -%>
363
+ <li><%= item -%></li>
364
+ <% end -%>
365
+ </ul>
366
+ src: *basic1_src
367
+ output: *basic1_output
368
+
369
+ ##
370
+ - name: pattern1
371
+ options:
372
+ :pattern : '\[@ @\]'
373
+ input: |
374
+ <ul>
375
+ [@ for item in list @]
376
+ <li>[@= item @]</li>
377
+ [@ end @]
378
+ </ul>
379
+ src: |
380
+ _buf = ''; _buf << '<ul>
381
+ '; for item in list
382
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
383
+ '; end
384
+ _buf << '</ul>
385
+ ';
386
+ _buf.to_s
387
+ output: *basic1_output
388
+ # <ul>
389
+ # <li><aaa></li>
390
+ # <li>b&b</li>
391
+ # <li>"ccc"</li>
392
+ # </ul>
393
+
394
+ ##
395
+ - name: pattern2
396
+ options:
397
+ :pattern : '<(?:!--)?% %(?:--)?>'
398
+ input: |
399
+ <ul>
400
+ <!--% for item in list %-->
401
+ <li><%= item %></li>
402
+ <!--% end %-->
403
+ </ul>
404
+ src: |
405
+ _buf = ''; _buf << '<ul>
406
+ '; for item in list
407
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
408
+ '; end
409
+ _buf << '</ul>
410
+ ';
411
+ _buf.to_s
412
+ output: *basic1_output
413
+ # <ul>
414
+ # <li><aaa></li>
415
+ # <li>b&b</li>
416
+ # <li>"ccc"</li>
417
+ # </ul>
418
+
419
+ ##
420
+ - name: trim1
421
+ options:
422
+ :trim : false
423
+ input: *basic1_input
424
+ # <ul>
425
+ # <% for item in list %>
426
+ # <li><%= item %></li>
427
+ # <% end %>
428
+ # </ul>
429
+ src: |
430
+ _buf = ''; _buf << '<ul>
431
+ '; _buf << ' '; for item in list ; _buf << '
432
+ '; _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
433
+ '; _buf << ' '; end ; _buf << '
434
+ '; _buf << '</ul>
435
+ ';
436
+ _buf.to_s
437
+ output: |
438
+ <ul>
439
+ ^
440
+ <li><aaa></li>
441
+ ^
442
+ <li>b&b</li>
443
+ ^
444
+ <li>"ccc"</li>
445
+ ^
446
+ </ul>
447
+
448
+ ##
449
+ - name: bodyonly1
450
+ testopt: skip_output
451
+ options: { :preamble: no, :postamble: no }
452
+ input: *basic1_input
453
+ src: |4
454
+ _buf << '<ul>
455
+ '; for item in list
456
+ _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>
457
+ '; end
458
+ _buf << '</ul>
459
+ ';
460
+ chomp: [src]
461
+ expected: null
462
+
463
+ ##
464
+ - name: loadfile1
465
+ testopt: load_file
466
+ #input: |
467
+ # <ul>
468
+ # <% for item in list %>
469
+ # <li><%= item %></li>
470
+ # <% end %>
471
+ # </ul>
472
+ input:
473
+ "<ul>\r\n <% for item in list %>\r\n <li><%= item %></li>\r\n <% end %>\r\n</ul>\r\n"
474
+ #src: |
475
+ # _buf = ''; _buf << "<ul>\n"
476
+ # for item in list
477
+ # _buf << " <li>"; _buf << ( item ).to_s; _buf << "</li>\n"
478
+ # end
479
+ # _buf << "</ul>\n"
480
+ # _buf
481
+ src:
482
+ "_buf = ''; _buf << '<ul>\r\n'; for item in list \r\n _buf << ' <li>'; _buf << ( item ).to_s; _buf << '</li>\r\n'; end \r\n _buf << '</ul>\r\n';\n_buf.to_s\n"
483
+ #output: |
484
+ # <ul>
485
+ # <li><aaa></li>
486
+ # <li>b&b</li>
487
+ # <li>"ccc"</li>
488
+ # </ul>
489
+ output:
490
+ "<ul>\n <li><aaa></li>\n <li>b&b</li>\n <li>\"ccc\"</li>\n</ul>\n"
491
+ # "<ul>\r\n <li><aaa></li>\r\n <li>b&b</li>\r\n <li>\"ccc\"</li>\r\n</ul>\r\n"
492
+
493
+ ##
494
+ - name: nomatch1
495
+ desc: bug
496
+ input: &nomatch1|
497
+ <ul>
498
+ <li>foo</li>
499
+ </ul>
500
+ src: |
501
+ _buf = ''; _buf << '<ul>
502
+ <li>foo</li>
503
+ </ul>
504
+ ';
505
+ _buf.to_s
506
+ output: *nomatch1
507
+
508
+ ##
509
+ - name: escape1
510
+ options: { :escape: true }
511
+ input: |
512
+ <% str = '<>&"' %>
513
+ <%= str %>
514
+ <%== str %>
515
+ src: |
516
+ _buf = ''; str = '<>&"'
517
+ _buf << Erubis::XmlHelper.escape_xml( str ); _buf << '
518
+ '; _buf << ( str ).to_s; _buf << '
519
+ ';
520
+ _buf.to_s
521
+ output: |
522
+ &lt;&gt;&amp;&quot;
523
+ <>&"
524
+
525
+ ##
526
+ - name: tailch1
527
+ options:
528
+ input: |
529
+ <p>
530
+ <% str = '<>&"' %>
531
+ <%= str %>
532
+ <%= str =%>
533
+ <%= str -%>
534
+ </p>
535
+ src: |
536
+ _buf = ''; _buf << '<p>
537
+ '; str = '<>&"'
538
+ _buf << ' '; _buf << ( str ).to_s; _buf << '
539
+ '; _buf << ' '; _buf << ( str ).to_s; _buf << ' '; _buf << ( str ).to_s; _buf << '</p>
540
+ ';
541
+ _buf.to_s
542
+ output: |
543
+ <p>
544
+ <>&"
545
+ <>&" <>&"</p>
546
+
547
+ ##
548
+ - name: doublepercent1
549
+ options:
550
+ input: |
551
+ <% x1 = 10 %>
552
+ <%% x2 = 20 %>
553
+ <%= x1 %>
554
+ <%%= x2 %>
555
+ src: |
556
+ _buf = ''; x1 = 10
557
+ _buf << '<% x2 = 20 %>
558
+ '; _buf << ( x1 ).to_s; _buf << '
559
+ '; _buf << '<%= x2 %>
560
+ ';
561
+ _buf.to_s
562
+ output: |
563
+ <% x2 = 20 %>
564
+ 10
565
+ <%= x2 %>
566
+
567
+ ##
568
+ - name: optimized1
569
+ class: OptimizedEruby
570
+ input: &optimized1_input|
571
+ <table>
572
+ <% for item in list %>
573
+ <tr>
574
+ <td><%= item %></td>
575
+ <td><%== item %></td>
576
+ </tr>
577
+ <% end %>
578
+ </table>
579
+ <ul><% for item in list %><li><%= item %></li><% end %></ul>
580
+ src: |
581
+ _buf = '<table>
582
+ '; for item in list
583
+ _buf << ' <tr>
584
+ <td>' << ( item ).to_s << '</td>
585
+ <td>' << Erubis::XmlHelper.escape_xml( item ) << '</td>
586
+ </tr>
587
+ '; end
588
+ _buf << '</table>
589
+ <ul>'; for item in list ; _buf << '<li>' << ( item ).to_s << '</li>'; end ; _buf << '</ul>
590
+ '
591
+ _buf
592
+ output: |
593
+ <table>
594
+ <tr>
595
+ <td><aaa></td>
596
+ <td>&lt;aaa&gt;</td>
597
+ </tr>
598
+ <tr>
599
+ <td>b&b</td>
600
+ <td>b&amp;b</td>
601
+ </tr>
602
+ <tr>
603
+ <td>"ccc"</td>
604
+ <td>&quot;ccc&quot;</td>
605
+ </tr>
606
+ </table>
607
+ <ul><li><aaa></li><li>b&b</li><li>"ccc"</li></ul>
608
+
609
+ ##
610
+ - name: optimized2
611
+ class: OptimizedXmlEruby
612
+ input: *optimized1_input
613
+ # <table>
614
+ # <% for item in list %>
615
+ # <tr>
616
+ # <td><%= item %></td>
617
+ # <td><%== item %></td>
618
+ # </tr>
619
+ # <% end %>
620
+ # </table>
621
+ # <ul><% for item in list %><li><%= item %></li><% end %></ul>
622
+ src: |
623
+ _buf = '<table>
624
+ '; for item in list
625
+ _buf << ' <tr>
626
+ <td>' << Erubis::XmlHelper.escape_xml( item ) << '</td>
627
+ <td>' << ( item ).to_s << '</td>
628
+ </tr>
629
+ '; end
630
+ _buf << '</table>
631
+ <ul>'; for item in list ; _buf << '<li>' << Erubis::XmlHelper.escape_xml( item ) << '</li>'; end ; _buf << '</ul>
632
+ '
633
+ _buf
634
+ output: |
635
+ <table>
636
+ <tr>
637
+ <td>&lt;aaa&gt;</td>
638
+ <td><aaa></td>
639
+ </tr>
640
+ <tr>
641
+ <td>b&amp;b</td>
642
+ <td>b&b</td>
643
+ </tr>
644
+ <tr>
645
+ <td>&quot;ccc&quot;</td>
646
+ <td>"ccc"</td>
647
+ </tr>
648
+ </table>
649
+ <ul><li>&lt;aaa&gt;</li><li>b&amp;b</li><li>&quot;ccc&quot;</li></ul>
650
+
651
+ ##
652
+ - name: optimized3
653
+ desc: bug
654
+ class: OptimizedEruby
655
+ input: |
656
+ user = <%= "Foo" %>
657
+ <% for item in list %>
658
+ <%= item %>
659
+ <% end %>
660
+ src: |
661
+ _buf = 'user = '; _buf << ( "Foo" ).to_s << '
662
+ '; for item in list
663
+ _buf << ' ' << ( item ).to_s << '
664
+ '; end
665
+
666
+ _buf
667
+ output: |
668
+ user = Foo
669
+ <aaa>
670
+ b&b
671
+ "ccc"
672
+
673
+ ##
674
+ - name: optimized4
675
+ desc: single quotation and backslash
676
+ class: OptimizedEruby
677
+ input: &optimized4_input|
678
+ a = "'"
679
+ b = "\""
680
+ c = '\''
681
+ src: |
682
+ _buf = 'a = "\'"
683
+ b = "\\""
684
+ c = \'\\\'\'
685
+ ';
686
+ _buf
687
+ output: *optimized4_input
688
+
689
+ ##
690
+ - name: tiny1
691
+ class: TinyEruby
692
+ testopt: binding
693
+ input: |
694
+ <ul>
695
+ <% for item in list %>
696
+ <li><%= item %></li>
697
+ <% end %>
698
+ </ul>
699
+ src: |
700
+ _buf = ''; _buf << '<ul>
701
+ '; for item in list ; _buf << '
702
+ <li>'; _buf << ( item ).to_s; _buf << '</li>
703
+ '; end ; _buf << '
704
+ </ul>
705
+ ';
706
+ _buf.to_s
707
+ output: |
708
+ <ul>
709
+ ^
710
+ <li><aaa></li>
711
+ ^
712
+ <li>b&b</li>
713
+ ^
714
+ <li>"ccc"</li>
715
+ ^
716
+ </ul>
717
+
718
+ ##
719
+ - name: tiny2
720
+ class: TinyEruby
721
+ testopt: evaluate
722
+ input: |
723
+ <ul>
724
+ <% for item in @list %>
725
+ <li><%= item %></li>
726
+ <% end %>
727
+ </ul>
728
+ src: |
729
+ _buf = ''; _buf << '<ul>
730
+ '; for item in @list ; _buf << '
731
+ <li>'; _buf << ( item ).to_s; _buf << '</li>
732
+ '; end ; _buf << '
733
+ </ul>
734
+ ';
735
+ _buf.to_s
736
+ output: |
737
+ <ul>
738
+ ^
739
+ <li><aaa></li>
740
+ ^
741
+ <li>b&b</li>
742
+ ^
743
+ <li>"ccc"</li>
744
+ ^
745
+ </ul>
746
+
747
+ ##
748
+ - name: pi1
749
+ class: PI::Eruby
750
+ testopt: evaluate
751
+ input: &input_pi1|
752
+ <ul>
753
+ <?rb for item in @list ?>
754
+ <li>@{item}@ / @!{item}@</li>
755
+ <li><%= item %> / <%== item %></li>
756
+ <?rb end ?>
757
+ </ul>
758
+ src: &src_pi1|
759
+ _buf = ''; _buf << '<ul>
760
+ '; for item in @list
761
+ _buf << ' <li>'; _buf << Erubis::XmlHelper.escape_xml(item); _buf << ' / '; _buf << (item).to_s; _buf << '</li>
762
+ <li>'; _buf << ( item ).to_s; _buf << ' / '; _buf << Erubis::XmlHelper.escape_xml( item ); _buf << '</li>
763
+ '; end
764
+ _buf << '</ul>
765
+ ';
766
+ _buf.to_s
767
+ output: &output_pi1|
768
+ <ul>
769
+ <li>&lt;aaa&gt; / <aaa></li>
770
+ <li><aaa> / &lt;aaa&gt;</li>
771
+ <li>b&amp;b / b&b</li>
772
+ <li>b&b / b&amp;b</li>
773
+ <li>&quot;ccc&quot; / "ccc"</li>
774
+ <li>"ccc" / &quot;ccc&quot;</li>
775
+ </ul>
776
+
777
+ ##
778
+ - name: pi2
779
+ class: PI::Eruby
780
+ options: { :escape: false }
781
+ testopt: evaluate
782
+ input: *input_pi1
783
+ src: |
784
+ _buf = ''; _buf << '<ul>
785
+ '; for item in @list
786
+ _buf << ' <li>'; _buf << (item).to_s; _buf << ' / '; _buf << Erubis::XmlHelper.escape_xml(item); _buf << '</li>
787
+ <li>'; _buf << Erubis::XmlHelper.escape_xml( item ); _buf << ' / '; _buf << ( item ).to_s; _buf << '</li>
788
+ '; end
789
+ _buf << '</ul>
790
+ ';
791
+ _buf.to_s
792
+ output: |
793
+ <ul>
794
+ <li><aaa> / &lt;aaa&gt;</li>
795
+ <li>&lt;aaa&gt; / <aaa></li>
796
+ <li>b&b / b&amp;b</li>
797
+ <li>b&amp;b / b&b</li>
798
+ <li>"ccc" / &quot;ccc&quot;</li>
799
+ <li>&quot;ccc&quot; / "ccc"</li>
800
+ </ul>
801
+
802
+ ##
803
+ - name: pi3
804
+ class: PI::Eruby
805
+ options: { :pi: hoge, :embchar: '$' }
806
+ testopt: evaluate
807
+ input: |
808
+ <ul>
809
+ <?hoge for item in @list ?>
810
+ <li>${item}$ / $!{item}$</li>
811
+ <li><%= item %> / <%== item %></li>
812
+ <?hoge end ?>
813
+ </ul>
814
+ src: *src_pi1
815
+ output: *output_pi1
816
+
817
+ - name: pi4
818
+ class: PI::Eruby
819
+ testopt: evaluate
820
+ input: |
821
+ <?rb-header
822
+ def show(list)
823
+ ?>
824
+ <ul>
825
+ <?rb for item in list ?>
826
+ <?rb-value item ?>
827
+ <?rb end ?>
828
+ <?rb-comment
829
+ # comment
830
+ # comment
831
+ ?>
832
+ </ul>
833
+ <?rb-footer
834
+ end
835
+ show(@list) ?>
836
+
837
+ src: |4
838
+
839
+ def show(list)
840
+
841
+ _buf = ''; _buf << '<ul>
842
+ '; for item in list
843
+ _buf << ( item
844
+ ).to_s; end
845
+
846
+
847
+
848
+
849
+ _buf << '</ul>
850
+ ';
851
+ _buf.to_s
852
+
853
+ end
854
+ show(@list)
855
+
856
+ output: |
857
+ <ul>
858
+ <aaa>b&b"ccc"</ul>
859
+
860
+
861
+ - name: pitiny1
862
+ class: PI::TinyEruby
863
+ testopt: evaluate
864
+ input: |
865
+ <ul>
866
+ <?rb for item in @list ?>
867
+ <li>@{item}@ / @!{item}@</li>
868
+ <?rb end ?>
869
+ </ul>
870
+ src: |
871
+ _buf = ''; _buf << '<ul>
872
+ '; for item in @list
873
+ _buf << ' <li>'; _buf << Erubis::XmlHelper.escape_xml(item); _buf << ' / '; _buf << (item).to_s; _buf << '</li>
874
+ '; end
875
+ _buf << '</ul>
876
+ ';
877
+ _buf.to_s
878
+ output: |
879
+ <ul>
880
+ <li>&lt;aaa&gt; / <aaa></li>
881
+ <li>b&amp;b / b&b</li>
882
+ <li>&quot;ccc&quot; / "ccc"</li>
883
+ </ul>
884
+