mab 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +5 -1
  3. data/Gemfile.lock +3 -3
  4. data/Rakefile +10 -2
  5. data/lib/mab.rb +1 -0
  6. data/lib/mab/indentation.rb +2 -2
  7. data/lib/mab/mixin.rb +57 -57
  8. data/lib/mab/rails.rb +20 -0
  9. data/lib/mab/version.rb +1 -1
  10. data/test/rails/Rakefile +7 -0
  11. data/test/rails/app/assets/images/rails.png +0 -0
  12. data/test/rails/app/assets/javascripts/application.js +15 -0
  13. data/test/rails/app/assets/stylesheets/application.css +13 -0
  14. data/test/rails/app/controllers/application_controller.rb +17 -0
  15. data/test/rails/app/helpers/application_helper.rb +2 -0
  16. data/test/rails/app/views/application/content_for.html.mab +6 -0
  17. data/test/rails/app/views/application/normal.html.mab +2 -0
  18. data/test/rails/app/views/application/variables.html.mab +2 -0
  19. data/test/rails/app/views/layouts/application.html.mab +15 -0
  20. data/test/rails/config.ru +4 -0
  21. data/test/rails/config/application.rb +54 -0
  22. data/test/rails/config/boot.rb +6 -0
  23. data/test/rails/config/environment.rb +5 -0
  24. data/test/rails/config/environments/development.rb +27 -0
  25. data/test/rails/config/environments/production.rb +67 -0
  26. data/test/rails/config/environments/test.rb +29 -0
  27. data/test/rails/config/initializers/backtrace_silencers.rb +7 -0
  28. data/test/rails/config/initializers/inflections.rb +15 -0
  29. data/test/rails/config/initializers/mime_types.rb +5 -0
  30. data/test/rails/config/initializers/secret_token.rb +7 -0
  31. data/test/rails/config/initializers/session_store.rb +8 -0
  32. data/test/rails/config/initializers/wrap_parameters.rb +14 -0
  33. data/test/rails/config/locales/en.yml +5 -0
  34. data/test/rails/config/routes.rb +3 -0
  35. data/test/rails/script/rails +6 -0
  36. data/test/rails/test/helper.rb +7 -0
  37. data/test/rails/test/test_mab.rb +40 -0
  38. data/test/test_mab_mixin.rb +10 -6
  39. metadata +46 -88
  40. data/bench.rb +0 -37
  41. data/mab-0.0.1.gem +0 -0
  42. data/markaby/CHANGELOG.rdoc +0 -106
  43. data/markaby/Markaby.gemspec +0 -109
  44. data/markaby/README.rdoc +0 -317
  45. data/markaby/Rakefile +0 -78
  46. data/markaby/VERSION +0 -1
  47. data/markaby/garlic.rb +0 -29
  48. data/markaby/init.rb +0 -6
  49. data/markaby/lib/markaby.rb +0 -30
  50. data/markaby/lib/markaby/builder.rb +0 -314
  51. data/markaby/lib/markaby/builder_tags.rb +0 -64
  52. data/markaby/lib/markaby/cssproxy.rb +0 -55
  53. data/markaby/lib/markaby/kernel_method.rb +0 -7
  54. data/markaby/lib/markaby/rails.rb +0 -75
  55. data/markaby/lib/markaby/rails/current.rb +0 -85
  56. data/markaby/lib/markaby/rails/deprecated.rb +0 -124
  57. data/markaby/lib/markaby/rails/rails_builder.rb +0 -91
  58. data/markaby/lib/markaby/sinatra.rb +0 -18
  59. data/markaby/lib/markaby/tags.rb +0 -200
  60. data/markaby/lib/markaby/tilt.rb +0 -8
  61. data/markaby/spec/markaby/builder_spec.rb +0 -118
  62. data/markaby/spec/markaby/css_proxy_test.rb +0 -47
  63. data/markaby/spec/markaby/fragment_test.rb +0 -10
  64. data/markaby/spec/markaby/markaby_other_static.mab +0 -1
  65. data/markaby/spec/markaby/markaby_spec.rb +0 -184
  66. data/markaby/spec/markaby/markaby_test.rb +0 -251
  67. data/markaby/spec/markaby/rails/spec_helper.rb +0 -29
  68. data/markaby/spec/markaby/rails/views/layouts/layout.mab +0 -11
  69. data/markaby/spec/markaby/rails/views/markaby/_a_partial.mab +0 -3
  70. data/markaby/spec/markaby/rails/views/markaby/_form_for_with_body_in_erb.erb +0 -1
  71. data/markaby/spec/markaby/rails/views/markaby/_partial_child_with_locals.mab +0 -1
  72. data/markaby/spec/markaby/rails/views/markaby/access_to_helpers.mab +0 -1
  73. data/markaby/spec/markaby/rails/views/markaby/broken.mab +0 -7
  74. data/markaby/spec/markaby/rails/views/markaby/commented_out_template.mab +0 -1
  75. data/markaby/spec/markaby/rails/views/markaby/correct_template_values.mab +0 -5
  76. data/markaby/spec/markaby/rails/views/markaby/double_output.mab +0 -8
  77. data/markaby/spec/markaby/rails/views/markaby/form_for.mab +0 -2
  78. data/markaby/spec/markaby/rails/views/markaby/form_for_with_fields.mab +0 -3
  79. data/markaby/spec/markaby/rails/views/markaby/form_for_with_multiple_fields.mab +0 -4
  80. data/markaby/spec/markaby/rails/views/markaby/no_values_passed.mab +0 -3
  81. data/markaby/spec/markaby/rails/views/markaby/partial_parent.mab +0 -1
  82. data/markaby/spec/markaby/rails/views/markaby/partial_parent_with_locals.mab +0 -7
  83. data/markaby/spec/markaby/rails/views/markaby/render_erb_without_explicit_render_call.erb +0 -1
  84. data/markaby/spec/markaby/rails/views/markaby/render_explicit_but_empty_markaby_layout.mab +0 -0
  85. data/markaby/spec/markaby/rails/views/markaby/render_mab_without_explicit_render_call.mab +0 -3
  86. data/markaby/spec/markaby/rails/views/markaby/render_with_ivar.mab +0 -3
  87. data/markaby/spec/markaby/rails/views/markaby/renders_erb.rhtml +0 -1
  88. data/markaby/spec/markaby/rails/views/markaby/renders_form_for_with_erb_body.mab +0 -3
  89. data/markaby/spec/markaby/rails/views/markaby/routes.mab +0 -1
  90. data/markaby/spec/markaby/rails/views/markaby/yielding.mab +0 -3
  91. data/markaby/spec/markaby/rails/views/markaby/yielding_content_for_with_block_helper.mab +0 -5
  92. data/markaby/spec/markaby/rails/views/markaby/yielding_two.mab +0 -7
  93. data/markaby/spec/markaby/rails/views/markaby/yielding_with_content_for.mab +0 -3
  94. data/markaby/spec/markaby/rails_test.rb +0 -380
  95. data/markaby/spec/markaby/rails_version_spec.rb +0 -37
  96. data/markaby/spec/markaby/sinatra/app.rb +0 -49
  97. data/markaby/spec/markaby/sinatra/sinatra_spec.rb +0 -67
  98. data/markaby/spec/markaby/sinatra/views/helpers.mab +0 -1
  99. data/markaby/spec/markaby/sinatra/views/layout.mab +0 -7
  100. data/markaby/spec/markaby/sinatra/views/markaby_template.mab +0 -0
  101. data/markaby/spec/markaby/sinatra/views/scope_instance_variables.mab +0 -3
  102. data/markaby/spec/markaby/sinatra/views/simple_html.mab +0 -4
  103. data/markaby/spec/markaby/sinatra/views/variables.mab +0 -3
  104. data/markaby/spec/markaby/tilt/erb.erb +0 -1
  105. data/markaby/spec/markaby/tilt/locals.mab +0 -1
  106. data/markaby/spec/markaby/tilt/markaby.mab +0 -1
  107. data/markaby/spec/markaby/tilt/markaby_other_static.mab +0 -1
  108. data/markaby/spec/markaby/tilt/render_twice.mab +0 -1
  109. data/markaby/spec/markaby/tilt/scope.mab +0 -1
  110. data/markaby/spec/markaby/tilt/yielding.mab +0 -2
  111. data/markaby/spec/markaby/tilt_spec.rb +0 -75
  112. data/markaby/spec/spec.opts +0 -2
  113. data/markaby/spec/spec_helper.rb +0 -44
@@ -1,37 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'rails', 'spec_helper')
2
-
3
- unless RUNNING_RAILS
4
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
5
-
6
- describe "when rails is loaded, but is not a supported version" do
7
- module MockRails
8
- module VERSION
9
- STRING = ::Markaby::Rails::UNSUPPORTED_RAILS_VERSIONS.first
10
- end
11
- end
12
-
13
- def install_mock_rails
14
- Object.const_set(:Rails, MockRails)
15
- end
16
-
17
- def remove_mock_rails
18
- Object.class_eval do
19
- remove_const(:Rails)
20
- end
21
- end
22
-
23
- before do
24
- install_mock_rails
25
- end
26
-
27
- after do
28
- remove_mock_rails
29
- end
30
-
31
- it "should raise" do
32
- lambda {
33
- ::Markaby::Rails.load
34
- }.should raise_error(LoadError, "Cannot load markaby under rails version 2.0.0. See Markaby::Rails::SUPPORTED_RAILS_VERSIONS for exactly that, or redefine this constant.")
35
- end
36
- end
37
- end
@@ -1,49 +0,0 @@
1
- set :views, lambda { File.join(File.dirname(__FILE__), "views") }
2
-
3
- get '/empty_action' do
4
- "hi there"
5
- end
6
-
7
- get '/markaby_template' do
8
- mab :markaby_template
9
- end
10
-
11
- get '/simple_html' do
12
- mab :simple_html
13
- end
14
-
15
- get '/variables' do
16
- mab :variables, {}, :name => "Scott Taylor"
17
- end
18
-
19
- get '/variables_with_locals' do
20
- mab :variables, :locals => { :name => "Scott Taylor" }
21
- end
22
-
23
- get '/scope_instance_variables' do
24
- @name = "Scott Taylor"
25
- mab :variables
26
- end
27
-
28
- template :layout_index do
29
- 'div.title "Hello World!"'
30
- end
31
-
32
- get "/named_template" do
33
- mab :layout_index
34
- end
35
-
36
- get "/layout" do
37
- @display_layout = true
38
- mab :layout_index
39
- end
40
-
41
- helpers do
42
- def chunky
43
- "bacon"
44
- end
45
- end
46
-
47
- get "/helpers" do
48
- mab :helpers
49
- end
@@ -1,67 +0,0 @@
1
- unless RUNNING_RAILS
2
- require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
3
- require 'markaby/sinatra'
4
- require 'rack/test'
5
- require File.expand_path(File.dirname(__FILE__) + "/app")
6
-
7
- describe "sinatra integration" do
8
- include Rack::Test::Methods
9
-
10
- def app
11
- @app ||= Sinatra::Application
12
- end
13
-
14
- it "should render an empty" do
15
- get '/empty_action'
16
- last_response.should be_ok
17
- end
18
-
19
- it "should render an empty markaby template" do
20
- get '/markaby_template'
21
- last_response.should be_ok
22
- last_response.body.should == ""
23
- end
24
-
25
- it "should render a template with html in it" do
26
- get '/simple_html'
27
- last_response.should be_ok
28
- last_response.body.should == "<ul><li>hi</li><li>there</li></ul>"
29
- end
30
-
31
- it "should be able to pass variables" do
32
- get '/variables'
33
- last_response.should be_ok
34
- last_response.body.should == '<p class="name">Scott Taylor</p>'
35
- end
36
-
37
- it "should be able to pass variables through locals" do
38
- get '/variables_with_locals'
39
- last_response.should be_ok
40
- last_response.body.should == '<p class="name">Scott Taylor</p>'
41
- end
42
-
43
- it "should have scope to instance variables" do
44
- get '/scope_instance_variables'
45
- last_response.should be_ok
46
- last_response.body.should == '<p class="name">Scott Taylor</p>'
47
- end
48
-
49
- it "should be able to use named templates" do
50
- get "/named_template"
51
- last_response.should be_ok
52
- last_response.body.should == '<div class="title">Hello World!</div>'
53
- end
54
-
55
- it "should be able to use a layout with :layout" do
56
- get '/layout'
57
- last_response.should be_ok
58
- last_response.body.should == '<html><div class="title">Hello World!</div></html>'
59
- end
60
-
61
- it "should be able to access helpers in a template" do
62
- get '/helpers'
63
- last_response.should be_ok
64
- last_response.body.should == "<li>bacon</li>"
65
- end
66
- end
67
- end
@@ -1,7 +0,0 @@
1
- if @display_layout
2
- html do
3
- yield
4
- end
5
- else
6
- yield
7
- end
@@ -1,3 +0,0 @@
1
- p :class => "name" do
2
- @name
3
- end
@@ -1,4 +0,0 @@
1
- ul do
2
- li "hi"
3
- li "there"
4
- end
@@ -1,3 +0,0 @@
1
- p :class => "name" do
2
- name
3
- end
@@ -1 +0,0 @@
1
- hello from erb!
@@ -1 +0,0 @@
1
- li foo
@@ -1 +0,0 @@
1
- text "hello from markaby!"
@@ -1 +0,0 @@
1
- text "foo"
@@ -1 +0,0 @@
1
- li foo
@@ -1,2 +0,0 @@
1
- text("Hey ")
2
- yield
@@ -1,75 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
-
3
- module Markaby
4
- describe Tilt, "templates" do
5
- before do
6
- @block = lambda do |t|
7
- File.read(File.dirname(__FILE__) + "/#{t.file}")
8
- end
9
- end
10
-
11
- it "should have the constant ::Tilt::Markaby after registration" do
12
- lambda {
13
- ::Tilt::MarkabyTemplate
14
- }.should_not raise_error
15
- end
16
-
17
- it "should be able to render an erb template" do
18
- tilt = ::Tilt::ERBTemplate.new("tilt/erb.erb", &@block)
19
- tilt.render.should == "hello from erb!"
20
- end
21
-
22
- it "should be able to render a markaby template with static html" do
23
- tilt = ::Tilt::MarkabyTemplate.new("tilt/markaby.mab", &@block)
24
- tilt.render.should == "hello from markaby!"
25
- end
26
-
27
- it "should use the contents of the template" do
28
- tilt = ::Tilt::MarkabyTemplate.new("tilt/markaby_other_static.mab", &@block)
29
- tilt.render.should == "_why?"
30
- end
31
-
32
- it "should render from a string (given as data)" do
33
- tilt = ::Tilt::MarkabyTemplate.new { "html do; end" }
34
- tilt.render.should == "<html></html>"
35
- end
36
-
37
- it "should evaluate a template file in the scope given" do
38
- scope = mock 'scope object', :foo => "bar"
39
-
40
- tilt = ::Tilt::MarkabyTemplate.new("tilt/scope.mab", &@block)
41
- tilt.render(scope).should == "<li>bar</li>"
42
- end
43
-
44
- it "should pass locals to the template" do
45
- tilt = ::Tilt::MarkabyTemplate.new("tilt/locals.mab", &@block)
46
- tilt.render(Object.new, { :foo => "bar" }).should == "<li>bar</li>"
47
- end
48
-
49
- it "should yield to the block given" do
50
- tilt = ::Tilt::MarkabyTemplate.new("tilt/yielding.mab", &@block)
51
- eval_scope = Markaby::Builder.new
52
-
53
- output = tilt.render(Object.new, {}) do
54
- text("Joe")
55
- end
56
-
57
- output.should == "Hey Joe"
58
- end
59
-
60
- it "should be able to render two templates in a row" do
61
- tilt = ::Tilt::MarkabyTemplate.new("tilt/render_twice.mab", &@block)
62
-
63
- tilt.render.should == "foo"
64
- tilt.render.should == "foo"
65
- end
66
-
67
- it "should retrieve a Tilt::MarkabyTemplate when calling Tilt['hello.mab']" do
68
- ::Tilt['./tilt/markaby.mab'].should == Markaby::Tilt::Template
69
- end
70
-
71
- it "should return a new instance of the implementation class (when calling Tilt.new)" do
72
- ::Tilt.new(File.dirname(__FILE__) + "/tilt/markaby.mab").should be_a_kind_of(Markaby::Tilt::Template)
73
- end
74
- end
75
- end
@@ -1,2 +0,0 @@
1
- --color
2
- --backtrace
@@ -1,44 +0,0 @@
1
- require 'test/unit'
2
- require 'test/unit/autorunner'
3
- require 'rspec'
4
-
5
- $:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
6
-
7
- require 'markaby'
8
- require 'markaby/kernel_method'
9
- require 'markaby/rails'
10
-
11
- require 'erb'
12
- require 'markaby/rails/spec_helper'
13
-
14
- module MarkabyTestHelpers
15
- def link_to(obj)
16
- %{<a href="">#{obj}</a>}
17
- end
18
- def pluralize(string)
19
- string + "s"
20
- end
21
- module_function :link_to, :pluralize
22
- end
23
-
24
- module TestHelpers
25
- def assert_exception(exclass, exmsg, *mab_args, &block)
26
- begin
27
- mab(*mab_args, &block)
28
- rescue Exception => e
29
- assert_equal exclass, e.class
30
- assert_match /#{exmsg}/, e.message
31
- end
32
- end
33
- end
34
-
35
- module Test
36
- module Unit
37
- class TestCase
38
- include TestHelpers
39
- def self.it(name, &blk)
40
- define_method("test_#{name}", &blk)
41
- end
42
- end
43
- end
44
- end