2017-08-05 01:10:33 +02:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
|
|
|
|
// You cannot extract a function initializer into the function's body.
|
2017-09-15 01:04:44 +02:00
|
|
|
// The innermost scope (function_scope_0) is the sibling of the function, not the function itself.
|
2017-08-05 01:10:33 +02:00
|
|
|
|
2017-09-15 19:45:15 +02:00
|
|
|
//// function fn(x = /*a*/3/*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_0",
|
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 fn(x = /*RENAME*/newFunction()) {
|
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() {
|
2017-09-15 19:45:15 +02:00
|
|
|
return 3;
|
2017-08-05 01:10:33 +02:00
|
|
|
}
|
2017-09-13 18:02:10 +02:00
|
|
|
`
|
|
|
|
});
|