42 lines
950 B
Ruby
42 lines
950 B
Ruby
require 'spec_helper'
|
|
require 'email'
|
|
|
|
describe Email do
|
|
|
|
describe "is_valid?" do
|
|
|
|
it 'treats a good email as valid' do
|
|
Email.is_valid?('sam@sam.com').should be_true
|
|
end
|
|
|
|
it 'treats a bad email as invalid' do
|
|
Email.is_valid?('sam@sam').should be_false
|
|
end
|
|
|
|
it 'allows museum tld' do
|
|
Email.is_valid?('sam@nic.museum').should be_true
|
|
end
|
|
|
|
it 'does not think a word is an email' do
|
|
Email.is_valid?('sam').should be_false
|
|
end
|
|
|
|
end
|
|
|
|
describe "downcase" do
|
|
|
|
it 'downcases only the host part' do
|
|
Email.downcase('SAM@GMAIL.COM').should == 'SAM@gmail.com'
|
|
Email.downcase('sam@GMAIL.COM').should_not == 'SAM@gmail.com'
|
|
end
|
|
|
|
it 'leaves invalid emails untouched' do
|
|
Email.downcase('SAM@GMAILCOM').should == 'SAM@GMAILCOM'
|
|
Email.downcase('samGMAIL.COM').should == 'samGMAIL.COM'
|
|
Email.downcase('sam@GM@AIL.COM').should == 'sam@GM@AIL.COM'
|
|
end
|
|
|
|
end
|
|
|
|
end
|