arbre 0.0.1 → 1.0.0.rc1
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.
- data/.DS_Store +0 -0
- data/.gitignore +3 -0
- data/Gemfile +10 -1
- data/README.rdoc +68 -2
- data/arbre.gemspec +2 -0
- data/lib/.DS_Store +0 -0
- data/lib/arbre.rb +18 -0
- data/lib/arbre/component.rb +22 -0
- data/lib/arbre/context.rb +81 -0
- data/lib/arbre/element.rb +182 -0
- data/lib/arbre/element/builder_methods.rb +92 -0
- data/lib/arbre/element_collection.rb +25 -0
- data/lib/arbre/html/attributes.rb +20 -0
- data/lib/arbre/html/class_list.rb +24 -0
- data/lib/arbre/html/document.rb +42 -0
- data/lib/arbre/html/html5_elements.rb +47 -0
- data/lib/arbre/html/tag.rb +175 -0
- data/lib/arbre/html/text_node.rb +35 -0
- data/lib/arbre/rails.rb +5 -0
- data/lib/arbre/rails/forms.rb +92 -0
- data/lib/arbre/rails/rendering.rb +17 -0
- data/lib/arbre/rails/template_handler.rb +15 -0
- data/lib/arbre/version.rb +1 -1
- data/spec/arbre/integration/html_spec.rb +241 -0
- data/spec/arbre/unit/component.rb +23 -0
- data/spec/arbre/unit/context_spec.rb +35 -0
- data/spec/arbre/unit/element_finder_methods_spec.rb +101 -0
- data/spec/arbre/unit/element_spec.rb +252 -0
- data/spec/arbre/unit/html/tag_attributes_spec.rb +60 -0
- data/spec/arbre/unit/html/tag_spec.rb +63 -0
- data/spec/arbre/unit/html/text_node_spec.rb +5 -0
- data/spec/rails/integration/forms_spec.rb +121 -0
- data/spec/rails/integration/rendering_spec.rb +73 -0
- data/spec/rails/rails_spec_helper.rb +45 -0
- data/spec/rails/stub_app/config/database.yml +3 -0
- data/spec/rails/stub_app/config/routes.rb +3 -0
- data/spec/rails/stub_app/db/schema.rb +3 -0
- data/spec/rails/stub_app/log/.gitignore +1 -0
- data/spec/rails/stub_app/public/favicon.ico +0 -0
- data/spec/rails/templates/arbre/_partial.arb +1 -0
- data/spec/rails/templates/arbre/empty.arb +0 -0
- data/spec/rails/templates/arbre/page_with_assignment.arb +1 -0
- data/spec/rails/templates/arbre/page_with_erb_partial.arb +3 -0
- data/spec/rails/templates/arbre/page_with_partial.arb +3 -0
- data/spec/rails/templates/arbre/simple_page.arb +8 -0
- data/spec/rails/templates/erb/_partial.erb +1 -0
- data/spec/spec_helper.rb +7 -0
- data/spec/support/bundle.rb +4 -0
- metadata +101 -45
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Arbre::HTML::Tag, "Attributes" do
|
4
|
+
|
5
|
+
let(:tag){ Arbre::HTML::Tag.new }
|
6
|
+
|
7
|
+
describe "attributes" do
|
8
|
+
|
9
|
+
before { tag.build :id => "my_id" }
|
10
|
+
|
11
|
+
it "should have an attributes hash" do
|
12
|
+
tag.attributes.should == {:id => "my_id"}
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should render the attributes to html" do
|
16
|
+
tag.to_s.should == <<-HTML
|
17
|
+
<tag id="my_id"></tag>
|
18
|
+
HTML
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should get an attribute value" do
|
22
|
+
tag.attr(:id).should == "my_id"
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#has_attribute?" do
|
26
|
+
context "when the attribute exists" do
|
27
|
+
it "should return true" do
|
28
|
+
tag.has_attribute?(:id).should == true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "when the attribute does not exist" do
|
33
|
+
it "should return false" do
|
34
|
+
tag.has_attribute?(:class).should == false
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should remove an attribute" do
|
40
|
+
tag.attributes.should == {:id => "my_id"}
|
41
|
+
tag.remove_attribute(:id).should == "my_id"
|
42
|
+
tag.attributes.should == {}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "rendering attributes" do
|
47
|
+
it "should html safe the attribute values" do
|
48
|
+
tag.set_attribute(:class, "\">bad things!")
|
49
|
+
tag.to_s.should == <<-HTML
|
50
|
+
<tag class="">bad things!"></tag>
|
51
|
+
HTML
|
52
|
+
end
|
53
|
+
it "should should escape the attribute names" do
|
54
|
+
tag.set_attribute(">bad", "things")
|
55
|
+
tag.to_s.should == <<-HTML
|
56
|
+
<tag >bad="things"></tag>
|
57
|
+
HTML
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Arbre::HTML::Tag do
|
4
|
+
|
5
|
+
let(:tag){ Arbre::HTML::Tag.new }
|
6
|
+
|
7
|
+
describe "building a new tag" do
|
8
|
+
before { tag.build "Hello World", :id => "my_id" }
|
9
|
+
|
10
|
+
it "should set the contents to a string" do
|
11
|
+
tag.content.should == "Hello World"
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should set the hash of options to the attributes" do
|
15
|
+
tag.attributes.should == { :id => "my_id" }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "creating a tag 'for' an object" do
|
20
|
+
let(:model_name){ mock(:singular => "resource_class")}
|
21
|
+
let(:resource_class){ mock(:model_name => model_name) }
|
22
|
+
let(:resource){ mock(:class => resource_class, :to_key => ['5'])}
|
23
|
+
|
24
|
+
before do
|
25
|
+
tag.build :for => resource
|
26
|
+
end
|
27
|
+
it "should set the id to the type and id" do
|
28
|
+
tag.id.should == "resource_class_5"
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should add a class name" do
|
32
|
+
tag.class_list.should include("resource_class")
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "css class names" do
|
37
|
+
|
38
|
+
it "should add a class" do
|
39
|
+
tag.add_class "hello_world"
|
40
|
+
tag.class_names.should == "hello_world"
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should remove_class" do
|
44
|
+
tag.add_class "hello_world"
|
45
|
+
tag.class_names.should == "hello_world"
|
46
|
+
tag.remove_class "hello_world"
|
47
|
+
tag.class_names.should == ""
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should not add a class if it already exists" do
|
51
|
+
tag.add_class "hello_world"
|
52
|
+
tag.add_class "hello_world"
|
53
|
+
tag.class_names.should == "hello_world"
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should seperate classes with space" do
|
57
|
+
tag.add_class "hello world"
|
58
|
+
tag.class_list.size.should == 2
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
require 'rails/rails_spec_helper'
|
2
|
+
require 'active_model'
|
3
|
+
|
4
|
+
|
5
|
+
class MockPerson
|
6
|
+
extend ActiveModel::Naming
|
7
|
+
|
8
|
+
attr_accessor :name
|
9
|
+
|
10
|
+
def persisted?
|
11
|
+
false
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_key
|
15
|
+
[]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "Building forms" do
|
20
|
+
|
21
|
+
let(:assigns){ {} }
|
22
|
+
let(:helpers){ mock_action_view }
|
23
|
+
let(:html) { form.to_s }
|
24
|
+
|
25
|
+
describe "building a simple form for" do
|
26
|
+
|
27
|
+
let(:form) do
|
28
|
+
arbre do
|
29
|
+
form_for MockPerson.new, :url => "/" do |f|
|
30
|
+
f.label :name
|
31
|
+
f.text_field :name
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should build a form" do
|
37
|
+
html.should have_selector("form")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should include the hidden authenticity token" do
|
41
|
+
html.should have_selector("form input[type=hidden][name=authenticity_token]")
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should create a label" do
|
45
|
+
html.should have_selector("form label[for=mock_person_name]")
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should create a text field" do
|
49
|
+
html.should have_selector("form input[type=text]")
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "building a form with fields for" do
|
55
|
+
|
56
|
+
let(:form) do
|
57
|
+
arbre do
|
58
|
+
form_for MockPerson.new, :url => "/" do |f|
|
59
|
+
f.label :name
|
60
|
+
f.text_field :name
|
61
|
+
f.fields_for :permission do |pf|
|
62
|
+
pf.label :admin
|
63
|
+
pf.check_box :admin
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should render nested label" do
|
70
|
+
html.should have_selector("form label[for=mock_person_permission_admin]", :text => "Admin")
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should render nested label" do
|
74
|
+
html.should have_selector("form input[type=checkbox][name='mock_person[permission][admin]']")
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should not render a div for the proxy" do
|
78
|
+
html.should_not have_selector("form div.fields_for_proxy")
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "forms with other elements" do
|
84
|
+
let(:form) do
|
85
|
+
arbre do
|
86
|
+
form_for MockPerson.new, :url => "/" do |f|
|
87
|
+
|
88
|
+
div do
|
89
|
+
f.label :name
|
90
|
+
f.text_field :name
|
91
|
+
end
|
92
|
+
|
93
|
+
para do
|
94
|
+
f.label :name
|
95
|
+
f.text_field :name
|
96
|
+
end
|
97
|
+
|
98
|
+
div :class => "permissions" do
|
99
|
+
f.fields_for :permission do |pf|
|
100
|
+
div :class => "permissions_label" do
|
101
|
+
pf.label :admin
|
102
|
+
end
|
103
|
+
pf.check_box :admin
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should correctly nest elements" do
|
112
|
+
html.should have_selector("form > p > label")
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should correnctly nest elements within fields for" do
|
116
|
+
html.should have_selector("form > div.permissions > div.permissions_label label")
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'rails/rails_spec_helper'
|
2
|
+
|
3
|
+
ARBRE_VIEWS_PATH = File.expand_path("../../templates", __FILE__)
|
4
|
+
|
5
|
+
class TestController < ActionController::Base
|
6
|
+
append_view_path ARBRE_VIEWS_PATH
|
7
|
+
|
8
|
+
def render_empty
|
9
|
+
render "arbre/empty"
|
10
|
+
end
|
11
|
+
|
12
|
+
def render_simple_page
|
13
|
+
render "arbre/simple_page"
|
14
|
+
end
|
15
|
+
|
16
|
+
def render_partial
|
17
|
+
render "arbre/page_with_partial"
|
18
|
+
end
|
19
|
+
|
20
|
+
def render_erb_partial
|
21
|
+
render "arbre/page_with_erb_partial"
|
22
|
+
end
|
23
|
+
|
24
|
+
def render_with_instance_variable
|
25
|
+
@my_instance_var = "From Instance Var"
|
26
|
+
render "arbre/page_with_assignment"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
describe TestController, "Rendering with Arbre", :type => :request do
|
32
|
+
let(:body){ response.body }
|
33
|
+
|
34
|
+
it "should render the empty template" do
|
35
|
+
get "/test/render_empty"
|
36
|
+
response.should be_success
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should render a simple page" do
|
40
|
+
get "/test/render_simple_page"
|
41
|
+
response.should be_success
|
42
|
+
body.should have_selector("h1", :text => "Hello World")
|
43
|
+
body.should have_selector("p", :text => "Hello again!")
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should render an arb partial" do
|
47
|
+
get "/test/render_partial"
|
48
|
+
response.should be_success
|
49
|
+
body.should == <<-EOS
|
50
|
+
<h1>Before Partial</h1>
|
51
|
+
<p>Hello from a partial</p>
|
52
|
+
<h2>After Partial</h2>
|
53
|
+
EOS
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should render an erb (or other) partial" do
|
57
|
+
get "/test/render_erb_partial"
|
58
|
+
response.should be_success
|
59
|
+
body.should == <<-EOS
|
60
|
+
<h1>Before Partial</h1>
|
61
|
+
<p>Hello from an erb partial</p>
|
62
|
+
<h2>After Partial</h2>
|
63
|
+
EOS
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should render with instance variables" do
|
67
|
+
get "test/render_with_instance_variable"
|
68
|
+
response.should be_success
|
69
|
+
body.should have_selector("h1", :text => "From Instance Var")
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'support/bundle'
|
2
|
+
|
3
|
+
require 'capybara/rspec'
|
4
|
+
|
5
|
+
# Combustion
|
6
|
+
require 'combustion'
|
7
|
+
Combustion.path = 'spec/rails/stub_app'
|
8
|
+
Combustion.initialize! :action_controller,
|
9
|
+
:action_view,
|
10
|
+
:sprockets
|
11
|
+
|
12
|
+
require 'rspec/rails'
|
13
|
+
require 'capybara/rails'
|
14
|
+
|
15
|
+
require 'spec_helper'
|
16
|
+
|
17
|
+
# Ensure that the rails plugin is installed
|
18
|
+
require 'arbre/rails'
|
19
|
+
|
20
|
+
Rails.application.routes.draw do
|
21
|
+
match 'test/:action', :controller => "test"
|
22
|
+
end
|
23
|
+
|
24
|
+
module AdditionalHelpers
|
25
|
+
|
26
|
+
def protect_against_forgery?
|
27
|
+
true
|
28
|
+
end
|
29
|
+
|
30
|
+
def form_authenticity_token
|
31
|
+
"AUTH_TOKEN"
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
def mock_action_view(assigns = {})
|
37
|
+
controller = ActionView::TestCase::TestController.new
|
38
|
+
ActionView::Base.send :include, ActionView::Helpers
|
39
|
+
ActionView::Base.send :include, AdditionalHelpers
|
40
|
+
ActionView::Base.new(ActionController::Base.view_paths, assigns, controller)
|
41
|
+
end
|
42
|
+
|
43
|
+
RSpec.configure do |config|
|
44
|
+
config.include Capybara::RSpecMatchers
|
45
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
*.log
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
para "Hello from a partial"
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
h1 my_instance_var
|
@@ -0,0 +1 @@
|
|
1
|
+
<p>Hello from an erb partial</p>
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,74 +1,130 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: arbre
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.rc1
|
5
|
+
prerelease: 6
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Greg Bell
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2012-06-13 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: activesupport
|
16
|
+
requirement: &70148646136380 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.0.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70148646136380
|
22
25
|
description: An Object Oriented DOM Tree in Ruby
|
23
|
-
email:
|
26
|
+
email:
|
24
27
|
- gregdbell@gmail.com
|
25
28
|
executables: []
|
26
|
-
|
27
29
|
extensions: []
|
28
|
-
|
29
30
|
extra_rdoc_files: []
|
30
|
-
|
31
|
-
|
31
|
+
files:
|
32
|
+
- .DS_Store
|
32
33
|
- .gitignore
|
33
34
|
- Gemfile
|
34
35
|
- README.rdoc
|
35
36
|
- Rakefile
|
36
37
|
- arbre.gemspec
|
38
|
+
- lib/.DS_Store
|
37
39
|
- lib/arbre.rb
|
40
|
+
- lib/arbre/component.rb
|
41
|
+
- lib/arbre/context.rb
|
42
|
+
- lib/arbre/element.rb
|
43
|
+
- lib/arbre/element/builder_methods.rb
|
44
|
+
- lib/arbre/element_collection.rb
|
45
|
+
- lib/arbre/html/attributes.rb
|
46
|
+
- lib/arbre/html/class_list.rb
|
47
|
+
- lib/arbre/html/document.rb
|
48
|
+
- lib/arbre/html/html5_elements.rb
|
49
|
+
- lib/arbre/html/tag.rb
|
50
|
+
- lib/arbre/html/text_node.rb
|
51
|
+
- lib/arbre/rails.rb
|
52
|
+
- lib/arbre/rails/forms.rb
|
53
|
+
- lib/arbre/rails/rendering.rb
|
54
|
+
- lib/arbre/rails/template_handler.rb
|
38
55
|
- lib/arbre/version.rb
|
39
|
-
|
40
|
-
|
56
|
+
- spec/arbre/integration/html_spec.rb
|
57
|
+
- spec/arbre/unit/component.rb
|
58
|
+
- spec/arbre/unit/context_spec.rb
|
59
|
+
- spec/arbre/unit/element_finder_methods_spec.rb
|
60
|
+
- spec/arbre/unit/element_spec.rb
|
61
|
+
- spec/arbre/unit/html/tag_attributes_spec.rb
|
62
|
+
- spec/arbre/unit/html/tag_spec.rb
|
63
|
+
- spec/arbre/unit/html/text_node_spec.rb
|
64
|
+
- spec/rails/integration/forms_spec.rb
|
65
|
+
- spec/rails/integration/rendering_spec.rb
|
66
|
+
- spec/rails/rails_spec_helper.rb
|
67
|
+
- spec/rails/stub_app/config/database.yml
|
68
|
+
- spec/rails/stub_app/config/routes.rb
|
69
|
+
- spec/rails/stub_app/db/schema.rb
|
70
|
+
- spec/rails/stub_app/log/.gitignore
|
71
|
+
- spec/rails/stub_app/public/favicon.ico
|
72
|
+
- spec/rails/templates/arbre/_partial.arb
|
73
|
+
- spec/rails/templates/arbre/empty.arb
|
74
|
+
- spec/rails/templates/arbre/page_with_assignment.arb
|
75
|
+
- spec/rails/templates/arbre/page_with_erb_partial.arb
|
76
|
+
- spec/rails/templates/arbre/page_with_partial.arb
|
77
|
+
- spec/rails/templates/arbre/simple_page.arb
|
78
|
+
- spec/rails/templates/erb/_partial.erb
|
79
|
+
- spec/spec_helper.rb
|
80
|
+
- spec/support/bundle.rb
|
81
|
+
homepage: ''
|
41
82
|
licenses: []
|
42
|
-
|
43
83
|
post_install_message:
|
44
84
|
rdoc_options: []
|
45
|
-
|
46
|
-
require_paths:
|
85
|
+
require_paths:
|
47
86
|
- lib
|
48
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
88
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
55
|
-
- 0
|
56
|
-
version: "0"
|
57
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ! '>='
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0'
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
94
|
none: false
|
59
|
-
requirements:
|
60
|
-
- -
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
|
63
|
-
segments:
|
64
|
-
- 0
|
65
|
-
version: "0"
|
95
|
+
requirements:
|
96
|
+
- - ! '>'
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.3.1
|
66
99
|
requirements: []
|
67
|
-
|
68
100
|
rubyforge_project:
|
69
|
-
rubygems_version: 1.
|
101
|
+
rubygems_version: 1.8.10
|
70
102
|
signing_key:
|
71
103
|
specification_version: 3
|
72
104
|
summary: An Object Oriented DOM Tree in Ruby
|
73
|
-
test_files:
|
74
|
-
|
105
|
+
test_files:
|
106
|
+
- spec/arbre/integration/html_spec.rb
|
107
|
+
- spec/arbre/unit/component.rb
|
108
|
+
- spec/arbre/unit/context_spec.rb
|
109
|
+
- spec/arbre/unit/element_finder_methods_spec.rb
|
110
|
+
- spec/arbre/unit/element_spec.rb
|
111
|
+
- spec/arbre/unit/html/tag_attributes_spec.rb
|
112
|
+
- spec/arbre/unit/html/tag_spec.rb
|
113
|
+
- spec/arbre/unit/html/text_node_spec.rb
|
114
|
+
- spec/rails/integration/forms_spec.rb
|
115
|
+
- spec/rails/integration/rendering_spec.rb
|
116
|
+
- spec/rails/rails_spec_helper.rb
|
117
|
+
- spec/rails/stub_app/config/database.yml
|
118
|
+
- spec/rails/stub_app/config/routes.rb
|
119
|
+
- spec/rails/stub_app/db/schema.rb
|
120
|
+
- spec/rails/stub_app/log/.gitignore
|
121
|
+
- spec/rails/stub_app/public/favicon.ico
|
122
|
+
- spec/rails/templates/arbre/_partial.arb
|
123
|
+
- spec/rails/templates/arbre/empty.arb
|
124
|
+
- spec/rails/templates/arbre/page_with_assignment.arb
|
125
|
+
- spec/rails/templates/arbre/page_with_erb_partial.arb
|
126
|
+
- spec/rails/templates/arbre/page_with_partial.arb
|
127
|
+
- spec/rails/templates/arbre/simple_page.arb
|
128
|
+
- spec/rails/templates/erb/_partial.erb
|
129
|
+
- spec/spec_helper.rb
|
130
|
+
- spec/support/bundle.rb
|