Now from_html method accept &str and String
parent
4b7bd8e221
commit
570a5d485d
|
@ -20,13 +20,10 @@ pub struct Request {
|
|||
|
||||
impl RequestBase for Request {
|
||||
fn new<T: IntoUrl>(url: T) -> Result<Request, ParseError> {
|
||||
match url.into_url() {
|
||||
Ok(url_parsed) => Ok(Request {
|
||||
url: url_parsed,
|
||||
method: Method::GET,
|
||||
}),
|
||||
Err(error) => Err(error),
|
||||
}
|
||||
url.into_url().map(|url_parsed| Request {
|
||||
url: url_parsed,
|
||||
method: Method::GET,
|
||||
})
|
||||
}
|
||||
|
||||
fn launch(self) -> response::Response {
|
||||
|
|
|
@ -13,7 +13,7 @@ pub struct Response {
|
|||
}
|
||||
|
||||
impl SelectorBase for Response {
|
||||
fn from_html(_: String) -> Self {
|
||||
fn from_html<S: AsRef<str>>(_: S) -> Self {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
pub trait SelectorBase {
|
||||
fn from_html(html: String) -> Self;
|
||||
fn from_html<S: AsRef<str>>(html: S) -> Self;
|
||||
|
||||
fn html(&self) -> String;
|
||||
|
||||
|
@ -58,9 +58,9 @@ pub struct Selector {
|
|||
}
|
||||
|
||||
impl SelectorBase for Selector {
|
||||
fn from_html(html: String) -> Self {
|
||||
fn from_html<S: AsRef<str>>(html: S) -> Self {
|
||||
Selector {
|
||||
text: html.to_string(),
|
||||
text: html.as_ref().to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@ fn plain_text_selector() {
|
|||
<a>simple text</a>
|
||||
</body>
|
||||
</html>
|
||||
"
|
||||
.to_string();
|
||||
";
|
||||
let sel = Selector::from_html(html);
|
||||
assert_eq!(sel.css("h1")[0].html(), "<h1>hello world</h1>");
|
||||
assert_eq!(sel.css("#text")[0].content(), "good bye");
|
||||
|
@ -50,8 +49,7 @@ fn complex_selectors() {
|
|||
</div>
|
||||
</body>
|
||||
</html>
|
||||
"
|
||||
.to_string();
|
||||
";
|
||||
let sel = Selector::from_html(html);
|
||||
assert_eq!(sel.css_once("p").unwrap().attr("id").unwrap(), "text");
|
||||
assert_eq!(sel.css("a")[0].attr("href").unwrap(), "http://google.com");
|
||||
|
@ -86,8 +84,7 @@ fn xpath_test() {
|
|||
</div>
|
||||
</body>
|
||||
</html>
|
||||
"
|
||||
.to_string();
|
||||
";
|
||||
let sel = Selector::from_html(html);
|
||||
assert_eq!(
|
||||
sel.xpath_once("//div/a[1]").unwrap().content(),
|
||||
|
|
Loading…
Reference in New Issue