← Files Biological Sequence & Alignment ViewerARCHIVED FILE

src/sequence/file-kind.test.ts

958 Bytes · Sep 30, 2026 · 23:01 UTC

↓ Download file

import { describe, expect, it } from "vitest";

import { getSequenceFormatHint } from "./file-kind";

describe("platform-independent Sequence file format detection", () => {
  it.each([
    ["/Users/researcher/data/reads.fastq.gz", "fastq"],
    ["C:\\Research Data\\reads.FASTQ.BGZ", "fastq"],
    ["\\\\lab-server\\sequencing\\genome.fasta.bgzf", "fasta"],
    ["C:/Research Data/genome.fna.bgzip", "fna"],
    ["relative/alignment.aln-fasta", "aln-fasta"],
    ["traces/sample.ab1.gz", "ab1"],
    ["constructs/plasmid.DNA", "dna"],
  ])("infers the actual source format for %s", (source, format) => {
    expect(getSequenceFormatHint(source)).toBe(format);
  });

  it("does not infer a format from a Windows or macOS directory", () => {
    expect(getSequenceFormatHint("C:\\reads.fastq\\no-extension")).toBeNull();
    expect(getSequenceFormatHint("/tmp/reads.fastq/no-extension")).toBeNull();
    expect(getSequenceFormatHint()).toBeNull();
  });
});

SHA-256: 5319cd6db611bb2ca6f9f569890e40ecabf8525e062d3a195f47aca1aaac8578