rspec-cells 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/CHANGES.textile +4 -0
- data/Gemfile +0 -2
- data/README.rdoc +2 -2
- data/lib/rspec/cells/version.rb +1 -1
- data/lib/rspec/rails/example/cell_example_group.rb +7 -9
- data/rspec-cells.gemspec +1 -1
- data/spec/cells/cell_generator_spec.rb +58 -0
- data/spec/spec_helper.rb +2 -6
- metadata +18 -3
data/.gitignore
CHANGED
data/CHANGES.textile
CHANGED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -10,7 +10,7 @@ Cells is Rails' popular {view components framework}[http://github.com/apotonick/
|
|
10
10
|
|
11
11
|
= Installation
|
12
12
|
|
13
|
-
This gem runs with RSpec2 and Rails 3.
|
13
|
+
This gem runs with RSpec2 and Rails 3.x, so just add it to your app's +Gemfile+.
|
14
14
|
|
15
15
|
group :test do
|
16
16
|
gem "rspec-cells"
|
@@ -66,7 +66,7 @@ You can then use capybara's matchers in your cell spec.
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
|
69
|
+
You can see all capybara matchers and finders {here}[http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Simple].
|
70
70
|
|
71
71
|
== Running the specs
|
72
72
|
|
data/lib/rspec/cells/version.rb
CHANGED
@@ -39,16 +39,14 @@ module RSpec::Rails
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
|
43
|
-
attr_reader :controller, :routes
|
42
|
+
attr_reader :controller, :routes
|
44
43
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
end
|
44
|
+
def method_missing(method, *args, &block)
|
45
|
+
# Send the route helpers to the application router.
|
46
|
+
if @routes && @routes.named_routes.helpers.include?(method)
|
47
|
+
@controller.send(method, *args, &block)
|
48
|
+
else
|
49
|
+
super
|
52
50
|
end
|
53
51
|
end
|
54
52
|
|
data/rspec-cells.gemspec
CHANGED
@@ -0,0 +1,58 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "generators/rspec/cell_generator"
|
3
|
+
|
4
|
+
describe Rspec::Generators::CellGenerator do
|
5
|
+
include RSpec::Rails::RailsExampleGroup
|
6
|
+
|
7
|
+
attr_accessor :test_case, :test
|
8
|
+
|
9
|
+
DESTINATION_ROOT = File.expand_path("../../tmp", __FILE__)
|
10
|
+
|
11
|
+
before(:all) do
|
12
|
+
test_case = Class.new(Rails::Generators::TestCase)
|
13
|
+
test_case.destination_root = DESTINATION_ROOT
|
14
|
+
test_case.generator_class = Rspec::Generators::CellGenerator
|
15
|
+
self.test = test_case.new :wow
|
16
|
+
test.run_generator %w(Twitter display form)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Cleanup after we are done testing
|
20
|
+
after(:all) do
|
21
|
+
FileUtils.rm_rf(DESTINATION_ROOT)
|
22
|
+
end
|
23
|
+
|
24
|
+
def t(line_code)
|
25
|
+
Regexp.new(Regexp.escape(line_code))
|
26
|
+
end
|
27
|
+
|
28
|
+
it "creates widget spec" do
|
29
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t("require 'spec_helper'")
|
30
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('describe TwitterCell do')
|
31
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "cell rendering" do')
|
32
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'creates display state' do
|
36
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "rendering display" do')
|
37
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { render_cell(:twitter, :display) }')
|
38
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("h1", :content => "Twitter#display") }')
|
39
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("p", :content => "Find me in app/cells/twitter/display.html") }')
|
40
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'creates form state' do
|
44
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "rendering form" do')
|
45
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { render_cell(:twitter, :form) }')
|
46
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("h1", :content => "Twitter#form") }')
|
47
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("p", :content => "Find me in app/cells/twitter/form.html") }')
|
48
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'creates respond_to states specs' do
|
52
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "cell instance" do ')
|
53
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { cell(:twitter) } ')
|
54
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should respond_to(:display) }')
|
55
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should respond_to(:form) }')
|
56
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
57
|
+
end
|
58
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
|
3
|
-
# wycats says...
|
4
|
-
require 'bundler'
|
5
|
-
Bundler.setup
|
1
|
+
require 'rubygems' unless defined?(Gem)
|
2
|
+
require 'bundler/setup'
|
6
3
|
|
7
4
|
#$:.unshift File.dirname(__FILE__) # add current dir to LOAD_PATHS
|
8
5
|
require "rails/all"
|
@@ -11,7 +8,6 @@ require 'rspec/rails'
|
|
11
8
|
require 'cell/test_case'
|
12
9
|
require 'rspec/rails/example/cell_example_group'
|
13
10
|
|
14
|
-
|
15
11
|
module RSpecCells
|
16
12
|
class Application < ::Rails::Application
|
17
13
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Nick Sutterer
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date:
|
17
|
+
date: 2012-01-27 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -45,6 +45,20 @@ dependencies:
|
|
45
45
|
version: "2.2"
|
46
46
|
type: :runtime
|
47
47
|
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: cells
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
segments:
|
57
|
+
- 3
|
58
|
+
- 4
|
59
|
+
version: "3.4"
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
48
62
|
description: Use render_cell in your specs.
|
49
63
|
email:
|
50
64
|
- apotonick@gmail.com
|
@@ -70,6 +84,7 @@ files:
|
|
70
84
|
- lib/rspec/cells/version.rb
|
71
85
|
- lib/rspec/rails/example/cell_example_group.rb
|
72
86
|
- rspec-cells.gemspec
|
87
|
+
- spec/cells/cell_generator_spec.rb
|
73
88
|
- spec/cells/cell_spec_spec.rb
|
74
89
|
- spec/spec_helper.rb
|
75
90
|
has_rdoc: true
|