Code spec
RSpec 2 matchers to facilitate making specs regarding Ruby code files, f.ex as generated or modified/mutated by a code generator. Also includes matchers to help spec ERB code that include either:
- Standard rails forms
- Formtastic
- Simpleform
Install
gem install code-spec
Usage: Basic code matchers
See specs for examples on how to use it.
Example: Nested DSL
...
with_subclass = %q{
class Hello < Greeting
def hello
# howdy
end
end}
it "should not have subclass Greeting" do
with_subclass.should have_subclass :hello, :greeting do |content|
content.should have_method :hello do |hello|
hello.should have_comment 'howdy'
end
end
end
Usage: Form matchers
with_form_helper is used to specify which form helper to use. It can be either:
- :formtastic
- :simpleform
- :railsform
describe 'Formtastic form matcher' do
with_form_helper :formtastic
context "Formtastic example 1 view file" do
let(:form_file) { File.join erb_fixtures_dir, 'formtastic-ex1.erb' }
it "content should match form expectations" do
form_file.should have_content do |content|
content.erb_code.should have_semantic_form_for '@article' do |form|
form.should have_inputs "Basic"
end
end
end
end
end
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
Copyright
Copyright (c) 2010 Kristian Mandrup. See LICENSE for details.