#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum CaseSensitivity {
Sensitive,
Insensitive,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CaseSensitive;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CaseInsensitive;
impl From<CaseSensitive> for CaseSensitivity {
fn from(_: CaseSensitive) -> Self {
CaseSensitivity::Sensitive
}
}
impl From<CaseInsensitive> for CaseSensitivity {
fn from(_: CaseInsensitive) -> Self {
CaseSensitivity::Insensitive
}
}
impl From<&CaseSensitive> for CaseSensitivity {
fn from(_: &CaseSensitive) -> Self {
CaseSensitivity::Sensitive
}
}
impl From<&CaseInsensitive> for CaseSensitivity {
fn from(_: &CaseInsensitive) -> Self {
CaseSensitivity::Insensitive
}
}
impl From<&CaseSensitivity> for CaseSensitivity {
fn from(s: &CaseSensitivity) -> Self {
*s
}
}
#[cfg(test)]
mod tests {
#[cfg(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))]
use wasm_bindgen_test::wasm_bindgen_test as test;
use super::{CaseInsensitive, CaseSensitive, CaseSensitivity};
#[test]
fn from_case_sensitive() {
assert_eq!(
CaseSensitivity::from(CaseSensitive),
CaseSensitivity::Sensitive
);
}
#[test]
fn from_case_insensitive() {
assert_eq!(
CaseSensitivity::from(CaseInsensitive),
CaseSensitivity::Insensitive
);
}
}