sinatra-base 1.0 → 1.4.0

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 (101) hide show
  1. data/.yardopts +4 -0
  2. data/AUTHORS +15 -0
  3. data/CHANGES +524 -1
  4. data/Gemfile +82 -0
  5. data/LICENSE +1 -1
  6. data/README.de.rdoc +2093 -0
  7. data/README.es.rdoc +2091 -0
  8. data/README.fr.rdoc +2116 -0
  9. data/README.hu.rdoc +607 -0
  10. data/README.jp.rdoc +514 -23
  11. data/README.pt-br.rdoc +647 -0
  12. data/README.pt-pt.rdoc +646 -0
  13. data/README.rdoc +1580 -205
  14. data/README.ru.rdoc +2015 -0
  15. data/README.zh.rdoc +1816 -0
  16. data/Rakefile +110 -44
  17. data/examples/chat.rb +61 -0
  18. data/examples/simple.rb +3 -0
  19. data/examples/stream.ru +26 -0
  20. data/lib/sinatra.rb +0 -3
  21. data/lib/sinatra/base.rb +923 -393
  22. data/lib/sinatra/main.rb +9 -7
  23. data/lib/sinatra/showexceptions.rb +37 -4
  24. data/lib/sinatra/version.rb +3 -0
  25. data/sinatra-base.gemspec +15 -91
  26. data/test/base_test.rb +2 -2
  27. data/test/builder_test.rb +32 -2
  28. data/test/coffee_test.rb +92 -0
  29. data/test/contest.rb +62 -28
  30. data/test/creole_test.rb +65 -0
  31. data/test/delegator_test.rb +162 -0
  32. data/test/encoding_test.rb +20 -0
  33. data/test/erb_test.rb +25 -2
  34. data/test/extensions_test.rb +1 -1
  35. data/test/filter_test.rb +226 -8
  36. data/test/haml_test.rb +8 -2
  37. data/test/helper.rb +47 -0
  38. data/test/helpers_test.rb +1287 -80
  39. data/test/integration/app.rb +62 -0
  40. data/test/integration_helper.rb +208 -0
  41. data/test/integration_test.rb +82 -0
  42. data/test/less_test.rb +36 -6
  43. data/test/liquid_test.rb +59 -0
  44. data/test/mapped_error_test.rb +84 -7
  45. data/test/markaby_test.rb +80 -0
  46. data/test/markdown_test.rb +81 -0
  47. data/test/middleware_test.rb +1 -1
  48. data/test/nokogiri_test.rb +69 -0
  49. data/test/rack_test.rb +45 -0
  50. data/test/radius_test.rb +59 -0
  51. data/test/rdoc_test.rb +66 -0
  52. data/test/readme_test.rb +136 -0
  53. data/test/request_test.rb +13 -1
  54. data/test/response_test.rb +21 -2
  55. data/test/result_test.rb +5 -5
  56. data/test/route_added_hook_test.rb +1 -1
  57. data/test/routing_test.rb +328 -13
  58. data/test/sass_test.rb +48 -18
  59. data/test/scss_test.rb +88 -0
  60. data/test/server_test.rb +4 -3
  61. data/test/settings_test.rb +191 -21
  62. data/test/sinatra_test.rb +5 -1
  63. data/test/slim_test.rb +88 -0
  64. data/test/static_test.rb +89 -5
  65. data/test/streaming_test.rb +140 -0
  66. data/test/templates_test.rb +143 -4
  67. data/test/textile_test.rb +65 -0
  68. data/test/views/a/in_a.str +1 -0
  69. data/test/views/ascii.erb +2 -0
  70. data/test/views/b/in_b.str +1 -0
  71. data/test/views/calc.html.erb +1 -0
  72. data/test/views/explicitly_nested.str +1 -0
  73. data/test/views/hello.coffee +1 -0
  74. data/test/views/hello.creole +1 -0
  75. data/test/views/hello.liquid +1 -0
  76. data/test/views/hello.mab +1 -0
  77. data/test/views/hello.md +1 -0
  78. data/test/views/hello.nokogiri +1 -0
  79. data/test/views/hello.radius +1 -0
  80. data/test/views/hello.rdoc +1 -0
  81. data/test/views/hello.sass +1 -1
  82. data/test/views/hello.scss +3 -0
  83. data/test/views/hello.slim +1 -0
  84. data/test/views/hello.str +1 -0
  85. data/test/views/hello.textile +1 -0
  86. data/test/views/hello.yajl +1 -0
  87. data/test/views/layout2.liquid +2 -0
  88. data/test/views/layout2.mab +2 -0
  89. data/test/views/layout2.nokogiri +3 -0
  90. data/test/views/layout2.radius +2 -0
  91. data/test/views/layout2.slim +3 -0
  92. data/test/views/layout2.str +2 -0
  93. data/test/views/nested.str +1 -0
  94. data/test/views/utf8.erb +2 -0
  95. data/test/yajl_test.rb +80 -0
  96. metadata +126 -91
  97. data/lib/sinatra/tilt.rb +0 -746
  98. data/test/erubis_test.rb +0 -82
  99. data/test/views/error.erubis +0 -3
  100. data/test/views/hello.erubis +0 -1
  101. data/test/views/layout2.erubis +0 -2
@@ -1,82 +0,0 @@
1
- require File.dirname(__FILE__) + '/helper'
2
- require 'erubis'
3
-
4
- class ERubisTest < Test::Unit::TestCase
5
- def erubis_app(&block)
6
- mock_app {
7
- set :views, File.dirname(__FILE__) + '/views'
8
- get '/', &block
9
- }
10
- get '/'
11
- end
12
-
13
- it 'renders inline ERubis strings' do
14
- erubis_app { erubis '<%= 1 + 1 %>' }
15
- assert ok?
16
- assert_equal '2', body
17
- end
18
-
19
- it 'renders .erubis files in views path' do
20
- erubis_app { erubis :hello }
21
- assert ok?
22
- assert_equal "Hello World\n", body
23
- end
24
-
25
- it 'takes a :locals option' do
26
- erubis_app {
27
- locals = {:foo => 'Bar'}
28
- erubis '<%= foo %>', :locals => locals
29
- }
30
- assert ok?
31
- assert_equal 'Bar', body
32
- end
33
-
34
- it "renders with inline layouts" do
35
- mock_app {
36
- layout { 'THIS. IS. <%= yield.upcase %>!' }
37
- get('/') { erubis 'Sparta' }
38
- }
39
- get '/'
40
- assert ok?
41
- assert_equal 'THIS. IS. SPARTA!', body
42
- end
43
-
44
- it "renders with file layouts" do
45
- erubis_app {
46
- erubis 'Hello World', :layout => :layout2
47
- }
48
- assert ok?
49
- assert_equal "ERubis Layout!\nHello World\n", body
50
- end
51
-
52
- it "renders erubis with blocks" do
53
- mock_app {
54
- def container
55
- @_out_buf << "THIS."
56
- yield
57
- @_out_buf << "SPARTA!"
58
- end
59
- def is; "IS." end
60
- get '/' do
61
- erubis '<% container do %> <%= is %> <% end %>'
62
- end
63
- }
64
- get '/'
65
- assert ok?
66
- assert_equal 'THIS. IS. SPARTA!', body
67
- end
68
-
69
- it "can be used in a nested fashion for partials and whatnot" do
70
- mock_app {
71
- template(:inner) { "<inner><%= 'hi' %></inner>" }
72
- template(:outer) { "<outer><%= erubis :inner %></outer>" }
73
- get '/' do
74
- erubis :outer
75
- end
76
- }
77
-
78
- get '/'
79
- assert ok?
80
- assert_equal '<outer><inner>hi</inner></outer>', body
81
- end
82
- end
@@ -1,3 +0,0 @@
1
- Hello <%= 'World' %>
2
- <% raise 'Goodbye' unless defined?(french) && french %>
3
- <% raise 'Au revoir' if defined?(french) && french %>
@@ -1 +0,0 @@
1
- Hello <%= 'World' %>
@@ -1,2 +0,0 @@
1
- ERubis Layout!
2
- <%= yield %>