Deep-Software-Analytics/SweSetupBench-lite huggingface dataset:
Repository: apollographql/apollo-client

Problem statement:
Type error returning `IGNORE` object when using a generic `TypedDocumentNode` mutation
### Issue Description

There's a type error when returning the `IGNORE` sentinel object from `optimisticResponse` that is inferring from a `TypedDocumentNode<>`.

Given the following document:
![image](https://github.com/apollographql/apollo-client/assets/48073625/a74f9993-a2a8-4356-bfcc-e48fafe3f259)

We get the following type error:
![image](https://github.com/apollographql/apollo-client/assets/48073625/04ab406e-5c01-4dce-86bc-5bbf026a0845)

I've checked the type definitions and it's fixed if we explicitly return an union type instead of only returning the inferred type. I created a PR #11944 changing this.





### Link to Reproduction

https://codesandbox.io/p/sandbox/optimisticresponse-apollo-ts-error-mv34ws

### Reproduction Steps

_No response_

### `@apollo/client` version

3.10.8


Hints:

Patch:
diff --git a/src/core/watchQueryOptions.ts b/src/core/watchQueryOptions.ts
--- a/src/core/watchQueryOptions.ts
+++ b/src/core/watchQueryOptions.ts
@@ -220,7 +220,10 @@ export interface MutationBaseOptions<
   /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#optimisticResponse:member} */
   optimisticResponse?:
     | TData
-    | ((vars: TVariables, { IGNORE }: { IGNORE: IgnoreModifier }) => TData);
+    | ((
+        vars: TVariables,
+        { IGNORE }: { IGNORE: IgnoreModifier }
+      ) => TData | IgnoreModifier);
 
   /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#updateQueries:member} */
   updateQueries?: MutationQueryReducersMap<TData>;


Test patch:
diff --git a/src/__tests__/optimistic.ts b/src/__tests__/optimistic.ts
--- a/src/__tests__/optimistic.ts
+++ b/src/__tests__/optimistic.ts
@@ -9,6 +9,7 @@ import {
   ApolloLink,
   ApolloCache,
   MutationQueryReducersMap,
+  TypedDocumentNode,
 } from "../core";
 
 import { QueryManager } from "../core/QueryManager";
@@ -1089,6 +1090,25 @@ describe("optimistic mutation results", () => {
         resolve();
       }
     );
+
+    it("allows IgnoreModifier as return value when inferring from a TypedDocumentNode mutation", () => {
+      const mutation: TypedDocumentNode<{ bar: string }> = gql`
+        mutation foo {
+          foo {
+            bar
+          }
+        }
+      `;
+
+      const client = new ApolloClient({
+        cache: new InMemoryCache(),
+      });
+
+      client.mutate({
+        mutation,
+        optimisticResponse: (vars, { IGNORE }) => IGNORE,
+      });
+    });
   });
 
   describe("optimistic updates using `updateQueries`", () => {
Repository: apollographql/apollo-client

Problem statement:
useQuery with {ssr: false} is not fetched on client-side
**Intended outcome:**
Invoking a `useQuery` with `{ssr: false}` skips the query on SSR but fetches it on client-side.

**Actual outcome:**
Invoking a `useQuery` with `{ssr: false}` does not fetch the query on client-side either. It returns `{data: undefined, loading: true}` indefinitely.

**How to reproduce the issue:**
- clone this fork https://github.com/hevele-moda/react-apollo-error-template
- run `npm install && npm run`
- Notice that the page shows 'Loading...' and the query never gets resolved.

**Versions**
```
System:
  OS: Linux 5.4 Ubuntu 20.04.2 LTS (Focal Fossa)
Binaries:
  Node: 14.17.1 - ~/.nvm/versions/node/v14.17.1/bin/node
  Yarn: 1.22.10 - /src/discovery/node_modules/.bin/yarn
  npm: 7.20.3 - /src/discovery/node_modules/.bin/npm
Browsers:
  Chrome: 92.0.4515.107
  Firefox: 90.0
npmPackages:
  @apollo/client: ^3.4.1 => 3.4.1 
  apollo: ^2.33.4 => 2.33.4 
  apollo-link-rest: ^0.8.0-beta.0 => 0.8.0-beta.0 
  apollo-storybook-react: ^0.2.4 => 0.2.4 
```


Hints:
@hevele-moda Thanks for the reproduction!

This appears to be a regression introduced in `@apollo/client@3.4.0-rc.13`, possibly from commit 43d64356e656c42bd28523394e07c1c0584aa4b2. Does that sound plausible @brainkim?

Patch:
diff --git a/src/react/data/QueryData.ts b/src/react/data/QueryData.ts
--- a/src/react/data/QueryData.ts
+++ b/src/react/data/QueryData.ts
@@ -101,11 +101,10 @@ export class QueryData<TData, TVariables> extends OperationData<
   public afterExecute({ lazy = false }: { lazy?: boolean } = {}) {
     this.isMounted = true;
     const options = this.getOptions();
-    const ssrDisabled = options.ssr === false;
     if (
       this.currentObservable &&
-      !ssrDisabled &&
-      !this.ssrInitiated()
+      !this.ssrInitiated() &&
+      !this.client.disableNetworkFetches
     ) {
       this.startQuerySubscription();
     }


Test patch:
diff --git a/src/react/hooks/__tests__/useQuery.test.tsx b/src/react/hooks/__tests__/useQuery.test.tsx
--- a/src/react/hooks/__tests__/useQuery.test.tsx
+++ b/src/react/hooks/__tests__/useQuery.test.tsx
@@ -376,6 +376,31 @@ describe('useQuery Hook', () => {
       unmount();
       expect(client.getObservableQueries().size).toBe(0);
     });
+
+    it('should work with ssr: false', async () => {
+      const query = gql`{ hello }`;
+      const mocks = [
+        {
+          request: { query },
+          result: { data: { hello: "world" } },
+        },
+      ];
+
+      const { result, waitForNextUpdate } = renderHook(
+        () => useQuery(query, { ssr: false }),
+        {
+          wrapper: ({ children }) => (
+            <MockedProvider mocks={mocks}>{children}</MockedProvider>
+          ),
+        },
+      );
+
+      expect(result.current.loading).toBe(true);
+      expect(result.current.data).toBe(undefined);
+      await waitForNextUpdate();
+      expect(result.current.loading).toBe(false);
+      expect(result.current.data).toEqual({ hello: "world" });
+    });
   });
 
   describe('polling', () => {
Repository: apollographql/apollo-client

Problem statement:
resetStore method disappeared
There used to be a `resetStore` method inside the `ApolloClient` but that seems to have disappeared altogether due to some merge.

Should be an easy fix: the `resetStore` method inside `ApolloClient` should just call the `resetStore` method inside `this.queryManager`. Probably a test to go along with it.



Hints:
Whoever does this should also figure out when it disappeared because that will help us prevent similar "accidents" in the future. Also curious to know why this wasn't caught by a test.

I would guess we have a test for the `QueryManager` version but not the `ApolloClient` version.

Was it definitely called `resetStore`? I just did a search back through every commit, and the only `resetStore` I could find is on `QueryManager`:

```
git grep resetStore $(git rev-list --all)
```

grepping for `reset` returned a lot more results, but I didn't see anything interesting.

Maybe a rebase/force push somewhere is to blame?

@johnthepink agreed, even the PR which added it is just on the manager https://github.com/apollostack/apollo-client/pull/314/files#diff-748b449db1e130c8d777fa1ffa1e0725R462


Patch:
diff --git a/src/index.ts b/src/index.ts
--- a/src/index.ts
+++ b/src/index.ts
@@ -299,6 +299,10 @@ export default class ApolloClient {
     }));
   };
 
+  public resetStore() {
+    this.queryManager.resetStore();
+  };
+
   private setStore(store: ApolloStore) {
     // ensure existing store has apolloReducer
     if (isUndefined(store.getState()[this.reduxRootKey])) {


Test patch:
diff --git a/test/client.ts b/test/client.ts
--- a/test/client.ts
+++ b/test/client.ts
@@ -1594,4 +1594,14 @@ describe('client', () => {
       done();
     });
   });
+
+  it('has a resetStore method which calls QueryManager', (done) => {
+    const client = new ApolloClient();
+    client.queryManager = {
+      resetStore: () => {
+        done();
+      },
+    } as QueryManager;
+    client.resetStore();
+  });
 });
Repository: apollographql/apollo-client

Problem statement:
Memoize gql
Since `gql` now creates a new object every time it parses, that breaks `react-apollo` change detection. We should make the same queries `===` each other, like the original strings do.



Hints:

Patch:
diff --git a/src/gql.ts b/src/gql.ts
--- a/src/gql.ts
+++ b/src/gql.ts
@@ -4,13 +4,21 @@ import {
   Document,
 } from 'graphql';
 
+const cache: {[queryString: string]: Document} = {};
+
 function parseDocument(doc: string): Document {
+  if (cache[doc]) {
+    return cache[doc];
+  }
+
   const parsed = parse(doc);
 
   if (!parsed || parsed.kind !== 'Document') {
     throw new Error('Not a valid GraphQL document.');
   }
 
+  cache[doc] = parsed;
+
   return parsed as Document;
 }
 


Test patch:
diff --git a/test/gql.ts b/test/gql.ts
new file mode 100644
--- /dev/null
+++ b/test/gql.ts
@@ -0,0 +1,13 @@
+import { assert } from 'chai';
+
+import gql from '../src/gql';
+
+describe('gql', () => {
+  it('parses queries', () => {
+    assert.equal(gql`{ testQuery }`.kind, 'Document');
+  });
+
+  it('returns the same object for the same query', () => {
+    assert.isTrue(gql`{ sameQuery }` === gql`{ sameQuery }`);
+  });
+});
diff --git a/test/tests.ts b/test/tests.ts
--- a/test/tests.ts
+++ b/test/tests.ts
@@ -17,3 +17,4 @@ import './QueryManager';
 import './client';
 import './middleware';
 import './store';
+import './gql';
Repository: eclipse-vertx/vert.x

Problem statement:
clusterPublicPort in EventBusOptions should be ignored in toJson() result if it is the default value
### Questions


`-1` is the default value of `clusterPublicPort` in `EventBusOptions`, but setting this default value will fail:

```java

  @Test
  public void testEventBusOptions() {
    VertxOptions vertxOptions1 = new VertxOptions();
    JsonObject json = vertxOptions1.toJson();
    VertxOptions vertxOptions2 = new VertxOptions(json);  //  <== this line leads to exception
    assertEquals(json, vertxOptions2.toJson());
  }
```

The exception is:

```java
java.lang.IllegalArgumentException: clusterPublicPort p must be in range 0 <= p <= 65535
	at io.vertx.core.eventbus.EventBusOptions.setClusterPublicPort(EventBusOptions.java:651)
	at io.vertx.core.eventbus.EventBusOptionsConverter.fromJson(EventBusOptionsConverter.java:55)
	at io.vertx.core.eventbus.EventBusOptions.<init>(EventBusOptions.java:165)
	at io.vertx.core.VertxOptionsConverter.fromJson(VertxOptionsConverter.java:45)
	at io.vertx.core.VertxOptions.<init>(VertxOptions.java:181)
	at io.vertx.core.VertxOptionsTest.testEventBusOptions(VertxOptionsTest.java:321)
```

This does not make sense as we cannot re-construct the VertxOptions using the JsonObject exported from a default VertxOptions instance.

### Version

latest `master` branch

### Do you have a reproducer?

Please refer to https://gist.github.com/gaol/7593cebcb2d1328d4ed50ece5ee1ac70 for more detail.

### Contribution

I will provide PR for the fix


Hints:

Patch:
diff --git a/src/main/java/io/vertx/core/eventbus/EventBusOptions.java b/src/main/java/io/vertx/core/eventbus/EventBusOptions.java
--- a/src/main/java/io/vertx/core/eventbus/EventBusOptions.java
+++ b/src/main/java/io/vertx/core/eventbus/EventBusOptions.java
@@ -173,6 +173,10 @@ public EventBusOptions(JsonObject json) {
   public JsonObject toJson() {
     JsonObject json = new JsonObject();
     EventBusOptionsConverter.toJson(this, json);
+    final String clusterPublicPortName = "clusterPublicPort";
+    if (json.containsKey(clusterPublicPortName) && json.getInteger(clusterPublicPortName) == DEFAULT_CLUSTER_PUBLIC_PORT) {
+      json.remove(clusterPublicPortName);
+    }
     return json;
   }
 


Test patch:
diff --git a/src/test/java/io/vertx/core/VertxOptionsTest.java b/src/test/java/io/vertx/core/VertxOptionsTest.java
--- a/src/test/java/io/vertx/core/VertxOptionsTest.java
+++ b/src/test/java/io/vertx/core/VertxOptionsTest.java
@@ -314,6 +314,14 @@ public void testDefaultJsonOptions() {
     assertEquals(def.getBlockedThreadCheckIntervalUnit(), json.getBlockedThreadCheckIntervalUnit());
   }
 
+  @Test
+  public void testDefaultJsonVertxOptions() {
+    VertxOptions vertxOptions1 = new VertxOptions();
+    JsonObject json = vertxOptions1.toJson();
+    VertxOptions vertxOptions2 = new VertxOptions(json);
+    assertEquals(json, vertxOptions2.toJson());
+  }
+
   @Test
   public void testJsonOptions() {
     VertxOptions options = new VertxOptions(new JsonObject());
Repository: eclipse-vertx/vert.x

Problem statement:
AsyncFile drain handler should not be called after the file is closed



Hints:

Patch:
diff --git a/src/main/java/io/vertx/core/file/impl/AsyncFileImpl.java b/src/main/java/io/vertx/core/file/impl/AsyncFileImpl.java
--- a/src/main/java/io/vertx/core/file/impl/AsyncFileImpl.java
+++ b/src/main/java/io/vertx/core/file/impl/AsyncFileImpl.java
@@ -148,9 +148,10 @@ private synchronized AsyncFile doWrite(Buffer buffer, long position, Handler<Asy
     Handler<AsyncResult<Void>> wrapped = ar -> {
       if (ar.succeeded()) {
         checkContext();
-        checkDrained();
         if (writesOutstanding == 0 && closedDeferred != null) {
           closedDeferred.run();
+        } else {
+          checkDrained();
         }
         if (handler != null) {
           handler.handle(ar);


Test patch:
diff --git a/src/test/java/io/vertx/test/core/FileSystemTest.java b/src/test/java/io/vertx/test/core/FileSystemTest.java
--- a/src/test/java/io/vertx/test/core/FileSystemTest.java
+++ b/src/test/java/io/vertx/test/core/FileSystemTest.java
@@ -54,6 +54,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import static io.vertx.test.core.TestUtils.*;
@@ -1547,6 +1548,24 @@ public void testAsyncFileCloseHandlerIsAsync() throws Exception {
     await();
   }
 
+  @Test
+  public void testDrainNotCalledAfterClose() throws Exception {
+    String fileName = "some-file.dat";
+    vertx.fileSystem().open(testDir + pathSep + fileName, new OpenOptions(), onSuccess(file -> {
+      Buffer buf = TestUtils.randomBuffer(1024 * 1024);
+      file.write(buf);
+      AtomicBoolean drainAfterClose = new AtomicBoolean();
+      file.drainHandler(v -> {
+        drainAfterClose.set(true);
+      });
+      file.close(ar -> {
+        assertFalse(drainAfterClose.get());
+        testComplete();
+      });
+    }));
+    await();
+  }
+
   private Handler<AsyncResult<Void>> createHandler(boolean shouldPass, Handler<Void> afterOK) {
     return ar -> {
       if (ar.failed()) {
Repository: tailwindlabs/tailwindcss

Problem statement:
Animation Names Won't Be Escaped If Prefix Contains Especial Characters
**What version of Tailwind CSS are you using?**

v3.3.2

**What build tool (or framework if it abstracts the build tool) are you using?**

Tailwind Play

**What version of Node.js are you using?**

N/A

**What browser are you using?**

Chrome, Safari

**What operating system are you using?**

macOS

**Reproduction URL**

https://play.tailwindcss.com/ojvPuQftlm

**Describe your issue**

Using the `@` prefix in my configuration file will allow me to create animation utilities without escaping it, therefore not producing valid animations.

The link above allows you to test the same implementation with the `animate-spin` and `@animate-spin` utilities (by tweaking the prefix) to see that the output CSS does not escape the `@spin` animation.


Hints:

Patch:
diff --git a/src/corePlugins.js b/src/corePlugins.js
--- a/src/corePlugins.js
+++ b/src/corePlugins.js
@@ -933,7 +933,7 @@ export let corePlugins = {
   },
 
   animation: ({ matchUtilities, theme, config }) => {
-    let prefixName = (name) => `${config('prefix')}${escapeClassName(name)}`
+    let prefixName = (name) => escapeClassName(config('prefix') + name)
     let keyframes = Object.fromEntries(
       Object.entries(theme('keyframes') ?? {}).map(([key, value]) => {
         return [key, { [`@keyframes ${prefixName(key)}`]: value }]


Test patch:
diff --git a/tests/animations.test.js b/tests/animations.test.js
--- a/tests/animations.test.js
+++ b/tests/animations.test.js
@@ -277,3 +277,33 @@ test('with dots in the name and prefix', () => {
     `)
   })
 })
+
+test('special character prefixes are escaped in animation names', () => {
+  let config = {
+    prefix: '@',
+    content: [{ raw: `<div class="@animate-one"></div>` }],
+    theme: {
+      extend: {
+        keyframes: {
+          one: { to: { transform: 'rotate(360deg)' } },
+        },
+        animation: {
+          one: 'one 2s',
+        },
+      },
+    },
+  }
+
+  return run('@tailwind utilities', config).then((result) => {
+    expect(result.css).toMatchFormattedCss(css`
+      @keyframes \@one {
+        to {
+          transform: rotate(360deg);
+        }
+      }
+      .\@animate-one {
+        animation: 2s \@one;
+      }
+    `)
+  })
+})
Repository: tailwindlabs/tailwindcss

Problem statement:
Missing `appearance-none`
<!-- Please provide all of the information requested below. We're a small team and without all of this information it's not possible for us to help and your bug report will be closed. -->

**What version of Tailwind CSS are you using?**

3.3.5

**What build tool (or framework if it abstracts the build tool) are you using?**

CLI

**What version of Node.js are you using?**

18.2.1

**What browser are you using?**

For example: Chrome, Safari, or N/A

**What operating system are you using?**

Windows

**Reproduction URL**

https://play.tailwindcss.com/PxecKTGWVQ

**Describe your issue**

I'm categorizing this as a bug because Tailwind wants to have "modified" value (i.e. none) and a default value (auto) that can be used with hover for example. I believe it's on their docs somewhere but I couldn't find it In this case, there is the modified value (`appearance-none`) but not the default value (theoretically called `appearance-auto`). It's obviously quite trivial to do this via arbitrary values, but I also believe that it's a bug in Tailwind that should be fixed.


Hints:

Patch:
diff --git a/src/corePlugins.js b/src/corePlugins.js
--- a/src/corePlugins.js
+++ b/src/corePlugins.js
@@ -1129,6 +1129,7 @@ export let corePlugins = {
   appearance: ({ addUtilities }) => {
     addUtilities({
       '.appearance-none': { appearance: 'none' },
+      '.appearance-auto': { appearance: 'auto' },
     })
   },
 


Test patch:
diff --git a/tests/plugins/__snapshots__/appearance.test.js.snap b/tests/plugins/__snapshots__/appearance.test.js.snap
--- a/tests/plugins/__snapshots__/appearance.test.js.snap
+++ b/tests/plugins/__snapshots__/appearance.test.js.snap
@@ -6,5 +6,10 @@ exports[`should test the 'appearance' plugin 1`] = `
   -webkit-appearance: none;
   appearance: none;
 }
+
+.appearance-auto {
+  -webkit-appearance: auto;
+  appearance: auto;
+}
 "
 `;
Repository: tailwindlabs/tailwindcss

Problem statement:
Object Position in JIT mode
### What version of Tailwind CSS are you using?

2.2.4

### What build tool (or framework if it abstracts the build tool) are you using?

Vite (with SvelteKit)

### What version of Node.js are you using?

v14.17.3

### What browser are you using?

Safari, Firefox

### What operating system are you using?

macOS Big Sur

### Reproduction repository

N/A

### Describe your issue

Using dynamic values on Object Position (top, bottom etc.) doesn't work as expected.
I want to do this: `object-top-[30%]`
Seems to be a bug:

`object-[30%]` works but `object-[0,30%]` should compile to `object-position: 0 30%` but right now it compiles to `object-position: 0,30%`.


Hints:

Patch:
diff --git a/src/plugins/objectPosition.js b/src/plugins/objectPosition.js
--- a/src/plugins/objectPosition.js
+++ b/src/plugins/objectPosition.js
@@ -1,5 +1,8 @@
 import createUtilityPlugin from '../util/createUtilityPlugin'
+import { asList } from '../util/pluginUtils'
 
 export default function () {
-  return createUtilityPlugin('objectPosition', [['object', ['object-position']]])
+  return createUtilityPlugin('objectPosition', [['object', ['object-position']]], {
+    resolveArbitraryValue: asList,
+  })
 }


Test patch:
diff --git a/tests/jit/arbitrary-values.test.css b/tests/jit/arbitrary-values.test.css
--- a/tests/jit/arbitrary-values.test.css
+++ b/tests/jit/arbitrary-values.test.css
@@ -260,6 +260,12 @@
 .stroke-\[\#da5b66\] {
   stroke: #da5b66;
 }
+.object-\[50\%\2c 50\%\] {
+  object-position: 50% 50%;
+}
+.object-\[top\2c right\] {
+  object-position: top right;
+}
 .object-\[var\(--position\)\] {
   object-position: var(--position);
 }
diff --git a/tests/jit/arbitrary-values.test.html b/tests/jit/arbitrary-values.test.html
--- a/tests/jit/arbitrary-values.test.html
+++ b/tests/jit/arbitrary-values.test.html
@@ -97,6 +97,8 @@
     <div class="from-[var(--color)] via-[var(--color)] to-[var(--color)]"></div>
     <div class="fill-[#da5b66]"></div>
     <div class="fill-[var(--color)]"></div>
+    <div class="object-[50%,50%]"></div>
+    <div class="object-[top,right]"></div>
     <div class="object-[var(--position)]"></div>
     <div class="stroke-[#da5b66]"></div>
     <div class="leading-[var(--leading)]"></div>
Repository: checkstyle/checkstyle

Problem statement:
move WriteTag Check to list of javadoc Check in XpathSuppressionFilter documentation 
~Child of https://github.com/checkstyle/checkstyle/issues/5777~

This issue specifically focuses on WriteTag.


Hints:
I am on it

Patch:
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionXpathFilter.java b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionXpathFilter.java
--- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionXpathFilter.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionXpathFilter.java
@@ -97,9 +97,6 @@
  * <li>
  * VariableDeclarationUsageDistance
  * </li>
- * <li>
- * WriteTag
- * </li>
  * </ul>
  * <p>
  * Also, the filter does not support suppressions inside javadoc reported by Javadoc checks:
@@ -135,6 +132,9 @@
  * <li>
  * SummaryJavadoc
  * </li>
+ * <li>
+ * WriteTag
+ * </li>
  * </ul>
  * <p>
  * Note, that support for these Checks will be available after resolving issues


Test patch:
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java
--- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java
@@ -45,6 +45,7 @@
 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
 import com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck;
 import com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocStyleCheck;
+import com.puppycrawl.tools.checkstyle.checks.javadoc.WriteTagCheck;
 import com.puppycrawl.tools.checkstyle.internal.utils.CheckUtil;
 
 public class XpathRegressionTest extends AbstractModuleTestSupport {
@@ -70,8 +71,7 @@ public class XpathRegressionTest extends AbstractModuleTestSupport {
             "TodoComment",
             "TrailingComment",
             "UnnecessaryParentheses",
-            "VariableDeclarationUsageDistance",
-            "WriteTag"
+            "VariableDeclarationUsageDistance"
     )));
 
     // Javadoc checks are not compatible with SuppressionXpathFilter
@@ -89,13 +89,16 @@ public class XpathRegressionTest extends AbstractModuleTestSupport {
                     "MissingDeprecated",
                     "NonEmptyAtclauseDescription",
                     "SingleLineJavadoc",
-                    "SummaryJavadoc"
+                    "SummaryJavadoc",
+                    "WriteTag"
     )));
 
     // Older regex-based checks that are under INCOMPATIBLE_JAVADOC_CHECK_NAMES
     // but not subclasses of AbstractJavadocCheck.
-    private static final Set<Class<?>> REGEXP_JAVADOC_CHECKS =
-            Collections.singleton(JavadocStyleCheck.class);
+    private static final Set<Class<?>> REGEXP_JAVADOC_CHECKS = new HashSet<>(Arrays.asList(
+            JavadocStyleCheck.class,
+            WriteTagCheck.class
+    ));
 
     // Checks that allowed to have no XPath IT Regression Testing
     // till https://github.com/checkstyle/checkstyle/issues/6207