Sha256: 6480ed72f76a846924c14d81d082c9f06b37122089b08bb949efe184959108cb

Contents?: true

Size: 1.19 KB

Versions: 21

Compression:

Stored size: 1.19 KB

Contents

require 'spec_helper'
require 'puppet/pops'

describe Puppet::Pops::LabelProvider do
  let(:labeler) { Puppet::Pops::LabelProvider.new }

  it "prefixes words that start with a vowel with an 'an'" do
    expect(labeler.a_an('owl')).to eq('an owl')
  end

  it "prefixes words that start with a consonant with an 'a'" do
    expect(labeler.a_an('bear')).to eq('a bear')
  end

  it "prefixes non-word characters with an 'a'" do
    expect(labeler.a_an('[] expression')).to eq('a [] expression')
  end

  it "ignores a single quote leading the word" do
    expect(labeler.a_an("'owl'")).to eq("an 'owl'")
  end

  it "ignores a double quote leading the word" do
    expect(labeler.a_an('"owl"')).to eq('an "owl"')
  end

  it "capitalizes the indefinite article for a word when requested" do
    expect(labeler.a_an_uc('owl')).to eq('An owl')
  end

  it "raises an error when missing a character to work with" do
    expect {
      labeler.a_an('"')
    }.to raise_error(Puppet::DevError, /<"> does not appear to contain a word/)
  end

  it "raises an error when given an empty string" do
    expect {
      labeler.a_an('')
    }.to raise_error(Puppet::DevError, /<> does not appear to contain a word/)
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
puppet-4.2.3 spec/unit/pops/label_provider_spec.rb
puppet-4.2.3-x86-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.3-x64-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.2 spec/unit/pops/label_provider_spec.rb
puppet-4.2.2-x86-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.2-x64-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.1 spec/unit/pops/label_provider_spec.rb
puppet-4.2.1-x86-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.1-x64-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.0 spec/unit/pops/label_provider_spec.rb
puppet-4.2.0-x86-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.2.0-x64-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.1.0 spec/unit/pops/label_provider_spec.rb
puppet-4.1.0-x86-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.1.0-x64-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.0.0 spec/unit/pops/label_provider_spec.rb
puppet-4.0.0-x86-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.0.0-x64-mingw32 spec/unit/pops/label_provider_spec.rb
puppet-4.0.0.rc1 spec/unit/pops/label_provider_spec.rb
puppet-4.0.0.rc1-x86-mingw32 spec/unit/pops/label_provider_spec.rb