🏡 index : quine-global-boneyard/electron-builder.git

import { getCompleteExtname } from "builder-util/out/filename"

// [inputFilename, expectedExtname]
const tests = [
  ["Foo-v1.exe.blockmap", ".exe.blockmap"],
  ["Foo-1.0.0.dmg.blockmap", ".dmg.blockmap"],
  ["Foo-v1.0.0.exe.blockmap", ".exe.blockmap"],
  ["Foo-1.0.0-mac.zip.blockmap", ".zip.blockmap"],
  ["Foo-1.0.0.exe", ".exe"],
  ["foo-1.0.0.exe", ".exe"],
  ["foo.bar-1.0.0.dmg", ".dmg"],
  ["Foo-2.0.0.rc1.dmg", ".dmg"],
  ["Foo-1.0.0-mac.dmg", ".dmg"],
  ["Foo-v1.0.0.zip", ".zip"],
  ["Foo-1.0.0.tar.gz", ".tar.gz"],
  ["Foo-1.0.0.tar.7z", ".tar.7z"],
  ["Foo-1.0.0.7z", ".7z"],
  ["Foo-1.0.0.test.7z", ".7z"],
  ["Foo-1.0.0.tar.xz", ".tar.xz"],
  ["Foo-1.0.0.tar.lz", ".tar.lz"],
  ["Foo-1.0.0.tar.bz2", ".tar.bz2"],
  ["Foo.v2.tar.bz2", ".tar.bz2"],
  ["Foo-v1.0.0.tar.bz2", ".tar.bz2"],
  ["Application.test.dmg", ".dmg"],
  ["Program.1.0.0.beta1.exe", ".exe"],
  ["application.dmg", ".dmg"],
  ["latest.yml", ".yml"],
  [".gitignore", ""],
  [".config.yml", ".yml"],
  ["code.h", ".h"],
]

describe("getCompleteExtname", () => {
  for (const [filename, expected] of tests) {
    test(`get complete extname for ${filename}`, ({ expect }) => {
      const extname = getCompleteExtname(filename)

      expect(extname).toBe(expected)
    })
  }
})