@gitwand/core 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/corpus.d.ts.map +1 -1
- package/dist/__tests__/corpus.js +29 -0
- package/dist/__tests__/corpus.js.map +1 -1
- package/dist/__tests__/golden-funnel.test.d.ts +44 -0
- package/dist/__tests__/golden-funnel.test.d.ts.map +1 -0
- package/dist/__tests__/golden-funnel.test.js +100 -0
- package/dist/__tests__/golden-funnel.test.js.map +1 -0
- package/dist/__tests__/imports-extended.test.js +21 -0
- package/dist/__tests__/imports-extended.test.js.map +1 -1
- package/dist/__tests__/llm-refactoring-coupling.test.d.ts +16 -0
- package/dist/__tests__/llm-refactoring-coupling.test.d.ts.map +1 -0
- package/dist/__tests__/llm-refactoring-coupling.test.js +100 -0
- package/dist/__tests__/llm-refactoring-coupling.test.js.map +1 -0
- package/dist/__tests__/patterns/insertion-at-boundary.test.js +35 -0
- package/dist/__tests__/patterns/insertion-at-boundary.test.js.map +1 -1
- package/dist/__tests__/patterns/token-level-merge.test.d.ts +2 -0
- package/dist/__tests__/patterns/token-level-merge.test.d.ts.map +1 -0
- package/dist/__tests__/patterns/token-level-merge.test.js +117 -0
- package/dist/__tests__/patterns/token-level-merge.test.js.map +1 -0
- package/dist/__tests__/patterns/value-only-change.test.js +134 -0
- package/dist/__tests__/patterns/value-only-change.test.js.map +1 -1
- package/dist/__tests__/patterns/whitespace-only.test.js +57 -0
- package/dist/__tests__/patterns/whitespace-only.test.js.map +1 -1
- package/dist/__tests__/refactoring/refactoring-pipeline.test.js +36 -0
- package/dist/__tests__/refactoring/refactoring-pipeline.test.js.map +1 -1
- package/dist/__tests__/regression-guard-tiers.test.d.ts +33 -0
- package/dist/__tests__/regression-guard-tiers.test.d.ts.map +1 -0
- package/dist/__tests__/regression-guard-tiers.test.js +81 -0
- package/dist/__tests__/regression-guard-tiers.test.js.map +1 -0
- package/dist/__tests__/resolver.test.js +18 -0
- package/dist/__tests__/resolver.test.js.map +1 -1
- package/dist/__tests__/resolvers/json.test.js +12 -3
- package/dist/__tests__/resolvers/json.test.js.map +1 -1
- package/dist/__tests__/stats/tiers.test.d.ts +16 -0
- package/dist/__tests__/stats/tiers.test.d.ts.map +1 -0
- package/dist/__tests__/stats/tiers.test.js +97 -0
- package/dist/__tests__/stats/tiers.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +2 -0
- package/dist/__tests__/types.test.d.ts.map +1 -0
- package/dist/__tests__/types.test.js +26 -0
- package/dist/__tests__/types.test.js.map +1 -0
- package/dist/classifier.d.ts.map +1 -1
- package/dist/classifier.js +7 -0
- package/dist/classifier.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/patterns/token-level-merge.d.ts +6 -0
- package/dist/patterns/token-level-merge.d.ts.map +1 -0
- package/dist/patterns/token-level-merge.js +149 -0
- package/dist/patterns/token-level-merge.js.map +1 -0
- package/dist/patterns/utils.d.ts +38 -1
- package/dist/patterns/utils.d.ts.map +1 -1
- package/dist/patterns/utils.js +171 -9
- package/dist/patterns/utils.js.map +1 -1
- package/dist/patterns/value-only-change.d.ts.map +1 -1
- package/dist/patterns/value-only-change.js +9 -5
- package/dist/patterns/value-only-change.js.map +1 -1
- package/dist/patterns/whitespace-only.d.ts.map +1 -1
- package/dist/patterns/whitespace-only.js +11 -2
- package/dist/patterns/whitespace-only.js.map +1 -1
- package/dist/refactoring/detect.d.ts.map +1 -1
- package/dist/refactoring/detect.js +72 -1
- package/dist/refactoring/detect.js.map +1 -1
- package/dist/resolver/assemble.d.ts.map +1 -1
- package/dist/resolver/assemble.js +40 -4
- package/dist/resolver/assemble.js.map +1 -1
- package/dist/resolver/index.d.ts.map +1 -1
- package/dist/resolver/index.js +8 -1
- package/dist/resolver/index.js.map +1 -1
- package/dist/resolvers/imports.d.ts.map +1 -1
- package/dist/resolvers/imports.js +20 -0
- package/dist/resolvers/imports.js.map +1 -1
- package/dist/stats/tiers.d.ts +30 -0
- package/dist/stats/tiers.d.ts.map +1 -0
- package/dist/stats/tiers.js +57 -0
- package/dist/stats/tiers.js.map +1 -0
- package/dist/types.d.ts +30 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import tokenLevelMerge from "../../patterns/token-level-merge.js";
|
|
3
|
+
import { classifyConflict } from "../../classifier.js";
|
|
4
|
+
function input(base, ours, theirs) {
|
|
5
|
+
return { baseLines: base, oursLines: ours, theirsLines: theirs, startLine: 1, endLine: base.length };
|
|
6
|
+
}
|
|
7
|
+
describe("token_level_merge : passe 1 — un seul côté change par ligne", () => {
|
|
8
|
+
it("2 lignes adjacentes, chacune changée par un côté différent → résout", () => {
|
|
9
|
+
const h = input(['<div class="flex items-baseline gap-x-2 mr-2">', '<label class="font-weight-bold">'], ['<div class="flex items-baseline gap-x-2 mr-2">', '<label class="font-bold">'], ['<div class="flex items-baseline space-x-2 mr-2">', '<label class="font-weight-bold">']);
|
|
10
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
it("3 lignes, ours change la 1ère, theirs change la 3ème, la 2ème est inchangée → résout", () => {
|
|
13
|
+
const h = input(["a 1", "b", "c 1"], ["a 2", "b", "c 1"], ["a 1", "b", "c 2"]);
|
|
14
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it("1 seule ligne changée par theirs, reste identique → résout (équivalent one_side_change local)", () => {
|
|
17
|
+
const h = input(["x", "y"], ["x", "y"], ["x", "z"]);
|
|
18
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
it("toutes les lignes changées, mais jamais les deux côtés sur la même ligne → résout", () => {
|
|
21
|
+
const h = input(["a", "b", "c"], ["a2", "b", "c"], ["a", "b", "c2"]);
|
|
22
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
it("aucune ligne changée (contexte pur) → résout trivialement (toutes les lignes = base)", () => {
|
|
25
|
+
const h = input(["a", "b"], ["a", "b"], ["a", "b"]);
|
|
26
|
+
expect(tokenLevelMerge.detect(h)).toBe(false); // rien à proposer — voir Step 3 (pass1Count===0 && pass2Count===0)
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe("token_level_merge : passe 2 — tokens disjoints sur une même ligne", () => {
|
|
30
|
+
it('class="a b" → ours change \'a\', theirs change \'b\' (tokens disjoints) → résout', () => {
|
|
31
|
+
const h = input(['<div class="a b">'], ['<div class="a2 b">'], ['<div class="a b2">']);
|
|
32
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
it("attribut différent en début et fin de balise, tokens disjoints → résout", () => {
|
|
35
|
+
const h = input(['<input type="text" name="foo" required>'], ['<input type="email" name="foo" required>'], ['<input type="text" name="foo" disabled>']);
|
|
36
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
it("deux lignes, chacune avec un conflit token-level résoluble → résout globalement", () => {
|
|
39
|
+
const h = input(['<div class="a b">', '<span id="x" data-foo="1">'], ['<div class="a2 b">', '<span id="x2" data-foo="1">'], ['<div class="a b2">', '<span id="x" data-foo="2">']);
|
|
40
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it("mélange passe 1 (ligne 1) + passe 2 (ligne 2) → résout", () => {
|
|
43
|
+
const h = input(["ctx", '<div class="a b">'], ["ctx-ours", '<div class="a2 b">'], ["ctx", '<div class="a b2">']);
|
|
44
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
45
|
+
});
|
|
46
|
+
it("changement de valeur numérique isolée, tokens disjoints par construction → résout", () => {
|
|
47
|
+
const h = input(["width: 10px; height: 20px;"], ["width: 15px; height: 20px;"], ["width: 10px; height: 25px;"]);
|
|
48
|
+
expect(tokenLevelMerge.detect(h)).toBe(true);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
describe("token_level_merge : cas négatifs — doit échouer et retomber sur complex", () => {
|
|
52
|
+
it("les deux côtés changent le MÊME token vers des valeurs différentes → échec", () => {
|
|
53
|
+
const h = input(['<div class="a b">'], ['<div class="a2 b">'], ['<div class="a3 b">']);
|
|
54
|
+
expect(tokenLevelMerge.detect(h)).toBe(false);
|
|
55
|
+
});
|
|
56
|
+
it("nombre de tokens différent entre ours et base sur une ligne en conflit → échec (pas de réalignement)", () => {
|
|
57
|
+
const h = input(['<div class="a b">'], ['<div class="a b c">'], ['<div class="a2 b">']);
|
|
58
|
+
expect(tokenLevelMerge.detect(h)).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
it("une ligne a un vrai conflit alors que les autres sont résolubles → échec global (pas de résolution partielle)", () => {
|
|
61
|
+
const h = input(["ok", '<div class="a b">'], ["ok-ours", '<div class="a2 b">'], ["ok", '<div class="a3 b">']);
|
|
62
|
+
expect(tokenLevelMerge.detect(h)).toBe(false);
|
|
63
|
+
});
|
|
64
|
+
it("pas de base (diff2) → échec (requires: diff3)", () => {
|
|
65
|
+
const h = input([], ['<div class="a2 b">'], ['<div class="a b2">']);
|
|
66
|
+
expect(tokenLevelMerge.detect(h)).toBe(false);
|
|
67
|
+
});
|
|
68
|
+
it("nombre de lignes différent entre base/ours/theirs → échec (pas d'alignement 1:1 possible)", () => {
|
|
69
|
+
const h = input(["a", "b"], ["a", "b", "c"], ["a", "b"]);
|
|
70
|
+
expect(tokenLevelMerge.detect(h)).toBe(false);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
describe("token_level_merge : cache keyed par référence (robustesse à l'entrelacement)", () => {
|
|
74
|
+
// Régression pour un finding de review : confidence()/explanation() lisaient
|
|
75
|
+
// un `_lastResult` "dernier calculé", correct uniquement si aucun detect()
|
|
76
|
+
// sur un AUTRE hunk ne s'intercale entre temps. Le cache est maintenant keyed
|
|
77
|
+
// par référence sur l'input — un hunk différent en entrée force un recalcul
|
|
78
|
+
// au lieu de retourner silencieusement le résultat d'un autre hunk.
|
|
79
|
+
it("explanation() sur le hunk B après detect() sur le hunk A ne retourne pas le résultat de A", () => {
|
|
80
|
+
const hunkA = input(['<div class="a b">'], ['<div class="a2 b">'], ['<div class="a b2">']); // pass1: 0, pass2: 1
|
|
81
|
+
const hunkB = input(["ctx", '<div class="a b">'], ["ctx-ours", '<div class="a2 b">'], ["ctx", '<div class="a b2">']); // pass1: 1, pass2: 1
|
|
82
|
+
expect(tokenLevelMerge.detect(hunkA)).toBe(true);
|
|
83
|
+
// Ni detect(hunkB) ni classifyConflict(hunkB) n'ont été appelés ici — on
|
|
84
|
+
// interroge directement explanation() sur hunkB. Avec un cache "dernier
|
|
85
|
+
// calculé" non keyed, ceci retournerait à tort le pass1Count de hunkA (0).
|
|
86
|
+
expect(tokenLevelMerge.explanation(hunkB)).toContain("1 ligne résolue");
|
|
87
|
+
// Et repasser sur hunkA doit toujours donner le résultat de hunkA, pas
|
|
88
|
+
// celui de hunkB qu'on vient d'interroger.
|
|
89
|
+
expect(tokenLevelMerge.explanation(hunkA)).toContain("0 lignes résolues");
|
|
90
|
+
});
|
|
91
|
+
it("explanation() sur un hunk jamais passé par detect() calcule quand même le bon résultat", () => {
|
|
92
|
+
const neverDetected = input(["ctx", '<div class="a b">'], ["ctx-ours", '<div class="a2 b">'], ["ctx", '<div class="a b2">']); // pass1: 1, pass2: 1
|
|
93
|
+
expect(tokenLevelMerge.explanation(neverDetected)).toContain("1 ligne résolue");
|
|
94
|
+
expect(tokenLevelMerge.explanation(neverDetected)).toContain("1 ligne fusionnée");
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe("token_level_merge : intégration classifier", () => {
|
|
98
|
+
it("classifie en token_level_merge et attache tokenMergeTrace", () => {
|
|
99
|
+
const h = input(['<div class="a b">'], ['<div class="a2 b">'], ['<div class="a b2">']);
|
|
100
|
+
const result = classifyConflict(h);
|
|
101
|
+
expect(result.type).toBe("token_level_merge");
|
|
102
|
+
expect(result.trace.tokenMergeTrace).not.toBeUndefined();
|
|
103
|
+
expect(result.trace.tokenMergeTrace?.mergedLines).toEqual(['<div class="a2 b2">']);
|
|
104
|
+
expect(result.trace.tokenMergeTrace?.pass2Count).toBe(1);
|
|
105
|
+
});
|
|
106
|
+
it("deux lignes, un vrai conflit token-level par ligne (both-sides-changed) → token_level_merge, pas non_overlapping", () => {
|
|
107
|
+
// Contrairement au cas "un seul côté par ligne" (déjà couvert par non_overlapping —
|
|
108
|
+
// vérifié empiriquement : LCS 3-way le résout sans notre pattern), ce cas a les DEUX
|
|
109
|
+
// côtés qui modifient chacune des deux lignes → non_overlapping échoue (chevauchement
|
|
110
|
+
// réel), seul token_level_merge peut le résoudre via la passe 2 (tokens disjoints).
|
|
111
|
+
const h = input(['<div class="a b">', '<label class="c d">'], ['<div class="a2 b">', '<label class="c d2">'], ['<div class="a b2">', '<label class="c2 d">']);
|
|
112
|
+
const result = classifyConflict(h);
|
|
113
|
+
expect(result.type).toBe("token_level_merge");
|
|
114
|
+
expect(result.trace.tokenMergeTrace?.pass2Count).toBe(2);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=token-level-merge.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-level-merge.test.js","sourceRoot":"","sources":["../../../src/__tests__/patterns/token-level-merge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -156,4 +156,138 @@ describe("value_only_change : cas qui ne doivent pas matcher", () => {
|
|
|
156
156
|
expect(result.hunks[0].type).not.toBe("value_only_change");
|
|
157
157
|
});
|
|
158
158
|
});
|
|
159
|
+
// ─── Extension diff3 + résolution semver-max ─────────────────────────────────
|
|
160
|
+
describe("value_only_change : extension diff3 (les deux côtés ont changé la valeur)", () => {
|
|
161
|
+
// Avant : requires "diff2" → le pattern était inatteignable dès que la base
|
|
162
|
+
// était présente (donc quasi mort dans le flux desktop où la base recovery
|
|
163
|
+
// enrichit tout en diff3) et le hunk tombait en complex.
|
|
164
|
+
it("classifie value_only_change en diff3 quand les deux côtés ont bumpé une version différemment", () => {
|
|
165
|
+
const input = [
|
|
166
|
+
`<<<<<<< ours`,
|
|
167
|
+
`"version": "1.4.0",`,
|
|
168
|
+
`||||||| base`,
|
|
169
|
+
`"version": "1.2.0",`,
|
|
170
|
+
`=======`,
|
|
171
|
+
`"version": "1.3.0",`,
|
|
172
|
+
`>>>>>>> theirs`,
|
|
173
|
+
].join("\n");
|
|
174
|
+
const result = resolve(input, "manifest.txt");
|
|
175
|
+
expect(result.hunks[0].type).toBe("value_only_change");
|
|
176
|
+
});
|
|
177
|
+
it("en diff3, un changement unilatéral reste pris par one_side_change (prio 30 < 60)", () => {
|
|
178
|
+
const input = [
|
|
179
|
+
`<<<<<<< ours`,
|
|
180
|
+
`"version": "1.2.0",`,
|
|
181
|
+
`||||||| base`,
|
|
182
|
+
`"version": "1.2.0",`,
|
|
183
|
+
`=======`,
|
|
184
|
+
`"version": "1.3.0",`,
|
|
185
|
+
`>>>>>>> theirs`,
|
|
186
|
+
].join("\n");
|
|
187
|
+
const result = resolve(input, "manifest.txt");
|
|
188
|
+
expect(result.hunks[0].type).toBe("one_side_change");
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
describe("value_only_change : résolution semver-max au lieu du côté-politique aveugle", () => {
|
|
192
|
+
// Régression : l'explication promettait « accepter la version la plus
|
|
193
|
+
// récente » mais la résolution prenait theirs par politique — probe P4 :
|
|
194
|
+
// ours=1.4.0, theirs=1.3.0 → 1.3.0 gagnait. Quand toutes les paires de
|
|
195
|
+
// tokens différents sont des semver comparables, le côté le plus élevé
|
|
196
|
+
// doit gagner, quel que soit le côté.
|
|
197
|
+
it("ours=1.4.0 vs theirs=1.3.0 → prend ours (le plus élevé)", () => {
|
|
198
|
+
const input = [
|
|
199
|
+
`<<<<<<< ours`,
|
|
200
|
+
`"version": "1.4.0",`,
|
|
201
|
+
`=======`,
|
|
202
|
+
`"version": "1.3.0",`,
|
|
203
|
+
`>>>>>>> theirs`,
|
|
204
|
+
].join("\n");
|
|
205
|
+
const result = resolve(input, "manifest.txt");
|
|
206
|
+
expect(result.hunks[0].type).toBe("value_only_change");
|
|
207
|
+
expect(result.resolutions[0].resolvedLines).toEqual([`"version": "1.4.0",`]);
|
|
208
|
+
});
|
|
209
|
+
it("ours=1.3.0 vs theirs=2.0.0 → prend theirs (le plus élevé)", () => {
|
|
210
|
+
const input = [
|
|
211
|
+
`<<<<<<< ours`,
|
|
212
|
+
`"version": "1.3.0",`,
|
|
213
|
+
`=======`,
|
|
214
|
+
`"version": "2.0.0",`,
|
|
215
|
+
`>>>>>>> theirs`,
|
|
216
|
+
].join("\n");
|
|
217
|
+
const result = resolve(input, "manifest.txt");
|
|
218
|
+
expect(result.resolutions[0].resolvedLines).toEqual([`"version": "2.0.0",`]);
|
|
219
|
+
});
|
|
220
|
+
it("valeurs non-semver (hashes) → côté politique comme avant", () => {
|
|
221
|
+
const input = [
|
|
222
|
+
`<<<<<<< ours`,
|
|
223
|
+
`integrity: "a1b2c3d4e5f6789",`,
|
|
224
|
+
`=======`,
|
|
225
|
+
`integrity: "f6e5d4c3b2a1987",`,
|
|
226
|
+
`>>>>>>> theirs`,
|
|
227
|
+
].join("\n");
|
|
228
|
+
const result = resolve(input, "manifest.txt");
|
|
229
|
+
expect(result.hunks[0].type).toBe("value_only_change");
|
|
230
|
+
// Politique par défaut : theirs
|
|
231
|
+
expect(result.resolutions[0].resolvedLines).toEqual([`integrity: "f6e5d4c3b2a1987",`]);
|
|
232
|
+
});
|
|
233
|
+
it("l'explication ne prétend plus que theirs est « la plus récente »", () => {
|
|
234
|
+
const input = [
|
|
235
|
+
`<<<<<<< ours`,
|
|
236
|
+
`"version": "1.4.0",`,
|
|
237
|
+
`=======`,
|
|
238
|
+
`"version": "1.3.0",`,
|
|
239
|
+
`>>>>>>> theirs`,
|
|
240
|
+
].join("\n");
|
|
241
|
+
const result = resolve(input, "manifest.txt");
|
|
242
|
+
expect(result.hunks[0].explanation).not.toContain("la plus récente (theirs)");
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
// ─── Tokens quotés multi-mots (timestamp) + résolution timestamp-max ─────────
|
|
246
|
+
describe("value_only_change : valeurs volatiles multi-mots à l'intérieur de quotes", () => {
|
|
247
|
+
// Cas réel n°1 du corpus dendreo (config/dendreo.php 'last_update', récurrent
|
|
248
|
+
// sur 16+ merges) : un timestamp quoté contient un espace — la tokenization
|
|
249
|
+
// par défaut le splitte en "2026-07-06" + "11:42:00" et aucun fragment ne
|
|
250
|
+
// matche la regex datetime → le hunk tombait en complex. La tokenization
|
|
251
|
+
// quote-aware garde le contenu quoté atomique.
|
|
252
|
+
const input = [
|
|
253
|
+
`<<<<<<< ours`,
|
|
254
|
+
` 'last_update' => '2026-07-07 17:29:00',`,
|
|
255
|
+
`||||||| base`,
|
|
256
|
+
` 'last_update' => '2026-07-06 11:42:00',`,
|
|
257
|
+
`=======`,
|
|
258
|
+
` 'last_update' => '2026-07-06 09:36:00',`,
|
|
259
|
+
`>>>>>>> theirs`,
|
|
260
|
+
].join("\n");
|
|
261
|
+
it("classifie value_only_change (timestamp quoté modifié des deux côtés, diff3)", () => {
|
|
262
|
+
const result = resolve(input, "config/app.php");
|
|
263
|
+
expect(result.hunks[0].type).toBe("value_only_change");
|
|
264
|
+
});
|
|
265
|
+
it("résout en gardant le timestamp le plus tardif (ours ici)", () => {
|
|
266
|
+
const result = resolve(input, "config/app.php");
|
|
267
|
+
expect(result.resolutions[0].autoResolved).toBe(true);
|
|
268
|
+
expect(result.resolutions[0].resolvedLines).toEqual([` 'last_update' => '2026-07-07 17:29:00',`]);
|
|
269
|
+
});
|
|
270
|
+
it("theirs plus tardif → theirs gagne", () => {
|
|
271
|
+
const flipped = [
|
|
272
|
+
`<<<<<<< ours`,
|
|
273
|
+
` 'last_update' => '2026-07-06 09:36:00',`,
|
|
274
|
+
`=======`,
|
|
275
|
+
` 'last_update' => '2026-07-07 17:29:00',`,
|
|
276
|
+
`>>>>>>> theirs`,
|
|
277
|
+
].join("\n");
|
|
278
|
+
const result = resolve(flipped, "config/app.php");
|
|
279
|
+
expect(result.resolutions[0].resolvedLines).toEqual([` 'last_update' => '2026-07-07 17:29:00',`]);
|
|
280
|
+
});
|
|
281
|
+
it("contenus quotés non volatils (phrases) → ne matche pas", () => {
|
|
282
|
+
const prose = [
|
|
283
|
+
`<<<<<<< ours`,
|
|
284
|
+
` 'title' => 'Bonjour tout le monde',`,
|
|
285
|
+
`=======`,
|
|
286
|
+
` 'title' => 'Salut la compagnie',`,
|
|
287
|
+
`>>>>>>> theirs`,
|
|
288
|
+
].join("\n");
|
|
289
|
+
const result = resolve(prose, "config/app.php");
|
|
290
|
+
expect(result.hunks[0].type).not.toBe("value_only_change");
|
|
291
|
+
});
|
|
292
|
+
});
|
|
159
293
|
//# sourceMappingURL=value-only-change.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-only-change.test.js","sourceRoot":"","sources":["../../../src/__tests__/patterns/value-only-change.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"value-only-change.test.js","sourceRoot":"","sources":["../../../src/__tests__/patterns/value-only-change.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -174,4 +174,61 @@ describe("whitespace_only : cas qui ne doivent pas matcher", () => {
|
|
|
174
174
|
expect(result.hunks[0].type).toBe("same_change");
|
|
175
175
|
});
|
|
176
176
|
});
|
|
177
|
+
// ─── Garde string-literal : le whitespace DANS une string est sémantique ─────
|
|
178
|
+
describe("whitespace_only : différences de whitespace à l'intérieur de string literals", () => {
|
|
179
|
+
// Régression : `"hello world"` vs `"hello world"` était classé
|
|
180
|
+
// whitespace_only et auto-résolu en écrasant l'un des deux contenus — or le
|
|
181
|
+
// whitespace dans une string literal est de la DONNÉE, pas de la mise en
|
|
182
|
+
// forme. Le pattern ne doit matcher que si les segments quotés sont
|
|
183
|
+
// strictement identiques des deux côtés.
|
|
184
|
+
it("ne classifie PAS whitespace_only quand seule une string literal diffère (diff2)", () => {
|
|
185
|
+
const input = [
|
|
186
|
+
`<<<<<<< ours`,
|
|
187
|
+
`msg = "hello world"`,
|
|
188
|
+
`=======`,
|
|
189
|
+
`msg = "hello world"`,
|
|
190
|
+
`>>>>>>> theirs`,
|
|
191
|
+
].join("\n");
|
|
192
|
+
const result = resolve(input, "src/utils.ts");
|
|
193
|
+
expect(result.hunks[0].type).not.toBe("whitespace_only");
|
|
194
|
+
expect(result.resolutions[0].autoResolved).toBe(false);
|
|
195
|
+
});
|
|
196
|
+
it("ne classifie PAS whitespace_only quand une template literal diffère (diff3)", () => {
|
|
197
|
+
const input = [
|
|
198
|
+
`<<<<<<< ours`,
|
|
199
|
+
"const s = `a b`;",
|
|
200
|
+
`||||||| base`,
|
|
201
|
+
"const s = `a b`;",
|
|
202
|
+
`=======`,
|
|
203
|
+
"const s = `a b`;".replace("a b", "a b"), // theirs == base, mais ours a changé LA STRING
|
|
204
|
+
`>>>>>>> theirs`,
|
|
205
|
+
].join("\n");
|
|
206
|
+
const result = resolve(input, "src/utils.ts");
|
|
207
|
+
// one_side_change (prio 30) peut légitimement le prendre — l'important est
|
|
208
|
+
// que whitespace_only ne l'écrase pas en préférant un côté au hasard.
|
|
209
|
+
expect(["one_side_change", "complex"]).toContain(result.hunks[0].type);
|
|
210
|
+
});
|
|
211
|
+
it("classifie toujours whitespace_only quand les strings sont identiques et seule l'indentation diffère", () => {
|
|
212
|
+
const input = [
|
|
213
|
+
`<<<<<<< ours`,
|
|
214
|
+
` log("hello world");`,
|
|
215
|
+
`=======`,
|
|
216
|
+
` log("hello world");`,
|
|
217
|
+
`>>>>>>> theirs`,
|
|
218
|
+
].join("\n");
|
|
219
|
+
const result = resolve(input, "src/utils.ts");
|
|
220
|
+
expect(result.hunks[0].type).toBe("whitespace_only");
|
|
221
|
+
});
|
|
222
|
+
it("classifie toujours whitespace_only avec apostrophe dans un commentaire (pas une vraie string)", () => {
|
|
223
|
+
const input = [
|
|
224
|
+
`<<<<<<< ours`,
|
|
225
|
+
` doIt(); // c'est bon`,
|
|
226
|
+
`=======`,
|
|
227
|
+
` doIt(); // c'est bon`,
|
|
228
|
+
`>>>>>>> theirs`,
|
|
229
|
+
].join("\n");
|
|
230
|
+
const result = resolve(input, "src/utils.ts");
|
|
231
|
+
expect(result.hunks[0].type).toBe("whitespace_only");
|
|
232
|
+
});
|
|
233
|
+
});
|
|
177
234
|
//# sourceMappingURL=whitespace-only.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whitespace-only.test.js","sourceRoot":"","sources":["../../../src/__tests__/patterns/whitespace-only.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"whitespace-only.test.js","sourceRoot":"","sources":["../../../src/__tests__/patterns/whitespace-only.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,6 +137,42 @@ describe("detectRefactorings", () => {
|
|
|
137
137
|
// pipeline ne crashe pas et retourne un tableau
|
|
138
138
|
expect(Array.isArray(refs)).toBe(true);
|
|
139
139
|
});
|
|
140
|
+
// F-R06b : pas de refactoring — valeurs de string literal changées, pas des identifiants
|
|
141
|
+
it("F-R06b : ignore les identifiants apparaissant à l'intérieur de string literals (bug tokenizer v2.6)", () => {
|
|
142
|
+
// "info"→"warn" et "text"→"json" ressemblent à des renames bijectifs si on
|
|
143
|
+
// tokenize sans respecter les guillemets — ce sont des VALEURS, pas du code
|
|
144
|
+
// renommé. IDENT_RE ne doit matcher que du code réel, jamais l'intérieur
|
|
145
|
+
// d'un string/template literal.
|
|
146
|
+
const base = [` level: "info",`, ` format: "text",`];
|
|
147
|
+
const branch = [` level: "warn",`, ` format: "json",`];
|
|
148
|
+
const refs = detectRefactorings(base, branch);
|
|
149
|
+
expect(refs).toHaveLength(0);
|
|
150
|
+
});
|
|
151
|
+
// F-R06c : pas de refactoring — mot changé dans un commentaire ligne
|
|
152
|
+
it("F-R06c : ignore les identifiants apparaissant dans un commentaire // (même classe de bug que F-R06b)", () => {
|
|
153
|
+
const base = ["const x = 1; // use info level"];
|
|
154
|
+
const branch = ["const x = 1; // use warn level"];
|
|
155
|
+
const refs = detectRefactorings(base, branch);
|
|
156
|
+
expect(refs).toHaveLength(0);
|
|
157
|
+
});
|
|
158
|
+
// F-R06d : pas de refactoring — mot changé dans un commentaire bloc multi-lignes
|
|
159
|
+
it("F-R06d : ignore les identifiants dans un commentaire /* */ multi-lignes", () => {
|
|
160
|
+
const base = ["/* logger set to", " info by default */", "const x = 1;"];
|
|
161
|
+
const branch = ["/* logger set to", " warn by default */", "const x = 1;"];
|
|
162
|
+
const refs = detectRefactorings(base, branch);
|
|
163
|
+
expect(refs).toHaveLength(0);
|
|
164
|
+
});
|
|
165
|
+
// F-R06e : un // à l'intérieur d'une string ne démarre PAS un commentaire
|
|
166
|
+
it("F-R06e : un rename réel après une string contenant // est toujours détecté", () => {
|
|
167
|
+
// Si le `//` de l'URL était pris pour un début de commentaire, `foo(alpha)`
|
|
168
|
+
// serait masqué et le rename alpha→beta passerait inaperçu.
|
|
169
|
+
const base = [`const u = "http://x"; foo(alpha);`];
|
|
170
|
+
const branch = [`const u = "http://x"; foo(beta);`];
|
|
171
|
+
const refs = detectRefactorings(base, branch);
|
|
172
|
+
expect(refs).toHaveLength(1);
|
|
173
|
+
expect(refs[0].oldName).toBe("alpha");
|
|
174
|
+
expect(refs[0].newName).toBe("beta");
|
|
175
|
+
});
|
|
140
176
|
});
|
|
141
177
|
// ─── Section B : invertRefactorings + replayRefactorings ─────────────────────
|
|
142
178
|
describe("invertRefactorings + replayRefactorings", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactoring-pipeline.test.js","sourceRoot":"","sources":["../../../src/__tests__/refactoring/refactoring-pipeline.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"refactoring-pipeline.test.js","sourceRoot":"","sources":["../../../src/__tests__/refactoring/refactoring-pipeline.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Garde de régression pour la métrique "recoverable-before-model" (v2.7).
|
|
3
|
+
*
|
|
4
|
+
* Design: docs/superpowers/specs/2026-07-07-recoverable-before-model-metric-design.md §4.C
|
|
5
|
+
*
|
|
6
|
+
* Intention du design doc : `countReachingModel(corpus, { pattern: on }) ≤
|
|
7
|
+
* countReachingModel(corpus, { pattern: off })`, pour transformer la métrique
|
|
8
|
+
* en garde-fou — un nouveau pattern déterministe qui ne réduit jamais le
|
|
9
|
+
* bucket AI-reachable est redondant ou masqué par un pattern de priorité
|
|
10
|
+
* plus basse.
|
|
11
|
+
*
|
|
12
|
+
* Contrainte réelle de `token_level_merge` : ce n'est PAS un opt-in (toujours
|
|
13
|
+
* dans `PATTERNS`, priority 65 — cf. packages/core/CLAUDE.md, "dérogation
|
|
14
|
+
* délibérée"). Il n'existe donc pas de flag `{ token_level_merge: off }` à
|
|
15
|
+
* passer à `resolve()`. On ne peut pas littéralement A/B tester le pipeline.
|
|
16
|
+
*
|
|
17
|
+
* Surrogate utilisé ici, dérivé de l'ordre de priorité (classifier.ts,
|
|
18
|
+
* `65 < 970 < 998 < 999`) : un hunk classifié `token_level_merge` a par
|
|
19
|
+
* construction déjà échoué tous les patterns triviaux (priority 10–60) — s'il
|
|
20
|
+
* n'existait pas, la classification continuerait vers `refactoring_aware_merge`
|
|
21
|
+
* (970, désactivé ici) puis `llm_proposed`/`complex` (998/999). Donc, sans
|
|
22
|
+
* `refactoringAware` activé, chaque hunk réellement capturé par
|
|
23
|
+
* `token_level_merge` serait tombé dans le bucket model/unresolved en son
|
|
24
|
+
* absence. `countReachingModel(off)` hypothétique = `countReachingModel(on)`
|
|
25
|
+
* + (nombre de hunks classifiés `token_level_merge`).
|
|
26
|
+
*
|
|
27
|
+
* Ça rend le test non-tautologique : si `token_level_merge` cesse de capturer
|
|
28
|
+
* quoi que ce soit dans le corpus (pattern cassé, masqué par un pattern
|
|
29
|
+
* inséré à une priorité plus basse, detect() régressé), `tokenLevelMergeCount`
|
|
30
|
+
* tombe à 0 et l'assertion stricte échoue.
|
|
31
|
+
*/
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=regression-guard-tiers.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regression-guard-tiers.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/regression-guard-tiers.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
|