Skip to content

Commit fd16ae2

Browse files
authored
Merge pull request #932 from Nyholm/8.14.x-modification
Add modification type in json output
2 parents 4eef6ea + a2919a4 commit fd16ae2

File tree

4 files changed

+17
-8
lines changed

4 files changed

+17
-8
lines changed

Resources/errors.schema.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@
5252
"type": "null"
5353
}
5454
]
55+
},
56+
"modificationType": {
57+
"type": "string"
5558
}
5659
},
5760
"required": [

src/Change.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ public function isSkipped(): bool
7171
return $this->modificationType === self::SKIPPED;
7272
}
7373

74+
public function getModificationType(): string
75+
{
76+
return $this->modificationType;
77+
}
78+
7479
/** @internal */
7580
public function withFilePositionsIfNotAlreadySet(
7681
string|null $file,

src/Formatter/JsonFormatter.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public function write(Changes $changes): void
3131
'path' => $change->file === null ? null : Str\replace($change->file, $basePath, ''),
3232
'line' => $change->line,
3333
'column' => $change->column,
34+
'modificationType' => $change->getModificationType(),
3435
];
3536
}
3637

test/unit/Formatter/JsonFormatterTest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@ public function testWrite(): void
6363

6464
$expected = [
6565
'errors' => [
66-
['description' => 'foo', 'path' => null, 'line' => null, 'column' => null],
67-
['description' => 'bar', 'path' => null, 'line' => null, 'column' => null],
68-
['description' => 'baz', 'path' => 'baz-file.php', 'line' => null, 'column' => null],
69-
['description' => 'tab', 'path' => 'tab-file.php', 'line' => 5, 'column' => null],
70-
['description' => 'taz', 'path' => 'taz-file.php', 'line' => 6, 'column' => 15],
71-
['description' => 'tar', 'path' => 'tar-file.php', 'line' => -1, 'column' => -1],
72-
['description' => 'file-in-checked-out-dir', 'path' => 'subpath/file-in-checked-out-dir.php', 'line' => 10, 'column' => 20],
66+
['description' => 'foo', 'path' => null, 'line' => null, 'column' => null, 'modificationType' => 'removed'],
67+
['description' => 'bar', 'path' => null, 'line' => null, 'column' => null, 'modificationType' => 'added'],
68+
['description' => 'baz', 'path' => 'baz-file.php', 'line' => null, 'column' => null, 'modificationType' => 'changed'],
69+
['description' => 'tab', 'path' => 'tab-file.php', 'line' => 5, 'column' => null, 'modificationType' => 'changed'],
70+
['description' => 'taz', 'path' => 'taz-file.php', 'line' => 6, 'column' => 15, 'modificationType' => 'changed'],
71+
['description' => 'tar', 'path' => 'tar-file.php', 'line' => -1, 'column' => -1, 'modificationType' => 'changed'],
72+
['description' => 'file-in-checked-out-dir', 'path' => 'subpath/file-in-checked-out-dir.php', 'line' => 10, 'column' => 20, 'modificationType' => 'changed'],
7373
],
7474
];
7575

@@ -86,7 +86,7 @@ public function testWrite(): void
8686

8787
self::assertJsonStringEqualsJsonString(
8888
<<<'OUTPUT'
89-
{"errors":[{"description":"foo","path":null,"line":null,"column":null},{"description":"bar","path":null,"line":null,"column":null},{"description":"baz","path":"baz-file.php","line":null,"column":null},{"description":"tab","path":"tab-file.php","line":5,"column":null},{"description":"taz","path":"taz-file.php","line":6,"column":15},{"description":"tar","path":"tar-file.php","line":-1,"column":-1},{"description":"file-in-checked-out-dir","path":"subpath\/file-in-checked-out-dir.php","line":10,"column":20}]}
89+
{"errors":[{"description":"foo","path":null,"line":null,"column":null,"modificationType":"removed"},{"description":"bar","path":null,"line":null,"column":null,"modificationType":"added"},{"description":"baz","path":"baz-file.php","line":null,"column":null,"modificationType":"changed"},{"description":"tab","path":"tab-file.php","line":5,"column":null,"modificationType":"changed"},{"description":"taz","path":"taz-file.php","line":6,"column":15,"modificationType":"changed"},{"description":"tar","path":"tar-file.php","line":-1,"column":-1,"modificationType":"changed"},{"description":"file-in-checked-out-dir","path":"subpath\/file-in-checked-out-dir.php","line":10,"column":20,"modificationType":"changed"}]}
9090

9191
OUTPUT
9292
,

0 commit comments

Comments
 (0)