Sha256: ea2b215b0946d93eafe336de16e51e7ab8394ec39822f28b459f916a99ec451b

Contents?: true

Size: 1.99 KB

Versions: 2

Compression:

Stored size: 1.99 KB

Contents

require 'spec_helper'

describe Memoria::Email do
  describe 'simple test' do
    subject { Memoria::Email.parse('bla bla me@somesite.com') }

    it { is_expected.to include(Memoria::Email) }
    it { is_expected.to be_an Array }

    it 'should have text reader method' do
      expect(subject[0].text).to eq('me@somesite.com')
    end
  end

  describe 'parsed' do
    def parse(site)
      Memoria::Email.parse(site).first.to_s
    end

    describe 'http' do
      let(:parsed) { 'hoho@fubah.com' }

      it { expect(parse('hoho@fubah.com')).to eq(parsed) }
      it { expect(parse('hoho@fubah.com.')).to eq(parsed) }
      it { expect(parse('"hoho@fubah.com"')).to eq(parsed) }
      it { expect(parse('( hoho@fubah.com )')).to eq(parsed) }
      it { expect(parse('(hoho@fubah.com)')).to eq(parsed) }
      it { expect(parse('(hoho@fubah.com.)')).to eq(parsed) }
      it { expect(parse('hoho@fubah.com/')).to eq(parsed) }
    end
  end

  describe 'valid' do
    %w(
      foo@foo.com
      foo@foo.org
      foo@foo.net
      foo_bar@foo.net
      foo-bar@foo.net
      foo.bar@foo.net
      foo.bar9@foo.net
      foo.bar@99foo.net
      zumbi@land.com.br
      zumbi@land.org.br
      zumbi@land.net.br
      zum@dom.land.co.uk
      zum@ad.dom.land.co.tk
    ).each do |good_mail|
      it "should correctly parse '#{good_mail}'" do
        res = Memoria::Email.parse(good_mail)
        expect(res.first.to_s).to eq(good_mail)
        expect(res.size).to eq(1)
      end
    end
  end

  describe 'invalid' do
    %w(
      @foo
      foo@foo
      @foo.org
      zumbi@.com
      foo@@foo.com
      zum.@good.com
      @11 53 2355
      @11532355
    ).each do |bad_mail|
      it "should not parse '#{bad_mail}'" do
        expect(Memoria::Email.parse(bad_mail).first).to be_nil
      end
    end
  end

  describe 'parsed emails txt' do
    load_fixture('email.txt').each_line do |l|
      it "Should parse email #{l}" do
        expect(Memoria::Email.parse(l).first.to_s).to eq('johh@gmail.com')
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ubi-0.0.8 spec/ubi/memorias/email_spec.rb
ubi-0.0.7 spec/ubi/memorias/email_spec.rb