Sha256: 4758626543d97f96d341588662432cf72ad843dc1211558b46d96c50fa3789c7
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
require 'pwm' describe Pwm do describe 'The default set of characters' do (('A'..'Z').to_a - ['I', 'O']).each do |letter| it "includes #{letter}" do expect(Pwm.characters).to include(letter) end end (('a'..'z').to_a - ['l']).each do |letter| it "includes #{letter}" do expect(Pwm.characters).to include(letter) end end ('2'..'9').each do |letter| it "includes #{letter}" do expect(Pwm.characters).to include(letter) end end %w(I O l 0 1).each do |letter| it "does not include #{letter}" do expect(Pwm.characters).not_to include(letter) end end end describe 'The password method' do context 'when given a length' do context 'equal to 8' do it 'generates a password of that length' do expect(Pwm.password(8).length).to eq(8) end end context 'greater than 8' do it 'generates a password of that length' do expect(Pwm.password(9).length).to eq(9) end end context 'less than 8' do it 'raises Pwm::TooShortException' do expect { Pwm.password(7) }.to raise_error(Pwm::TooShortException) end end end context 'when not given a length' do it 'generates a 16-character password' do expect(Pwm.password.length).to eq(16) end end it 'generates passwords containing at least one upper-case letter' do expect(Pwm.password).to match(/[A-Z]/) end it 'generates passwords containing at least one lower-case letter' do expect(Pwm.password).to match(/[a-z]/) end it 'generates passwords containing at least one number' do expect(Pwm.password).to match(/[2-9]/) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pwm-1.2.1 | spec/pwm_spec.rb |