testConstructorWithDecorator() {
    /** @suppress {checkTypes} suppression added to enable type checking */
    const decoratedTextarea = new Textarea();
    decoratedTextarea.decorate(demoTextareaElement);
    assertEquals(
        'Textarea should have current content after decoration', 'Foo',
        decoratedTextarea.getContent());
    /** @suppress {visibility} suppression added to enable type checking */
    const initialHeight = decoratedTextarea.getHeight_();
    /**
     * @suppress {strictMissingProperties} suppression added to enable type
     * checking
     */
    const initialOffsetHeight = decoratedTextarea.getElement().offsetHeight;
    // focus() will trigger the grow/shrink flow.
    decoratedTextarea.getElement().focus();
    assertEquals(
        'Height should not have changed without content change', initialHeight,
        decoratedTextarea.getHeight_());
    assertEquals(
        'offsetHeight should not have changed without content ' +
            'change',
        initialOffsetHeight, decoratedTextarea.getElement().offsetHeight);
    decoratedTextarea.dispose();
  }
@suppress {visibility,strictMissingProperties} suppression added to enable
     type checking