/
input_spec.rb
48 lines (39 loc) · 1.6 KB
/
input_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
require 'spec_helper'
require 'semiformal/input'
describe Semiformal::Input do
it "has a #name" do
build_input(:name => "email").name.should == "email"
end
it "has a #param_name" do
build_input(:prefix => "user", :name => "address").param_name.should == "user[address]"
end
it "has an #html_id" do
build_input(:prefix => "user", :name => "address").html_id.should == "user_address"
end
it "has a #to_s" do
build_input(:value => 10).to_s.should == "10"
end
it "is #== with the same name, prefix, and value" do
build_input(:name => "name", :prefix => "prefix", :value => "value").
should == build_input(:name => "name", :prefix => "prefix", :value => "value")
end
it "isn't #== with the same name and prefix but a different value" do
build_input(:name => "name", :prefix => "prefix", :value => "value").
should_not == build_input(:name => "name", :prefix => "prefix", :value => "other value")
end
it "isn't #== with the same prefix and value but a different name" do
build_input(:name => "name", :prefix => "prefix", :value => "value").
should_not == build_input(:name => "other name", :prefix => "prefix", :value => "value")
end
it "isn't #== with the same name and value but a different prefix" do
build_input(:name => "name", :prefix => "prefix", :value => "value").
should_not == build_input(:name => "name", :prefix => "other prefix", :value => "value")
end
def build_input(attributes = {})
Semiformal::Input.new({
:name => 'title',
:prefix => 'post',
:value => 'any value'
}.update(attributes))
end
end