Module: Browser::RSpecHelpers
- Defined in:
- lib/opal/jquery/rspec.rb
Overview
When testing (using rspec), this module provides some helper methods to try and make testing a little easier.
Usage
Simply require this file somewher (usualy in spec_helper.rb
):
require 'application'
require 'opal-rspec'
require 'opal/jquery/rspec'
Once required, the module is registered with rspec
for all example
groups.
Adding html to DOM
It is often convenient to have some HTML
code ready in the dom for
testing. This helper method adds the given html string. More so, the html
is then removed at the end of each test. This is cruicial as it ensures
that the specified html code is inserted before each test, therefore
ensuring that html code changed by a test will not affect any other tests
in the same scope.
describe "Check DOM code" do
html '<div id="foo"></div>'
it "foo should exist" do
expect(Document['#foo']).to_not be_empty
end
end
Instance Method Summary collapse
-
#html(html_string = '') ⇒ Object
Add some html code to the body tag ready for testing.
Instance Method Details
#html(html_string = '') ⇒ Object
Add some html code to the body tag ready for testing. This will be added before each test, then removed after each test. It is convenient for adding html setup quickly. The code is wrapped inside a div, which is directly inside the body element.
describe "DOM feature" do
html <<-HTML
<div id="foo"></div>
HTML
it "foo should exist" do
Document["#foo"]
end
end
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/opal/jquery/rspec.rb', line 50 def html(html_string='') html = %Q{<div id="opal-jquery-test-div">#{html_string}</div>} before do @_spec_html = Element.parse(html) @_spec_html.append_to_body end after { @_spec_html.remove } end |