summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2024-02-11 16:43:41 -0330
committerTim Oram <dev@mitmaro.ca>2024-02-15 20:27:06 -0330
commitc2b9f15685f0ead6ef6a0ce1a031be74e9c170b8 (patch)
tree86b1a810fd370b798e48d1e9cc712534c3699023
parent9ee018c98e3f7615cac4ac1d02e1fbfbabf2d101 (diff)
Move invalid_utf to test_helpers
-rw-r--r--src/config.rs3
-rw-r--r--src/config/git_config.rs6
-rw-r--r--src/config/testutils.rs16
-rw-r--r--src/config/theme.rs7
-rw-r--r--src/config/utils/get_bool.rs2
-rw-r--r--src/config/utils/get_diff_ignore_whitespace.rs2
-rw-r--r--src/config/utils/get_diff_rename.rs2
-rw-r--r--src/config/utils/get_diff_show_whitespace.rs2
-rw-r--r--src/config/utils/get_input.rs2
-rw-r--r--src/config/utils/get_string.rs2
-rw-r--r--src/config/utils/get_unsigned_integer.rs2
-rw-r--r--src/main.rs2
-rw-r--r--src/test_helpers.rs2
-rw-r--r--src/test_helpers/create_invalid_utf.rs16
14 files changed, 35 insertions, 31 deletions
diff --git a/src/config.rs b/src/config.rs
index 477915d..90a921d 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -139,8 +139,9 @@ mod tests {
use super::*;
use crate::{
- config::testutils::{invalid_utf, with_git_config},
+ config::testutils::with_git_config,
git::testutil::with_temp_bare_repository,
+ test_helpers::invalid_utf,
};
#[test]
diff --git a/src/config/git_config.rs b/src/config/git_config.rs
index 7307edd..adc4ae0 100644
--- a/src/config/git_config.rs
+++ b/src/config/git_config.rs
@@ -93,9 +93,9 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::{
- testutils::{invalid_utf, with_git_config},
- ConfigErrorCause,
+ use crate::{
+ config::{testutils::with_git_config, ConfigErrorCause},
+ test_helpers::invalid_utf,
};
macro_rules! config_test {
diff --git a/src/config/testutils.rs b/src/config/testutils.rs
index 784747a..05bddd6 100644
--- a/src/config/testutils.rs
+++ b/src/config/testutils.rs
@@ -1,28 +1,12 @@
use std::io::Write;
-use lazy_static::lazy_static;
use tempfile::NamedTempFile;
use crate::git::Config;
-lazy_static! {
- static ref INVALID_UTF_STRING: String = create_invalid_utf();
-}
-
pub(crate) fn with_git_config<F>(lines: &[&str], callback: F)
where F: FnOnce(Config) {
let tmp_file = NamedTempFile::new().unwrap();
writeln!(tmp_file.as_file(), "{}", lines.join("\n")).unwrap();
callback(Config::open(tmp_file.path()).unwrap());
}
-
-#[allow(unsafe_code)]
-fn create_invalid_utf() -> String {
- // used in tests to create an invalid value in a Git config file, while this is unsafe, it is
- // only ever used in tests to test the handling of invalid input data
- unsafe { String::from_utf8_unchecked(vec![0xC3, 0x28]) }
-}
-
-pub(crate) fn invalid_utf() -> &'static str {
- INVALID_UTF_STRING.as_str()
-}
diff --git a/src/config/theme.rs b/src/config/theme.rs
index 7ae8d06..3c9b912 100644
--- a/src/config/theme.rs
+++ b/src/config/theme.rs
@@ -145,10 +145,9 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::{
- testutils::{invalid_utf, with_git_config},
- ConfigErrorCause,
- InvalidColorError,
+ use crate::{
+ config::{testutils::with_git_config, ConfigErrorCause, InvalidColorError},
+ test_helpers::invalid_utf,
};
macro_rules! config_test {
diff --git a/src/config/utils/get_bool.rs b/src/config/utils/get_bool.rs
index 5788b63..bed1b88 100644
--- a/src/config/utils/get_bool.rs
+++ b/src/config/utils/get_bool.rs
@@ -35,7 +35,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[test]
fn read_true() {
diff --git a/src/config/utils/get_diff_ignore_whitespace.rs b/src/config/utils/get_diff_ignore_whitespace.rs
index 8392d2a..21b5c4b 100644
--- a/src/config/utils/get_diff_ignore_whitespace.rs
+++ b/src/config/utils/get_diff_ignore_whitespace.rs
@@ -28,7 +28,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[rstest]
#[case::true_str("true", DiffIgnoreWhitespaceSetting::All)]
diff --git a/src/config/utils/get_diff_rename.rs b/src/config/utils/get_diff_rename.rs
index 7b68171..046a65f 100644
--- a/src/config/utils/get_diff_rename.rs
+++ b/src/config/utils/get_diff_rename.rs
@@ -19,7 +19,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[rstest]
#[case::true_str("true", (true, false))]
diff --git a/src/config/utils/get_diff_show_whitespace.rs b/src/config/utils/get_diff_show_whitespace.rs
index 1958f70..a441115 100644
--- a/src/config/utils/get_diff_show_whitespace.rs
+++ b/src/config/utils/get_diff_show_whitespace.rs
@@ -23,7 +23,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[rstest]
#[case::true_str("true", DiffShowWhitespaceSetting::Both)]
diff --git a/src/config/utils/get_input.rs b/src/config/utils/get_input.rs
index 96970e6..2fa3da4 100644
--- a/src/config/utils/get_input.rs
+++ b/src/config/utils/get_input.rs
@@ -81,7 +81,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[rstest]
#[case::single_lower("a", "a")]
diff --git a/src/config/utils/get_string.rs b/src/config/utils/get_string.rs
index ab479da..431f9dc 100644
--- a/src/config/utils/get_string.rs
+++ b/src/config/utils/get_string.rs
@@ -34,7 +34,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[test]
fn read_value() {
diff --git a/src/config/utils/get_unsigned_integer.rs b/src/config/utils/get_unsigned_integer.rs
index 18cdd0e..5c221f1 100644
--- a/src/config/utils/get_unsigned_integer.rs
+++ b/src/config/utils/get_unsigned_integer.rs
@@ -43,7 +43,7 @@ mod tests {
use testutils::assert_err_eq;
use super::*;
- use crate::config::testutils::{invalid_utf, with_git_config};
+ use crate::{config::testutils::with_git_config, test_helpers::invalid_utf};
#[test]
fn read_value() {
diff --git a/src/main.rs b/src/main.rs
index 070914a..f65bb57 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -139,6 +139,8 @@ mod process;
mod runtime;
mod search;
#[cfg(test)]
+mod test_helpers;
+#[cfg(test)]
mod tests;
#[cfg(test)]
mod testutil;
diff --git a/src/test_helpers.rs b/src/test_helpers.rs
new file mode 100644
index 0000000..6b89fbe
--- /dev/null
+++ b/src/test_helpers.rs
@@ -0,0 +1,2 @@
+pub mod create_invalid_utf;
+pub(crate) use self::create_invalid_utf::invalid_utf;
diff --git a/src/test_helpers/create_invalid_utf.rs b/src/test_helpers/create_invalid_utf.rs
new file mode 100644
index 0000000..830bf48
--- /dev/null
+++ b/src/test_helpers/create_invalid_utf.rs
@@ -0,0 +1,16 @@
+use lazy_static::lazy_static;
+
+lazy_static! {
+ static ref INVALID_UTF_STRING: String = create_invalid_utf();
+}
+
+#[allow(unsafe_code)]
+fn create_invalid_utf() -> String {
+ // used in tests to create an invalid value in a Git config file, while this is unsafe, it is
+ // only ever used in tests to test the handling of invalid input data
+ unsafe { String::from_utf8_unchecked(vec![0xC3, 0x28]) }
+}
+
+pub(crate) fn invalid_utf() -> &'static str {
+ INVALID_UTF_STRING.as_str()
+}