Bug (previous behavior):
1.Press Ctrl+Shift+F to open the search panel.
2.Enter any text into the search input.
3.Press PageUp/PageDown.
4.The layout shifts to the right, hiding the line that indicates the current tab in the activity bar.
Solution:
When search results are displayed, pressing PageUp or PageDown now moves the cursor to the start or end of the search input, respectively. This is achieved by assigning specific functionality to these keys, overriding their default behavior of moving through the page.
Testing:
A smoke test was implemented to assess the fix. The test involves entering text into the search editor, pressing the PageUp and PageDown keys, and checking for any changes in the activity bar's layout.
* add `ListenerRefusalError` and `ListenerLeakError` which get logged when listener thresholds are exceeded.
The `stack` property of these errors will point towards the most frequent listener and how often it is used. If that's a high number there is a leak (same listener is added over and over again), if that's a low number there might be a conceptual flaw that an emitter is simply too prominent.
* rightfully don't use Error.captureStackTrace (v8/nodejs only)
- Som more tweaks to our own runner scripts to allow asking for the
generated coverage formats.
- Add actions alongside debug/run for executing coverage profiles
- Finish with displaying function coverage stats in Coverage view,
allow changing its sort order.
Fixes#200529Fixes#199380
- Allow coverage bar color thresholds to be configurable as the Java
folks requested.
- Update some of our scripts for integration into
the selfhost test runner.
- Initial parts of showing function coverage in the Test Coverage view.
(Still a work in progress, more tomorrow)
* snippet completions should also check with the completion model
this will allow to return "more" from the snippet completion item provider and rely on the completions model to do some filtering
* when debugging tests allow to use console.log
* fix https://github.com/microsoft/vscode/issues/191070
This adds an `assertHeap` function that can be used in tests. It
takes a heap snapshot, and asserts the state of classes in memory. This
works in Node and the Electron sandbox, but is a no-op in the browser.
Snapshots are process asynchronously and will report failures at the end
of the suite.
This method should be used sparingly (e.g. once at the end of a suite to
ensure nothing leaked before), as gathering a heap snapshot is fairly
slow, at least until V8 11.5.130 (https://v8.dev/blog/speeding-up-v8-heap-snapshots).
When used, the function will ensure the test has a minimum timeout
duration of 20s to avoid immediate failures.
It takes options containing a mapping of class names, and assertion functions
to run on the number of retained instances of that class. For example:
```ts
assertSnapshot({
classes: {
ShouldNeverLeak: count => assert.strictEqual(count, 0),
SomeSingleton: count => assert(count <= 1),
}
});
```
Closes https://github.com/microsoft/vscode/issues/191920