testExportSymbol() {
    const date = new Date();

    // alias to avoid the being picked up by the deps scanner.
    const provide = goog.provide;

    assertTrue(typeof nodots == 'undefined');
    goog.exportSymbol('nodots', date);
    assertEquals(date, nodots);
    nodots = undefined;

    assertTrue(typeof gotcher == 'undefined');
    goog.exportSymbol('gotcher.dots.right.Here', date);
    assertEquals(date, gotcher.dots.right.Here);
    gotcher = undefined;

    provide('an.existing.path');
    assertNotNull(an.existing.path);
    goog.exportSymbol('an.existing.path', date);
    assertEquals(date, an.existing.path);
    an = undefined;

    const foo = {foo: 'foo'};
    const bar = {bar: 'bar'};
    const baz = {baz: 'baz'};
    goog.exportSymbol('one.two.three.Four', foo);
    goog.exportSymbol('one.two.three.five', bar);
    goog.exportSymbol('one.two.six', baz);
    assertEquals(foo, one.two.three.Four);
    assertEquals(bar, one.two.three.five);
    assertEquals(baz, one.two.six);

    const win = {};
    const fooBar = {foo: 'foo', bar: 'bar'};
    goog.exportSymbol('one.two.four', fooBar, win);
    assertEquals(fooBar, win.one.two.four);
    assertTrue('four' in win.one.two);
    assertFalse('four' in one.two);
    one = undefined;
  }
@suppress {undefinedVars, checkTypes} ns is created indirectly