Bladeren bron

test(core): remove duplicate patch integration tests (#38389)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
opencode-agent[bot] 3 weken geleden
bovenliggende
commit
4e067a2014
1 gewijzigde bestanden met toevoegingen van 0 en 163 verwijderingen
  1. 0 163
      packages/core/test/tool-patch.test.ts

+ 0 - 163
packages/core/test/tool-patch.test.ts

@@ -387,17 +387,6 @@ describe("PatchTool", () => {
     ),
   )
 
-  it.live("updates an empty file", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "empty.txt")
-        yield* Effect.promise(() => fs.writeFile(target, ""))
-        yield* executeTool(registry, call("*** Begin Patch\n*** Update File: empty.txt\n@@\n+First line\n*** End Patch"))
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("First line\n")
-      }),
-    ),
-  )
-
   it.live("rejects deleting a directory", () =>
     withTempTool((directory, registry) =>
       Effect.gen(function* () {
@@ -410,40 +399,6 @@ describe("PatchTool", () => {
     ),
   )
 
-  it.live("supports an end-of-file anchor", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "tail.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "first\nsecond"))
-        yield* executeTool(
-          registry,
-          call(
-            "*** Begin Patch\n*** Update File: tail.txt\n@@\n first\n-second\n+second updated\n*** End of File\n*** End Patch",
-          ),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("first\nsecond updated\n")
-      }),
-    ),
-  )
-
-  it.live("applies an end-of-file chunk to the final duplicate", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "duplicates.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "marker\nend\nmiddle\nmarker\nend\n"))
-        yield* executeTool(
-          registry,
-          call(
-            "*** Begin Patch\n*** Update File: duplicates.txt\n@@\n-marker\n-end\n+marker changed\n+end\n*** End of File\n*** End Patch",
-          ),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe(
-          "marker\nend\nmiddle\nmarker changed\nend\n",
-        )
-      }),
-    ),
-  )
-
   it.live("rejects a missing second chunk context", () =>
     withTempTool((directory, registry) =>
       Effect.gen(function* () {
@@ -513,20 +468,6 @@ describe("PatchTool", () => {
     ),
   )
 
-  it.live("applies multiple hunks to one file", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "multi.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "a\nb\nc\nd\n"))
-        yield* executeTool(
-          registry,
-          call("*** Begin Patch\n*** Update File: multi.txt\n@@\n-b\n+B\n@@\n-d\n+D\n*** End Patch"),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("a\nB\nc\nD\n")
-      }),
-    ),
-  )
-
   it.live("applies successive update operations to one file", () =>
     withTempTool((directory, registry) =>
       Effect.gen(function* () {
@@ -566,110 +507,6 @@ describe("PatchTool", () => {
     ),
   )
 
-  it.live("appends a trailing newline on update", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "no-newline.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "no newline at end"))
-        yield* executeTool(
-          registry,
-          call(
-            "*** Begin Patch\n*** Update File: no-newline.txt\n@@\n-no newline at end\n+first line\n+second line\n*** End Patch",
-          ),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("first line\nsecond line\n")
-      }),
-    ),
-  )
-
-  it.live("disambiguates change context with an @@ header", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "context.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "fn a\nx=10\ny=2\nfn b\nx=10\ny=20\n"))
-        yield* executeTool(
-          registry,
-          call("*** Begin Patch\n*** Update File: context.txt\n@@ fn b\n-x=10\n+x=11\n*** End Patch"),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe(
-          "fn a\nx=10\ny=2\nfn b\nx=11\ny=20\n",
-        )
-      }),
-    ),
-  )
-
-  it.live("parses a heredoc-wrapped patch", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        yield* executeTool(
-          registry,
-          call("cat <<'EOF'\n*** Begin Patch\n*** Add File: heredoc.txt\n+with cat\n*** End Patch\nEOF"),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(path.join(directory, "heredoc.txt"), "utf8"))).toBe(
-          "with cat\n",
-        )
-      }),
-    ),
-  )
-
-  it.live("parses a heredoc-wrapped patch without cat", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        yield* executeTool(
-          registry,
-          call("<<EOF\n*** Begin Patch\n*** Add File: heredoc.txt\n+without cat\n*** End Patch\nEOF"),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(path.join(directory, "heredoc.txt"), "utf8"))).toBe(
-          "without cat\n",
-        )
-      }),
-    ),
-  )
-
-  it.live("matches with trailing whitespace differences", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "trailing.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "line1  \nline2\nline3   \n"))
-        yield* executeTool(
-          registry,
-          call("*** Begin Patch\n*** Update File: trailing.txt\n@@\n-line2\n+changed\n*** End Patch"),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("line1  \nchanged\nline3   \n")
-      }),
-    ),
-  )
-
-  it.live("matches with leading whitespace differences", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "leading.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "  line1\nline2\n  line3\n"))
-        yield* executeTool(
-          registry,
-          call("*** Begin Patch\n*** Update File: leading.txt\n@@\n-line2\n+changed\n*** End Patch"),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("  line1\nchanged\n  line3\n")
-      }),
-    ),
-  )
-
-  it.live("matches with Unicode punctuation differences", () =>
-    withTempTool((directory, registry) =>
-      Effect.gen(function* () {
-        const target = path.join(directory, "unicode.txt")
-        yield* Effect.promise(() => fs.writeFile(target, "He said “hello”\nsome—dash\nend\n"))
-        yield* executeTool(
-          registry,
-          call(
-            '*** Begin Patch\n*** Update File: unicode.txt\n@@\n-He said "hello"\n+He said "hi"\n*** End Patch',
-          ),
-        )
-        expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe('He said "hi"\nsome—dash\nend\n')
-      }),
-    ),
-  )
-
   it.live("rejects an update with missing context", () =>
     withTempTool((directory, registry) =>
       Effect.gen(function* () {