2.2.0 β€’ Published 7 years ago

vscode-test-get-content v2.2.0

Weekly downloads
8
License
MIT
Repository
github
Last release
7 years ago

vscode-test-get-content Build Status

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

This helper is designed to be used in VSCode tests / extensions only.

Usage

Simply getting the editor's content:

const vscode = vscode = require( 'vscode' ),
	getContent = require( 'vscode-test-get-content' );

vscode.workspace.openTextDocument( __dirname + '/_fixtures/myFancyFile.txt' )
	.then( ( doc ) => {
		return vscode.window.showTextDocument( doc );
	} )
	.then( textEditor => {
		assert.equal( getContent( textEditor ), 'let text = "hello world!";' );
	} );

Getting the content with selections:

const vscode = vscode = require( 'vscode' ),
	getContent = require( 'vscode-test-get-content' );

vscode.workspace.openTextDocument( __dirname + '/_fixtures/myFancyFile.txt' )
	.then( ( doc ) => {
		return vscode.window.showTextDocument( doc );
	} )
	.then( textEditor => {
		// [, ], { and } characters mark a ranged selection.
		textEditor.selection = new vscode.Selection( 0, 4, 0, 8 );
		assert.equal( getContent.withSelection( textEditor ), 'let [text} = "hello world!";' );
	} );

Options

Both main getContent and withSelection methods take optional options object as a second argument.

  • options.normalizeEol - Boolean - Whether to change Windows-style end of line characters, to Unix-style. Defaults to true.
  • options.caret - String - Character used to represent caret (collapsed selection). Defaults to "^".
  • options.anchor.start - String - Selection anchor open character. Defaults to "[".
  • options.anchor.end - String - Selection anchor close character. Defaults to "]".
  • options.active.start - String - Selection active part open character. Defaults to "{".
  • options.active.end - String - Selection active part close character. Defaults to "}".

Selection Markers

There are three selection markers:

  • ^ - Marks a collapsed selection. This is ^random text
  • [, ] - Marks a ranged selection anchor point, so the place where ranged selection is started. This [is random} text
  • {, } - Marks a ranged selection active point, so the place selection ends. This [is random} text

Markers Customization

If the default makers collide with your test case, you can use custom markers by passing options object, just like below:

const vscode = vscode = require( 'vscode' ),
	getContent = require( 'vscode-test-get-content' );

vscode.workspace.openTextDocument( __dirname + '/_fixtures/myFancyFile.txt' )
	.then( ( doc ) => {
		return vscode.window.showTextDocument( doc );
	} )
	.then( textEditor => {
		let options = {
			caret: 'πŸ•',
			active: {
				start: 'πŸš’',
				end: 'πŸš’'
			},
			anchor: {
				start: 'πŸ¦„',
				end: 'πŸ¦„'
			}
		};

		textEditor.selection = new vscode.Selection( 0, 4, 0, 8 ); // Select "text"" word.
		assert.equal( getContent.withSelection( textEditor, options ), 'let πŸ¦„textπŸš’ = "hello world!";' );
	} );

Related

If you need to easily set your content with or without selection, be sure to check vscode-test-set-content package. It follows the same idea, and allows you to set the content and selection in similarly easy way.

2.2.0

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.0

7 years ago