Sha256: 099c00eb0f83821efc362e20f81587fb8efe788858caeb07801820eaeb56a44e

Contents?: true

Size: 1.9 KB

Versions: 1

Compression:

Stored size: 1.9 KB

Contents

const file = require('../file')

jest.mock("../../config", () => {
  const original = jest.requireActual("../../config");
  return {
    ...original,
    includePaths: [...original.includePaths, 'app/assets']
  };
});

describe('file', () => {
  test('test expected file types', () => {
    const types = [
      '.bmp',
      '.gif',
      '.jpg',
      '.jpeg',
      '.png',
      '.tiff',
      '.ico',
      '.avif',
      '.webp',
      '.eot',
      '.otf',
      '.ttf',
      '.woff',
      '.woff2',
      '.svg',
    ]
    types.forEach(type => expect(file.test.test(type)).toBe(true))
  })

  test('exclude expected file types', () => {
    const types = [
      '.js',
      '.mjs',
      '.jsx',
      '.ts',
      '.tsx',
    ]
    types.forEach(type => expect(file.exclude.test(type)).toBe(true))
  })

  test('correct generated output path is returned for top level files', () => {
    const pathData = {
      filename: 'app/javascript/image.svg',
    };
    expect(file.generator.filename(pathData)).toEqual(
      'static/[name]-[hash][ext][query]'
    );
  });

  test('correct generated output path is returned for nested files', () => {
    const pathData = {
      filename: 'app/javascript/images/image.svg',
    };
    expect(file.generator.filename(pathData)).toEqual(
      'static/images/[name]-[hash][ext][query]'
    );
  })

  test('correct generated output path is returned for deeply nested files', () => {
    const pathData = {
      filename: 'app/javascript/images/nested/deeply/image.svg',
    };
    expect(file.generator.filename(pathData)).toEqual(
      'static/images/nested/deeply/[name]-[hash][ext][query]'
    );
  });

  test('correct generated output path is returned for all include paths', () => {
    const pathData = {
      filename: 'app/assets/images/image.svg',
    };
    expect(file.generator.filename(pathData)).toEqual(
      'static/images/[name]-[hash][ext][query]'
    );
  });
})

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shakapacker-7.3.0.beta.1 package/rules/__tests__/file.js