add form test
This commit is contained in:
parent
376ae24eee
commit
22c6a4a42a
42
spec/form_spec.cr
Normal file
42
spec/form_spec.cr
Normal file
@ -0,0 +1,42 @@
|
||||
require "./spec_helper"
|
||||
WebMock.stub(:get, "html_example.com").to_return(body:
|
||||
<<-BODY
|
||||
<html>
|
||||
<meta>
|
||||
<head>
|
||||
<title>page_title</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="post_path" method="post" name="sample_form">
|
||||
<input type="text" name="name">
|
||||
<input type="text" name="email">
|
||||
<input type="submit" value="">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
BODY
|
||||
)
|
||||
|
||||
describe "Mechanize Form test" do
|
||||
agent = Mechanize.new
|
||||
uri = "http://html_example.com/"
|
||||
page = agent.get(uri)
|
||||
form = page.forms.first
|
||||
it "retrun form attribute" do
|
||||
form.action.should eq "post_path"
|
||||
form.method.should eq "POST"
|
||||
form.enctype.should eq "application/x-www-form-urlencoded"
|
||||
form.name.should eq "sample_form"
|
||||
end
|
||||
|
||||
context "Form Fields" do
|
||||
it "forms include fields" do
|
||||
form.fields.size.should eq 3
|
||||
end
|
||||
it "return field attribute" do
|
||||
field = form.fields.first
|
||||
field.type.should eq "text"
|
||||
field.name.should eq "name"
|
||||
end
|
||||
end
|
||||
end
|
@ -1,11 +1,16 @@
|
||||
class MechanizeCr::FormContent::Field
|
||||
property :node, :value, :name
|
||||
def initialize(node : Node | Myhtml::Node, value : String = node.fetch("value", ""), name : String = node.fetch("name", ""))
|
||||
getter :node
|
||||
getter value : String
|
||||
getter name : String
|
||||
getter type : String
|
||||
getter raw_value : String
|
||||
|
||||
def initialize(node : Node | Myhtml::Node)
|
||||
@node = node
|
||||
@name = name
|
||||
#@raw_value = value
|
||||
@value = value
|
||||
#@type = node['type']
|
||||
@name = node.fetch("name", "")
|
||||
@value = node.fetch("value", "")
|
||||
@type = node.fetch("type", "")
|
||||
@raw_value = value
|
||||
end
|
||||
|
||||
def query_value
|
||||
|
Loading…
Reference in New Issue
Block a user