2017-08-05 01:10:33 +02:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
|
|
|
|
// Don't emit type annotations in JavaScript files
|
|
|
|
// Also tests that single-variable return extractions don't get superfluous destructuring
|
|
|
|
|
|
|
|
// @allowNonTsExtensions: true
|
|
|
|
// @Filename: foo.js
|
|
|
|
//// function foo() {
|
|
|
|
//// var i = 10;
|
2017-10-13 02:55:33 +02:00
|
|
|
//// /*a*/return i + 1;/*b*/
|
2017-08-05 01:10:33 +02:00
|
|
|
//// }
|
|
|
|
|
|
|
|
goTo.select('a', 'b');
|
2017-08-25 18:53:28 +02:00
|
|
|
edit.applyRefactor({
|
2017-09-15 01:04:44 +02:00
|
|
|
refactorName: "Extract Symbol",
|
|
|
|
actionName: "function_scope_1",
|
2017-09-09 14:52:52 +02:00
|
|
|
actionDescription: "Extract to function in global scope",
|
2017-09-13 18:02:10 +02:00
|
|
|
newContent:
|
|
|
|
`function foo() {
|
2017-08-05 01:10:33 +02:00
|
|
|
var i = 10;
|
2017-10-13 02:55:33 +02:00
|
|
|
return /*RENAME*/newFunction(i);
|
2017-08-05 01:10:33 +02:00
|
|
|
}
|
2017-10-12 20:37:31 +02:00
|
|
|
|
2017-08-05 01:10:33 +02:00
|
|
|
function newFunction(i) {
|
2017-10-13 02:55:33 +02:00
|
|
|
return i + 1;
|
2017-08-05 01:10:33 +02:00
|
|
|
}
|
2017-09-13 18:02:10 +02:00
|
|
|
`
|
|
|
|
});
|