27 lines
		
	
	
		
			875 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			875 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
RSpec.configure do |config|
 | 
						|
  config.after(:each, :js, type: :system) do
 | 
						|
    # Classes of intermittent ignorable errors
 | 
						|
    ignored_errors = [
 | 
						|
      /Error while trying to use the following icon from the Manifest/, # https://github.com/mastodon/mastodon/pull/30793
 | 
						|
      /Manifest: Line: 1, column: 1, Syntax error/, # Similar parsing/interruption issue as above
 | 
						|
    ]
 | 
						|
    errors = page.driver.browser.logs.get(:browser).reject do |error|
 | 
						|
      ignored_errors.any? { |pattern| pattern.match(error.message) }
 | 
						|
    end
 | 
						|
 | 
						|
    if errors.present?
 | 
						|
      aggregate_failures 'javascript errrors' do
 | 
						|
        errors.each do |error|
 | 
						|
          expect(error.level).to_not eq('SEVERE'), error.message
 | 
						|
          next unless error.level == 'WARNING'
 | 
						|
 | 
						|
          warn 'WARN: javascript warning'
 | 
						|
          warn error.message
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |