old_contents: # -*- coding:utf-8 -*-
  
  import os
  import pytest
  
  from sigal import init_plugins
  from sigal.gallery import Gallery
  from sigal.plugins import compress_assets
  
  CURRENT_DIR = os.path.dirname(__file__)
  
  
  def make_gallery(settings, tmpdir, method):
      settings['destination'] = str(tmpdir)
      # Really speed up testing
      settings['use_orig'] = True
      if "sigal.plugins.compress_assets" not in settings["plugins"]:
          settings['plugins'] += ["sigal.plugins.compress_assets"]
  
      # Set method
      settings.setdefault('compress_assets_options', {})['method'] = method
  
      compress_options = compress_assets.DEFAULT_SETTINGS.copy()
      # The key was created by the previous setdefault if needed
      compress_options.update(settings['compress_assets_options'])
  
      init_plugins(settings)
      gal = Gallery(settings)
      gal.build()
  
      return compress_options
  
  
  @pytest.mark.parametrize("method,compress_suffix,test_import",
                           [('gzip', 'gz', None),
                            ('zopfli', 'gz', 'zopfli.gzip'),
                            ('brotli', 'br', 'brotli')])
  def test_compress(disconnect_signals, settings, tmpdir, method,
                    compress_suffix, test_import):
      if test_import:
          pytest.importorskip(test_import)
      compress_options = make_gallery(settings, tmpdir, method)
  
      suffixes = compress_options['suffixes']
  
      for path, dirs, files in os.walk(settings['destination']):
          for file in files:
              path_exists = os.path.exists('{}.{}'.format(os.path.join(path, file), compress_suffix))
              file_ext = os.path.splitext(file)[1][1:]
              assert path_exists if file_ext in suffixes else not path_exists
  
new_contents: # -*- coding:utf-8 -*-
  
  import os
  import pytest
  
  from sigal import init_plugins
  from sigal.gallery import Gallery
  from sigal.plugins import compress_assets
  
  CURRENT_DIR = os.path.dirname(__file__)
  
  
  def make_gallery(settings, tmpdir, method):
      settings['destination'] = str(tmpdir)
      # Really speed up testing
      settings['use_orig'] = True
      if "sigal.plugins.compress_assets" not in settings["plugins"]:
          settings['plugins'] += ["sigal.plugins.compress_assets"]
  
      # Set method
      settings.setdefault('compress_assets_options', {})['method'] = method
  
      compress_options = compress_assets.DEFAULT_SETTINGS.copy()
      # The key was created by the previous setdefault if needed
      compress_options.update(settings['compress_assets_options'])
  
      init_plugins(settings)
      gal = Gallery(settings)
      gal.build()
  
      return compress_options
  
  
  @pytest.mark.parametrize("method,compress_suffix,test_import",
                           [('gzip', 'gz', None),
                            ('zopfli', 'gz', 'zopfli.gzip'),
                            ('brotli', 'br', 'brotli')])
  def test_compress(disconnect_signals, settings, tmpdir, method,
                    compress_suffix, test_import):
      if test_import:
          pytest.importorskip(test_import)
  
      # Compress twice to test compression skip based on mtime
      for _ in range(2):
          compress_options = make_gallery(settings, tmpdir, method)
  
          suffixes = compress_options['suffixes']
  
          for path, dirs, files in os.walk(settings['destination']):
              for file in files:
                  original_filename = os.path.join(path, file)
                  compressed_filename = '{}.{}'.format(os.path.join(path, file), compress_suffix)
                  path_exists = os.path.exists(compressed_filename)
                  file_ext = os.path.splitext(file)[1][1:]
                  if file_ext in suffixes:
                      assert path_exists
                      assert os.stat(original_filename).st_mtime <= os.stat(compressed_filename).st_mtime
                  else:
                      assert not path_exists
                  assert path_exists if file_ext in suffixes else not path_exists
  
  
subject: test compression twice to ensure we test the stat path