Sha256: e49924cb60af914d25bc563030ab5783a64ce4afe7eaf8b686c2eedf12f92cdc

Contents?: true

Size: 1.87 KB

Versions: 1

Compression:

Stored size: 1.87 KB

Contents

require 'spec_helper'

describe MetaTags::TextNormalizer, '.normalize_title' do
  context 'when site_title is blank' do
    it 'should return title when site_title is blank' do
      expect(subject.normalize_title(nil, 'title', '-')).to eq('title')
      expect(subject.normalize_title('', 'title', '-')).to eq('title')
    end

    it 'should join title parts with separator' do
      expect(subject.normalize_title('', %w[title subtitle], '-')).to eq('title-subtitle')
    end

    it 'should reverse title parts when reverse is true' do
      expect(subject.normalize_title('', %w[title subtitle], '-', true)).to eq('subtitle-title')
    end

    it 'should not truncate title when limit is equal to the title length' do
      title = 'b' * MetaTags.config.title_limit
      expect(subject.normalize_title('', title, '-')).to eq(title)
    end
  end

  context 'when site_title is specified' do
    it 'should join title and site_title with separator' do
      expect(subject.normalize_title('site', 'title', '-')).to eq('site-title')
    end

    it 'should join title parts and site_title with separator' do
      expect(subject.normalize_title('site', %w[title subtitle], '-')).to eq('site-title-subtitle')
    end

    it 'should reverse title parts when reverse is true' do
      expect(subject.normalize_title('site', %w[title subtitle], '-', true)).to eq('subtitle-title-site')
    end

    it 'should not add title when site title is longer than limit' do
      site_title = 'a' * (MetaTags.config.title_limit - 2)
      expect(subject.normalize_title(site_title, 'title', '---')).to eq(site_title[0..-2])
    end

    it 'should truncate title when limit is reached' do
      site_title = 'a' * 20
      title = 'b' * (MetaTags.config.title_limit + 10)
      expect(subject.normalize_title(site_title, title, '-')).to eq("#{site_title}-#{'b' * (MetaTags.config.title_limit - 21)}")
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
meta-tags-2.2.0 spec/text_normalizer/normalize_title_spec.rb