49 lines
2.3 KiB
Crystal
49 lines
2.3 KiB
Crystal
require "./spec_helper"
|
|
require "../src/CrystalEmail"
|
|
|
|
describe CrystalEmail do
|
|
it "works" do
|
|
CrystalEmail::Rfc5322.validates?("toto@tata").should eq(true)
|
|
CrystalEmail::Rfc5322.validates?("toto@tata.tata").should eq(true)
|
|
CrystalEmail::Rfc5322.validates?("a.b@dom").should eq(true)
|
|
CrystalEmail::Rfc5322.validates?("a.b.c@dom.ex.fe").should eq(true)
|
|
CrystalEmail::Rfc5322.validates?("-@x").should eq(true)
|
|
CrystalEmail::Rfc5322.validates?("u@1.1.1.1").should eq(true)
|
|
CrystalEmail::Rfc5322.validates?("u@a-a").should eq(true)
|
|
end
|
|
|
|
it "does not works" do
|
|
CrystalEmail::Rfc5322.validates?("toto@").should eq(false) # no domain
|
|
CrystalEmail::Rfc5322.validates?("@tata.tata").should eq(false) # no user
|
|
CrystalEmail::Rfc5322.validates?("a.b.dom").should eq(false) # no @
|
|
CrystalEmail::Rfc5322.validates?("a.b.c@dom.ex.1").should eq(false) # first dom has to begin with a alpha
|
|
CrystalEmail::Rfc5322.validates?("u@256.1.1.1").should eq(false) # not a valid ip
|
|
CrystalEmail::Rfc5322.validates?("u@-a").should eq(false) # not a valid dom
|
|
CrystalEmail::Rfc5322.validates?("u@-a.a").should eq(false) # not a valid dom
|
|
end
|
|
|
|
it "test public" do
|
|
CrystalEmail::Rfc1123::Public.validates?("toto.toto.to").should eq(true)
|
|
CrystalEmail::Rfc1123::Public.validates?("toto.to").should eq(true)
|
|
CrystalEmail::Rfc1123::Public.validates?("toto").should eq(false)
|
|
CrystalEmail::Rfc1123::Public.validates?("toto.t").should eq(false)
|
|
CrystalEmail::Rfc1123::Public.validates?("toto.toto.t").should eq(false)
|
|
CrystalEmail::Rfc1123::Public.validates?("1.1.1.1").should eq(false)
|
|
|
|
CrystalEmail::Rfc5322::Public.validates?("toto@toto.to").should eq(true)
|
|
CrystalEmail::Rfc5322::Public.validates?("toto@toto").should eq(false)
|
|
CrystalEmail::Rfc5322::Public.validates?("toto@1.1.1.1").should eq(false)
|
|
end
|
|
|
|
it "test string helpers" do
|
|
("*".is_domain?).should eq(false)
|
|
("toto.toto".is_domain?).should eq(true)
|
|
("toto".is_public_domain?).should eq(false)
|
|
("toto.toto".is_public_domain?).should eq(true)
|
|
("toto".is_email?).should eq(false)
|
|
("toto@toto.toto".is_email?).should eq(true)
|
|
("toto@toto".is_public_email?).should eq(false)
|
|
("toto@toto.toto".is_public_email?).should eq(true)
|
|
end
|
|
end
|