|
|
@@ -0,0 +1,39 @@
|
|
|
+import { describe, expect, test } from "bun:test"
|
|
|
+import fs from "fs/promises"
|
|
|
+import path from "path"
|
|
|
+import { tmpdir } from "../fixture/fixture"
|
|
|
+import { Ripgrep } from "../../src/file/ripgrep"
|
|
|
+
|
|
|
+describe("file.ripgrep", () => {
|
|
|
+ test("defaults to include hidden", async () => {
|
|
|
+ await using tmp = await tmpdir({
|
|
|
+ init: async (dir) => {
|
|
|
+ await Bun.write(path.join(dir, "visible.txt"), "hello")
|
|
|
+ await fs.mkdir(path.join(dir, ".opencode"), { recursive: true })
|
|
|
+ await Bun.write(path.join(dir, ".opencode", "thing.json"), "{}")
|
|
|
+ },
|
|
|
+ })
|
|
|
+
|
|
|
+ const files = await Array.fromAsync(Ripgrep.files({ cwd: tmp.path }))
|
|
|
+ const hasVisible = files.includes("visible.txt")
|
|
|
+ const hasHidden = files.includes(path.join(".opencode", "thing.json"))
|
|
|
+ expect(hasVisible).toBe(true)
|
|
|
+ expect(hasHidden).toBe(true)
|
|
|
+ })
|
|
|
+
|
|
|
+ test("hidden false excludes hidden", async () => {
|
|
|
+ await using tmp = await tmpdir({
|
|
|
+ init: async (dir) => {
|
|
|
+ await Bun.write(path.join(dir, "visible.txt"), "hello")
|
|
|
+ await fs.mkdir(path.join(dir, ".opencode"), { recursive: true })
|
|
|
+ await Bun.write(path.join(dir, ".opencode", "thing.json"), "{}")
|
|
|
+ },
|
|
|
+ })
|
|
|
+
|
|
|
+ const files = await Array.fromAsync(Ripgrep.files({ cwd: tmp.path, hidden: false }))
|
|
|
+ const hasVisible = files.includes("visible.txt")
|
|
|
+ const hasHidden = files.includes(path.join(".opencode", "thing.json"))
|
|
|
+ expect(hasVisible).toBe(true)
|
|
|
+ expect(hasHidden).toBe(false)
|
|
|
+ })
|
|
|
+})
|