TypeScript/tests/cases/fourslash/extract-method5.ts

25 lines
651 B
TypeScript
Raw Normal View History

2017-08-05 01:10:33 +02:00
/// <reference path='fourslash.ts' />
// Extraction in the context of a contextual
// type needs to produce an explicit return type
// annotation in the extracted function
//// function f() {
//// var x: 1 | 2 | 3 = /*start*/1 + 1 === 2 ? 1 : 2/*end*/;
2017-08-05 01:10:33 +02:00
//// }
goTo.select('start', 'end');
edit.applyRefactor({
refactorName: "Extract Symbol",
actionName: "function_scope_0",
actionDescription: "Extract to inner function in function 'f'",
newContent:
2017-08-05 01:10:33 +02:00
`function f() {
var x: 1 | 2 | 3 = /*RENAME*/newFunction();
2017-08-05 01:10:33 +02:00
function newFunction(): 1 | 2 | 3 {
return 1 + 1 === 2 ? 1 : 2;
2017-08-05 01:10:33 +02:00
}
}`
});