Home

Awesome

vscode-test-set-content Build Status

Provides a set of helper functions for setting the content of the Visual Studio Code instance.

Usage

const setContent = require( 'vscode-test-set-content' );

setContent( 'Fancy content!' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'Fancy content!' );
        // You'd want to continue your assertions here.
    } );

Setting the content with a collapsed selection (^):

setContent.withSelection( 'Put a collapsed selection here ^' )
    .then( textEditor => {
        // Sets editor's content to "Put a collapsed selection here " and puts a collapsed selection at the end.
    } );

Setting the content with a ranged selection ([, ], {, }):

setContent.withSelection( 'Fancy [content}!' )
    .then( textEditor => {
        // Now you have textEditor with "Fancy content!", where "content" word is selected.
    } );

Markers

Customizing Markers

If the default markers collide with your use case, you can customize it.

const setContent = require( 'vscode-test-set-content' );

setContent.withSelection( 'let πŸ¦„foo = () => { πŸ•returnπŸš’ []; };', {
        caret: 'πŸ¦„',
        anchor: {
            start: 'πŸ•',
            end: 'πŸ™ˆ'
        },
        active: {
            start: '🀦',
            end: 'πŸš’'
        }
    } )
    .then( textEditor => {
        // Sets editor content to "let foo = () => { return []; };" with caret before "foo", and "return" selected.
    } );

Limitations

Related

If you need to easily get your content with or without selection, be sure to check vscode-test-get-content package.