Files
oxc-project__oxc/apps/oxlint/test/fixtures/isSpaceBetween/output.snap.md
connorshea 7958b56cdb fix(linter): Fix syntax error reporting in some output formatters. (#19590)
Add snapshot tests for all the formatters with this case to make sure we don't regress on this for any of them in the future.

Basically, we were being overly aggressive in the stripping of the rule ID from the message, which caused messages with colons in them (e.g. parser errors like `Expected `;` but found `:``) to be truncated to just the character after the first colon.

We don't actually need to do this anymore, as the `diagnostic.to_string()` method doesn't include the rule ID (if it ever did), so we can just use the full string as the message without any additional parsing.

Generated with Claude Code.

Fixes https://github.com/oxc-project/oxc/issues/19588.
2026-02-21 12:14:18 +00:00

6.7 KiB

Exit code

1

stdout

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): false
  | isSpaceBetweenTokens(left, right): false
  | isSpaceBetween(right, left): false
  | isSpaceBetweenTokens(right, left): false
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
   ,-[files/index.js:2:1]
 1 | // prettier-ignore
 2 | noSpace=1;
   : ^^^^^^^^^
 3 | 
   `----

  x test-plugin(is-space-between):
  | isSpaceBetween(leftExtended, right): false
  | isSpaceBetweenTokens(leftExtended, right): false
  | isSpaceBetween(right, leftExtended): false
  | isSpaceBetweenTokens(right, leftExtended): false
   ,-[files/index.js:2:1]
 1 | // prettier-ignore
 2 | noSpace=1;
   : ^^^^^^^^^
 3 | 
   `----

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): true
  | isSpaceBetweenTokens(left, right): true
  | isSpaceBetween(right, left): true
  | isSpaceBetweenTokens(right, left): true
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
   ,-[files/index.js:5:1]
 4 | // prettier-ignore
 5 | singleSpaceBefore =2;
   : ^^^^^^^^^^^^^^^^^^^^
 6 | 
   `----

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): true
  | isSpaceBetweenTokens(left, right): true
  | isSpaceBetween(right, left): true
  | isSpaceBetweenTokens(right, left): true
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
   ,-[files/index.js:8:1]
 7 | // prettier-ignore
 8 | singleSpaceAfter= 3;
   : ^^^^^^^^^^^^^^^^^^^
 9 | 
   `----

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): true
  | isSpaceBetweenTokens(left, right): true
  | isSpaceBetween(right, left): true
  | isSpaceBetweenTokens(right, left): true
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
    ,-[files/index.js:11:1]
 10 | // prettier-ignore
 11 | multipleSpaces   =   4;
    : ^^^^^^^^^^^^^^^^^^^^^^
 12 | 
    `----

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): true
  | isSpaceBetweenTokens(left, right): true
  | isSpaceBetween(right, left): true
  | isSpaceBetweenTokens(right, left): true
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
    ,-[files/index.js:14:1]
 13 |     // prettier-ignore
 14 | ,-> newlineBefore=
 15 | `-> 5;
 16 |     
    `----

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): true
  | isSpaceBetweenTokens(left, right): true
  | isSpaceBetween(right, left): true
  | isSpaceBetweenTokens(right, left): true
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
    ,-[files/index.js:18:1]
 17 |     // prettier-ignore
 18 | ,-> newlineAfter
 19 | `-> =6;
 20 |     
    `----

  x test-plugin(is-space-between):
  | isSpaceBetween(left, right): true
  | isSpaceBetweenTokens(left, right): true
  | isSpaceBetween(right, left): true
  | isSpaceBetweenTokens(right, left): true
  | isSpaceBetween(left, node): false
  | isSpaceBetweenTokens(left, node): false
  | isSpaceBetween(node, left): false
  | isSpaceBetweenTokens(node, left): false
  | isSpaceBetween(right, node): false
  | isSpaceBetweenTokens(right, node): false
  | isSpaceBetween(node, right): false
  | isSpaceBetweenTokens(node, right): false
    ,-[files/index.js:22:1]
 21 | // prettier-ignore
 22 | nested = 7 + 8;
    : ^^^^^^^^^^^^^^
 23 | 
    `----

  x test-plugin(is-space-between):
  | isSpaceBetween(node, binaryLeft): false
  | isSpaceBetweenTokens(node, binaryLeft): false
  | isSpaceBetween(binaryLeft, node): false
  | isSpaceBetweenTokens(binaryLeft, node): false
    ,-[files/index.js:22:1]
 21 | // prettier-ignore
 22 | nested = 7 + 8;
    : ^^^^^^^^^^^^^^
 23 | 
    `----

  x test-plugin(is-space-between):
  | isSpaceBetween(beforeString, afterString): false
  | isSpaceBetweenTokens(beforeString, afterString): false
  | isSpaceBetween(afterString, beforeString): false
  | isSpaceBetweenTokens(afterString, beforeString): false
    ,-[files/index.js:25:1]
 24 | // prettier-ignore
 25 | beforeString," ",afterString;
    : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    `----

  x test-plugin(is-space-between):
  | isSpaceBetween(openingElement, closingElement): false
  | isSpaceBetweenTokens(openingElement, closingElement): false
  | isSpaceBetween(closingElement, openingElement): false
  | isSpaceBetweenTokens(closingElement, openingElement): false
   ,-[files/index.jsx:1:1]
 1 | <Foo>aaa</Foo>;
   : ^^^^^^^^^^^^^^
 2 | 
   `----

  x test-plugin(is-space-between):
  | isSpaceBetween(openingElement, closingElement): false
  | isSpaceBetweenTokens(openingElement, closingElement): true
  | isSpaceBetween(closingElement, openingElement): false
  | isSpaceBetweenTokens(closingElement, openingElement): true
   ,-[files/index.jsx:3:1]
 2 | 
 3 | <Bar>b c</Bar>;
   : ^^^^^^^^^^^^^^
 4 | 
   `----

  x test-plugin(is-space-between):
  | isSpaceBetween(openingElement, closingElement): false
  | isSpaceBetweenTokens(openingElement, closingElement): true
  | isSpaceBetween(closingElement, openingElement): false
  | isSpaceBetweenTokens(closingElement, openingElement): true
   ,-[files/index.jsx:6:1]
 5 |     // prettier-ignore
 6 | ,-> <Qux>d
 7 | `-> e</Qux>;
   `----

Found 0 warnings and 13 errors.
Finished in Xms on 2 files with 1 rules using X threads.

stderr