fix: recursive source map resolution parsing ignored locations (#1578)
* fix: recursive source map resolution parsing ignored locations Fixes https://github.com/microsoft/vscode/issues/169733 * fix long-standing test flake
This commit is contained in:
Родитель
46c6e8751c
Коммит
b208586d8e
|
@ -5,6 +5,7 @@ This changelog records changes to stable releases since 1.50.2. "TBA" changes he
|
|||
## Nightly (only)
|
||||
|
||||
- fix: repl stacktrace with renames showing too much info ([#1259](https://github.com/microsoft/vscode-js-debug/issues/1259#issuecomment-1409443564))
|
||||
- fix: recursive source map resolution parsing ignored locations ([vscode#169733](https://github.com/microsoft/vscode/issues/169733))
|
||||
|
||||
## v1.76 (February 2023)
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*--------------------------------------------------------*/
|
||||
|
||||
import { expect } from 'chai';
|
||||
import { delay } from '../../common/promiseUtil';
|
||||
import { delay, getDeferred } from '../../common/promiseUtil';
|
||||
import { ReservationQueue } from './reservationQueue';
|
||||
|
||||
describe('ReservationQueue', () => {
|
||||
|
@ -28,9 +28,22 @@ describe('ReservationQueue', () => {
|
|||
});
|
||||
|
||||
it('enqueues async with order', async () => {
|
||||
queue.enqueue(delay(6).then(() => 1));
|
||||
queue.enqueue(delay(2).then(() => 2));
|
||||
queue.enqueue(delay(4).then(() => 3));
|
||||
const gate1 = getDeferred<void>();
|
||||
const gate2 = getDeferred<void>();
|
||||
|
||||
queue.enqueue(gate2.promise.then(() => 1));
|
||||
queue.enqueue(
|
||||
delay(1).then(() => {
|
||||
gate1.resolve();
|
||||
return 2;
|
||||
}),
|
||||
);
|
||||
queue.enqueue(
|
||||
gate1.promise.then(() => {
|
||||
gate2.resolve();
|
||||
return 3;
|
||||
}),
|
||||
);
|
||||
await delay(10);
|
||||
expect(sunk).to.deep.equal([[1, 2, 3]]);
|
||||
});
|
||||
|
|
|
@ -1124,6 +1124,17 @@ export class SourceContainer {
|
|||
sourceMapUrl = rawSmUri;
|
||||
}
|
||||
}
|
||||
|
||||
if (absolutePath && sourceMapUrl) {
|
||||
const smMetadata: ISourceMapMetadata = {
|
||||
sourceMapUrl,
|
||||
compiledPath: absolutePath,
|
||||
};
|
||||
|
||||
if (!this.sourcePathResolver.shouldResolveSourceMap(smMetadata)) {
|
||||
sourceMapUrl = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const source = new SourceFromMap(
|
||||
|
|
Загрузка…
Ссылка в новой задаче