Sha256: d18f02029cfa97efd238413a55a0051175dfe6742f031e5f7065b55377f35846

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

require 'spec_helper'

describe Capybara::Accessible::Driver do
  before do
    @session = Capybara::Session.new(:accessible, AccessibleApp)
  end

  context 'a page without accessibility errors' do
    it 'does not raise an exception on audit failures' do
      expect { @session.visit('/accessible') }.to_not raise_error
    end
  end

  context 'a page with inaccessible elements' do
    it 'raises an exception on visiting the page' do
      expect { @session.visit('/inaccessible') }.to raise_error(Capybara::Accessible::InaccessibleError)
    end

    it 'raises an exception when visiting the page via a link' do
      @session.visit('/accessible')
      expect { @session.click_link('inaccessible') }.to raise_error(Capybara::Accessible::InaccessibleError)
    end

    context 'with configuration that excludes rules' do
      before do
        Capybara::Accessible::Auditor.exclusions = ['AX_TEXT_01']
      end

      it 'does not raise an error on an excluded rule' do
        expect { @session.visit('/excluded') }.to_not raise_error
      end
    end

    context 'with log level set to warn' do
      before do
        Capybara::Accessible::Auditor.log_level = :warn
      end

      it 'puts to stdout and does not raise an error' do
        $stdout.should_receive(:puts)
        expect { @session.visit('/inaccessible') }.to_not raise_error
      end
    end

    context 'a page with a javascript popup' do
      it 'does not raise an exception' do
        @session.visit('/alert')
        expect { @session.click_link('Alert!') }.to_not raise_error
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capybara-accessible-0.1.9 spec/driver_spec.rb