diff --git a/type-tests/@ember/renderer-tests.ts b/type-tests/@ember/renderer-tests.ts new file mode 100644 index 00000000000..abf7dd5e512 --- /dev/null +++ b/type-tests/@ember/renderer-tests.ts @@ -0,0 +1,28 @@ +import { renderSettled, renderComponent } from '@ember/renderer'; + +import { expectTypeOf } from 'expect-type'; + +// ------- renderSettled ------- +expectTypeOf(renderSettled()).toMatchTypeOf>(); +expectTypeOf>().toMatchTypeOf(); + +// ------- renderComponent ------- +expectTypeOf>().toEqualTypeOf<{ destroy: () => void }>(); +type Params = Parameters; +expectTypeOf().toBeObject(); +expectTypeOf().toBeObject(); +expectTypeOf().toBeObject(); +expectTypeOf().toEqualTypeOf(); +expectTypeOf().toMatchTypeOf(); +expectTypeOf().toEqualTypeOf>(); + +// @ts-expect-error (args are required) +renderComponent() +// @ts-expect-error (wrong number of args) +renderComponent(1); +// @ts-expect-error (first arg not an object) +renderComponent(1, null); +// @ts-expect-error (second arg doesn't match the options) +renderComponent({}, null); +// @ts-expect-error (into is not an IntoTarget (Cursor | Element | SimpleElement)) +renderComponent({}, { into: 1 });