#[test] fn email_test() { let cases: Vec<(&str, bool)> = vec![ ("simple@example.com", true), ("very.common@example.com", true), ("disposable.style.email.with+symbol@example.com", true), ("other.email-with-hyphen@example.com", true), ("fully-qualified-domain@example.com", true), ("user.name+tag+sorting@example.com", true), ("x@example.com", true), ("example-indeed@strange-example.com", true), ("test/test@test.com", true), ("test", false), ("test.com", false), ("@test.com", false), (".a@test.com", false), ("a.@test.com", false), ("a..a@test.com", false), ("a@test", false), ("A@b@c@example.com", false), ("a\"b(c)d,e:f;gi[j\\k]l@example.com", false), ("just\"not\"right@example.com", false), ("this is\"not\\allowed@example.com", false), ( "1234567890123456789012345678901234567890123456789012345678901234+x@example.com", false, ), ]; for case in cases.iter() { assert_eq!(dator::email(case.0), case.1, "Failed case: {}", case.0); } }