You are here

protected function CssW3Form::testFiles in Advanced CSS/JS Aggregation 8.3

Same name and namespace in other branches
  1. 8.4 advagg_validator/src/Form/CssW3Form.php \Drupal\advagg_validator\Form\CssW3Form::testFiles()
  2. 8.2 advagg_validator/src/Form/CssW3Form.php \Drupal\advagg_validator\Form\CssW3Form::testFiles()

Perform server side test(s) on all given files.

Parameters

array $files: An array of files to be tested.

array $options: (optional) An array of options to use in the test.

Return value

array An array of files with the result.

Overrides BaseValidatorForm::testFiles

2 calls to CssW3Form::testFiles()
CssW3Form::submitCheckAll in advagg_validator/src/Form/CssW3Form.php
CssW3Form::submitCheckDirectory in advagg_validator/src/Form/CssW3Form.php

File

advagg_validator/src/Form/CssW3Form.php, line 150

Class

CssW3Form
Configure form for W3C validation of CSS files.

Namespace

Drupal\advagg_validator\Form

Code

protected function testFiles(array $files, array $options = []) {
  $output = [];
  foreach ($files as $filename) {

    // Skip missing files.
    if (!file_exists($filename)) {
      continue;
    }
    $lines = file($filename);

    // Run jigsaw.w3.org validator.
    $output[$filename]['jigsaw.w3.org'] = $this
      ->testW3C($filename, $options);

    // Get extra context for errors.
    if (!empty($output[$filename]['jigsaw.w3.org']['errors'])) {
      foreach ($output[$filename]['jigsaw.w3.org']['errors'] as &$value) {
        if (isset($value['line'])) {
          $value['linedata'] = $lines[$value['line'] - 1];
          if (strlen($value['linedata']) > 512) {
            unset($value['linedata']);
          }
        }
      }
      unset($value);
    }
    if (!empty($output[$filename]['jigsaw.w3.org']['warnings'])) {
      foreach ($output[$filename]['jigsaw.w3.org']['warnings'] as &$value) {
        if (isset($value['line'])) {
          $value['linedata'] = $lines[$value['line'] - 1];
          if (strlen($value['linedata']) > 512) {
            unset($value['linedata']);
          }
        }
      }
      unset($value);
    }
  }
  return $output;
}