diff --git a/src/html.rs b/src/html.rs
index 40eb35d..a1524e2 100644
--- a/src/html.rs
+++ b/src/html.rs
@@ -826,6 +826,7 @@ pub fn walk_and_embed_assets(
set_node_attr(node, "href", None);
}
}
+
if let Some(image_attr_xlink_href_value) = get_node_attr(node, "xlink:href") {
image_href = image_attr_xlink_href_value;
if options.no_images {
diff --git a/src/tests/cli/base_url.rs b/src/tests/cli/base_url.rs
index 7ba88d9..9b07bf7 100644
--- a/src/tests/cli/base_url.rs
+++ b/src/tests/cli/base_url.rs
@@ -12,8 +12,8 @@ mod passing {
use std::process::Command;
#[test]
- fn add_new_when_provided() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn add_new_when_provided() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-b")
@@ -35,13 +35,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn keep_existing_when_none_provided() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn keep_existing_when_none_provided() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("data:text/html,Hello%2C%20World!")
@@ -61,13 +59,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn override_existing_when_provided() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn override_existing_when_provided() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-b")
@@ -89,13 +85,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn remove_existing_when_empty_provided() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn remove_existing_when_empty_provided() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-b")
@@ -117,7 +111,5 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
}
diff --git a/src/tests/cli/basic.rs b/src/tests/cli/basic.rs
index 0e0d5d6..063aa53 100644
--- a/src/tests/cli/basic.rs
+++ b/src/tests/cli/basic.rs
@@ -15,8 +15,8 @@ mod passing {
use url::Url;
#[test]
- fn print_version() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn print_version() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd.arg("-V").output().unwrap();
// STDOUT should contain program name and version
@@ -30,12 +30,10 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn stdin_target_input() -> Result<(), Box> {
+ fn stdin_target_input() {
let mut echo = Command::new("echo")
.arg("Hello from STDIN")
.stdout(Stdio::piped())
@@ -44,22 +42,20 @@ mod passing {
let echo_out = echo.stdout.take().unwrap();
echo.wait().unwrap();
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
cmd.stdin(echo_out);
let out = cmd.arg("-M").arg("-").output().unwrap();
- // STDOUT should contain HTML from STDIN
+ // STDOUT should contain HTML created out of STDIN
assert_eq!(
std::str::from_utf8(&out.stdout).unwrap(),
"Hello from STDIN\n\n"
);
-
- Ok(())
}
#[test]
- fn css_import_string() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn css_import_string() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/css/index.html");
let path_css: &Path = Path::new("src/tests/data/css/style.css");
@@ -95,8 +91,6 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
}
@@ -114,8 +108,8 @@ mod failing {
use std::process::Command;
#[test]
- fn bad_input_empty_target() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn bad_input_empty_target() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd.arg("").output().unwrap();
// STDOUT should be empty
@@ -129,7 +123,5 @@ mod failing {
// The exit code should be 1
out.assert().code(1);
-
- Ok(())
}
}
diff --git a/src/tests/cli/data_url.rs b/src/tests/cli/data_url.rs
index d1b255a..62e5bbe 100644
--- a/src/tests/cli/data_url.rs
+++ b/src/tests/cli/data_url.rs
@@ -12,8 +12,8 @@ mod passing {
use std::process::Command;
#[test]
- fn bad_input_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn bad_input_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd.arg("data:,Hello%2C%20World!").output().unwrap();
// STDOUT should contain HTML
@@ -27,13 +27,11 @@ mod passing {
// The exit code should be 1
out.assert().code(1);
-
- Ok(())
}
#[test]
- fn isolate_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn isolate_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-I")
@@ -54,13 +52,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn remove_css_from_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn remove_css_from_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-c")
@@ -82,13 +78,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn remove_fonts_from_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn remove_fonts_from_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-F")
@@ -110,13 +104,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn remove_frames_from_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn remove_frames_from_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-f")
@@ -137,13 +129,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn remove_images_from_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn remove_images_from_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-i")
@@ -173,13 +163,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn remove_js_from_data_url() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn remove_js_from_data_url() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("-j")
@@ -203,14 +191,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn security_disallow_local_assets_within_data_url_targets(
- ) -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn security_disallow_local_assets_within_data_url_targets() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg("data:text/html,%3Cscript%20src=\"src/tests/data/basic/local-script.js\"%3E%3C/script%3E")
@@ -228,7 +213,5 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
}
diff --git a/src/tests/cli/local_files.rs b/src/tests/cli/local_files.rs
index 4c3465f..bdadad0 100644
--- a/src/tests/cli/local_files.rs
+++ b/src/tests/cli/local_files.rs
@@ -15,8 +15,8 @@ mod passing {
use url::Url;
#[test]
- fn local_file_target_input_relative_target_path() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn local_file_target_input_relative_target_path() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let cwd_normalized: String =
str!(env::current_dir().unwrap().to_str().unwrap()).replace("\\", "/");
let out = cmd
@@ -65,13 +65,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn local_file_target_input_absolute_target_path() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn local_file_target_input_absolute_target_path() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/basic/local-file.html");
let out = cmd
@@ -115,13 +113,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn local_file_url_target_input() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn local_file_url_target_input() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let cwd_normalized: String =
str!(env::current_dir().unwrap().to_str().unwrap()).replace("\\", "/");
let file_url_protocol: &str = if cfg!(windows) { "file:///" } else { "file://" };
@@ -177,14 +173,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn embed_file_url_local_asset_within_style_attribute() -> Result<(), Box>
- {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn embed_file_url_local_asset_within_style_attribute() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/svg/index.html");
let path_svg: &Path = Path::new("src/tests/data/svg/image.svg");
@@ -215,13 +208,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn discard_integrity_for_local_files() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn discard_integrity_for_local_files() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let cwd_normalized: String =
str!(env::current_dir().unwrap().to_str().unwrap()).replace("\\", "/");
let file_url_protocol: &str = if cfg!(windows) { "file:///" } else { "file://" };
@@ -280,7 +271,5 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
}
diff --git a/src/tests/cli/noscript.rs b/src/tests/cli/noscript.rs
index 6dde13c..7ba93ce 100644
--- a/src/tests/cli/noscript.rs
+++ b/src/tests/cli/noscript.rs
@@ -15,8 +15,8 @@ mod passing {
use url::Url;
#[test]
- fn parse_noscript_contents() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn parse_noscript_contents() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/noscript/index.html");
let path_svg: &Path = Path::new("src/tests/data/noscript/image.svg");
@@ -47,13 +47,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn unwrap_noscript_contents() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn unwrap_noscript_contents() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/noscript/index.html");
let path_svg: &Path = Path::new("src/tests/data/noscript/image.svg");
@@ -84,13 +82,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn unwrap_noscript_contents_nested() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn unwrap_noscript_contents_nested() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/noscript/nested.html");
let path_svg: &Path = Path::new("src/tests/data/noscript/image.svg");
@@ -121,13 +117,11 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
#[test]
- fn unwrap_noscript_contents_with_script() -> Result<(), Box> {
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ fn unwrap_noscript_contents_with_script() {
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let path_html: &Path = Path::new("src/tests/data/noscript/script.html");
let path_svg: &Path = Path::new("src/tests/data/noscript/image.svg");
@@ -158,7 +152,5 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
}
diff --git a/src/tests/cli/unusual_encodings.rs b/src/tests/cli/unusual_encodings.rs
index 006e745..4796cec 100644
--- a/src/tests/cli/unusual_encodings.rs
+++ b/src/tests/cli/unusual_encodings.rs
@@ -12,10 +12,10 @@ mod passing {
use std::process::Command;
#[test]
- fn change_encoding_to_utf_8() -> Result<(), Box> {
+ fn change_encoding_to_utf_8() {
let cwd = env::current_dir().unwrap();
let cwd_normalized: String = str!(cwd.to_str().unwrap()).replace("\\", "/");
- let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME"))?;
+ let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
let out = cmd
.arg("-M")
.arg(if cfg!(windows) {
@@ -45,7 +45,5 @@ mod passing {
// The exit code should be 0
out.assert().code(0);
-
- Ok(())
}
}