Sha256: 77e044a5a30730dead4fa22a54492a3165f07f247564e2cde72bb9fa060fd15d

Contents?: true

Size: 1.45 KB

Versions: 17

Compression:

Stored size: 1.45 KB

Contents

# frozen_string_literal: true

# This is a temporary fix to ignore some HTML/CSS validation issues with the
# Decidim HTML validation process.
#
# See: https://github.com/decidim/decidim/pull/10014
# Related:
# - https://github.com/rails/rails/issues/46405
# - https://github.com/foundation/foundation-sites/pull/12496
module W3CValidators
  class NuValidator
    protected

    alias validate_nu validate unless method_defined?(:validate_nu)

    def validate(options) # :nodoc:
      filter_results(validate_nu(options))
    end

    def ignore_errors
      @ignore_errors ||= [
        "An “input” element with a “type” attribute whose value is “hidden” must not have an “autocomplete” attribute whose value is “on” or “off”.",
        "An “input” element with a “type” attribute whose value is “hidden” must not have any “aria-*” attributes."
      ]
    end

    def filter_results(results)
      messages = results.instance_variable_get(:@messages)
      messages.delete_if do |msg|
        msg.is_error? && ignore_errors.include?(msg.message)
      end
      results.instance_variable_set(:@validity, messages.none?(&:is_error?))

      results
    end
  end
end

# This allows us to dynamically load the validator URL from the ENV.
module W3cRspecValidators
  class Config
    def self.get
      @config ||= {
        w3c_service_uri: ENV.fetch("VALIDATOR_HTML_URI", "https://validator.w3.org/nu/")
      }.stringify_keys
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
decidim-dev-0.30.0.rc2 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.30.0.rc1 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.2 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.5 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.1 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.4 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.0 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.3 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.0.rc4 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.0.rc3 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.0.rc2 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.29.0.rc1 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.2 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.1 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.0 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.0.rc5 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.28.0.rc4 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb