Sha256: dcece92d03771d3dc6a9a51fa5d61658b2e2215ca813e90b434ab7d46bf2f19b

Contents?: true

Size: 1.27 KB

Versions: 9

Compression:

Stored size: 1.27 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/issues/8596
# Related: https://github.com/w3c/css-validator/issues/355
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 ||= [
        "CSS: “--content-height”: One operand must be a number."
      ]
    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
    # rubocop:disable Naming/MemoizedInstanceVariableName
    def self.get
      @config ||= {
        w3c_service_uri: ENV.fetch("VALIDATOR_HTML_URI", "https://validator.w3.org/nu/")
      }.stringify_keys
    end
    # rubocop:enable Naming/MemoizedInstanceVariableName
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
decidim-dev-0.26.10 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.9 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.8 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.7 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.5 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.4 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.3 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.2 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
decidim-dev-0.26.1 lib/decidim/dev/test/w3c_rspec_validators_overrides.rb