Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mlewand-org/vscode-test-content
Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.
https://github.com/mlewand-org/vscode-test-content
Last synced: 3 months ago
JSON representation
Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.
- Host: GitHub
- URL: https://github.com/mlewand-org/vscode-test-content
- Owner: mlewand-org
- License: mit
- Created: 2017-02-19T22:29:00.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-26T11:31:38.000Z (almost 8 years ago)
- Last Synced: 2024-09-15T03:47:23.412Z (4 months ago)
- Language: JavaScript
- Size: 19.5 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-vscode-cn - vscode-test-content - A method to set/get editor content, and it's selection. Especially useful for unit tests. (Libraries / [Shades of Purple by Ahmad Awais](https://vscodethemes.com/e/ahmadawais.shades-of-purple))
- -awesome-vscode - vscode-test-content - A method to set/get editor content, and it's selection. Especially useful for unit tests. (Libraries / [Niketa Theme by Dejan Toteff](https://vscodethemes.com/e/selfrefactor.niketa-theme))
- awesome-vscode - vscode-test-content - A method to set/get editor content, and it's selection. Especially useful for unit tests. (Libraries / [Niketa Theme by Dejan Toteff](https://vscodethemes.com/e/selfrefactor.niketa-theme))
- awesome-vscode - vscode-test-content - A method to set/get editor content, and it's selection. Especially useful for unit tests. (Libraries / [Niketa Theme by Dejan Toteff](https://vscodethemes.com/e/selfrefactor.niketa-theme))
- awesome-vscode-zh - vscode-test-content
README
# vscode-test-content [![Build Status](https://travis-ci.org/mlewand-org/vscode-test-content.svg?branch=master)](https://travis-ci.org/mlewand-org/vscode-test-content) [![Build status](https://ci.appveyor.com/api/projects/status/c3p3qchaknq6mr5e?svg=true&passingText=master%20%E2%9C%93)](https://ci.appveyor.com/project/mlewand-travis/vscode-test-content)
Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.
## Usage
### Getting editor content
```javascript
const vscodeTestContent = require( 'vscode-test-content' );// Get the content without selection:
vscodeTestContent.get( editor );
// Returns: 'What a great selection!'// Get the content including selection:
vscodeTestContent.getWithSelection( editor );
// 'What a [great} selection!'
```### Setting editor content
```javascript
const vscodeTestContent = require( 'vscode-test-content' );// Setting the content without selection:
vscodeTestContent.set( 'foobar' )
.then( textEditor => {
assert.equal( textEditor.document.lineAt( 0 ).text, 'foobar' );
} );// Setting the content with a collapsed selection ('^'):
vscodeTestContent.setWithSelection( 'Put a collapsed selection here ^' )
.then( textEditor => {
assert.equal( textEditor.document.lineAt( 0 ).text, 'Put a collapsed selection here ' );
assert.equal( textEditor.selection.isEmpty, true );
assert.equal( textEditor.selection.start.character, 31 );
} );// Setting the content with a ranged selection ('[', ']', '{', '}'):
vscodeTestContent.setWithSelection( 'Fancy [content}!' )
.then( textEditor => {
assert.equal( textEditor.document.lineAt( 0 ).text, 'Fancy content!' );
assert.equal( textEditor.selection.isEmpty, false );
assert.equal( textEditor.selection.start.character, 6 );
assert.equal( textEditor.selection.end.character, 13 );
assert.equal( textEditor.selection.active, textEditor.selection.end );
} );
```For more information, see [vscode-test-set-content](https://github.com/mlewand-org/vscode-test-set-content/) project.
## Markers
* Collapsed:
* `^` - Simply marks where the selection caret should be.
* Ranged:
* `[`, `]` - Marks where selection _anchor_ opening or close should be. Anchor is a position where the selection was started.
* `{`, `}` - Marks where selection _active_ opening or close should be.Active part is the part where the selection ended, and it's the point from which the selection is continued from if you continue to enlarge the selection.
### Marker Customization
It's possible to use custom marker characters. See [vscode-test-set-content docs](https://github.com/mlewand-org/vscode-test-set-content/#customizing-markers) for more details.
## Limitations
* Nested and intersecting ranges are not handled, since those are not handled in VSCode itself as of version 1.9.1.