Merge pull request #14 from kxt/13-fix-lazy-images-laziness-check

Fix laziness check in fix_lazy_images
This commit is contained in:
Kenneth Gitere 2021-05-12 07:12:46 +03:00 committed by GitHub
commit 102304544d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1248,8 +1248,7 @@ impl Readability {
let srcset = node_attr.get("srcset");
let class = node_attr.get("class");
if (src.is_some() || srcset.is_some())
&& class.is_some()
&& !class.unwrap().contains("lazy")
&& class.and_then(|classname| classname.find("lazy")).is_none()
{
continue;
}
@ -3160,6 +3159,7 @@ characters. For that reason, this <p> tag could not be a byline because it's too
<source media="(min-width:465px)" srcset="img_white_flower.jpg">
<img src="img_orange_flowers.jpg" alt="Flowers" style="width:auto;">
</picture>
<img id="no-lazy-class" src="https://image.url/" data-attrs="{&quot;src&quot;:&quot;https://other.url/1.png&quot;,&quot;alt&quot;:&quot;&quot;}"/>
</body>
</html>
"#;
@ -3189,6 +3189,13 @@ characters. For that reason, this <p> tag could not be a byline because it's too
lazy_loaded_attrs.get("data-src"),
lazy_loaded_attrs.get("src")
);
let no_lazy_class = doc.root_node.select_first("#no-lazy-class").unwrap();
let no_lazy_class_attrs = no_lazy_class.attributes.borrow();
assert_eq!(
no_lazy_class_attrs.get("src").unwrap(),
"https://image.url/"
);
}
#[test]