TypeScript/tests/cases/fourslash/javaScriptClass1.ts
2019-05-20 15:53:51 -07:00

38 lines
899 B
TypeScript

///<reference path="fourslash.ts" />
// Classes have their shape inferred from assignments
// to properties of 'this' in the constructor
// @allowNonTsExtensions: true
// @Filename: Foo.js
//// class Foo {
//// constructor() {
//// this.bar = 'world';
//// this.thing = () => 0;
//// this.union = 'foo';
//// this.union = 100;
//// }
//// }
//// var x = new Foo();
//// x/**/
goTo.marker();
edit.insert('.');
verify.completions({
exact: [
"bar",
"thing",
"union",
{ name: "Foo", sortText: completion.SortText.JavascriptIdentifiers },
{ name: "x", sortText: completion.SortText.JavascriptIdentifiers }
]
});
edit.insert('bar.');
verify.completions({ includes: ["substr"] });
edit.backspace('bar.'.length);
edit.insert('union.');
verify.completions({ includes: "toString" });