测试输出
# spec/support/spec_output_buffer.rb
class SpecOutputBuffer
attr_reader :output
def initialize
@output = ''.html_safe
end
def concat(value)
@output << value.html_safe
end
end
那就打电话
semantic_form_for
在测试中,将输出捕获到缓冲区。一旦完成了,就可以测试输出是否符合预期。
integer
CSS类来输入整数模型属性。
# spec/inputs/string_input_spec.rb
require 'spec_helper'
describe 'StringInput' do
# Make view helper methods available, like `semantic_for_for`
include RSpec::Rails::HelperExampleGroup
describe "classes for JS hooks" do
before :all do
@mothra = Mothra.new
end
before :each do
@buffer = SpecOutputBuffer.new
@buffer.concat(helper.semantic_form_for(@mothra, :url => '', as: 'monster') do |builder|
builder.input(:legs).html_safe +
builder.input(:girth).html_safe
end)
end
it "should put an 'integer' class on integer inputs" do
@buffer.output.should have_selector('form input#monster_legs.integer')
end
end
end