2017-05-19 19:18:42 +02:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
|
|
|
|
// @allowNonTsExtensions: true
|
|
|
|
// @Filename: test123.js
|
2018-03-02 21:57:29 +01:00
|
|
|
////function [|foo|]() { }
|
|
|
|
////foo.prototype.instanceMethod1 = function() { return "this is name"; };
|
|
|
|
////foo.prototype.instanceMethod2 = () => { return "this is name"; };
|
|
|
|
////foo.prototype.instanceProp1 = "hello";
|
|
|
|
////foo.prototype.instanceProp2 = undefined;
|
|
|
|
////foo.staticProp = "world";
|
|
|
|
////foo.staticMethod1 = function() { return "this is static name"; };
|
|
|
|
////foo.staticMethod2 = () => "this is static name";
|
2017-05-19 19:18:42 +02:00
|
|
|
|
2018-03-02 21:57:29 +01:00
|
|
|
verify.getSuggestionDiagnostics([{
|
|
|
|
message: "This constructor function may be converted to a class declaration.",
|
|
|
|
code: 80002,
|
|
|
|
}]);
|
|
|
|
|
|
|
|
verify.codeFix({
|
|
|
|
description: "Convert function to an ES2015 class",
|
|
|
|
newFileContent:
|
2017-05-19 19:18:42 +02:00
|
|
|
`class foo {
|
|
|
|
constructor() { }
|
|
|
|
instanceMethod1() { return "this is name"; }
|
|
|
|
instanceMethod2() { return "this is name"; }
|
|
|
|
static staticMethod1() { return "this is static name"; }
|
|
|
|
static staticMethod2() { return "this is static name"; }
|
|
|
|
}
|
|
|
|
foo.prototype.instanceProp1 = "hello";
|
|
|
|
foo.prototype.instanceProp2 = undefined;
|
|
|
|
foo.staticProp = "world";
|
2018-03-02 21:57:29 +01:00
|
|
|
`,
|
|
|
|
});
|