tii 0.0.6

A Low-Latency Web Server.
Documentation
use tii::HttpMethod;

#[test]
fn test_from_name() {
  assert_eq!(HttpMethod::from("GET"), HttpMethod::Get);
  assert_eq!(HttpMethod::from("POST"), HttpMethod::Post);
  assert_eq!(HttpMethod::from("PUT"), HttpMethod::Put);
  assert_eq!(HttpMethod::from("DELETE"), HttpMethod::Delete);
  assert_eq!(HttpMethod::from("Big"), HttpMethod::Custom("BIG".to_string()));
  assert_eq!(HttpMethod::from("sadNess"), HttpMethod::Custom("SADNESS".to_string()));
  assert_eq!(HttpMethod::from(""), HttpMethod::Custom("".to_string()));
}

#[test]
fn test_well_known() {
  for n in HttpMethod::well_known() {
    let n2 = HttpMethod::from(n.as_str());
    assert_eq!(n, &n2);
    assert!(n.is_well_known());
    assert!(!n.is_custom());
    assert!(n2.is_well_known());
    assert!(!n2.is_custom());
    assert_eq!(n.well_known_str().unwrap(), n.as_str());
    assert_eq!(n2.well_known_str().unwrap(), n.as_str());
    assert_eq!(n.as_str(), n.to_string().as_str());
    assert_eq!(n.as_str(), format!("{n2}").as_str());
  }
}

#[test]
fn test_well_custom() {
  let n = HttpMethod::from("sadNess");
  let n2 = HttpMethod::from(n.as_str());
  assert_eq!(n, n2);
  assert!(!n.is_well_known());
  assert!(n.is_custom());
  assert!(!n2.is_well_known());
  assert!(n2.is_custom());
  assert!(n.well_known_str().is_none());
  assert!(n2.well_known_str().is_none());
  assert_eq!("SADNESS", n.to_string().as_str());
  assert_eq!("SADNESS", format!("{n}").as_str());
}