testLocalStorageData() {
    const topic = 'someTopic';
    const anotherTopic = 'anotherTopic';
    const now = Date.now();

    mockHTML5LocalStorageCtor().$returns(mockHtml5LocalStorage);
    const mockStorage = mockControl.createLooseMock(StorageStorage);

    const mockStorageCtor =
        mockControl.createConstructorMock(goog.storage, 'Storage');

    mockStorageCtor(mockHtml5LocalStorage).$returns(mockStorage);
    if (!isIe8) {
      mockStorage.set(
          BroadcastPubSub.STORAGE_KEY_,
          {'args': [topic, '10'], 'timestamp': now});
      mockStorage.remove(BroadcastPubSub.STORAGE_KEY_);
      mockStorage.set(
          BroadcastPubSub.STORAGE_KEY_,
          {'args': [anotherTopic, '13'], 'timestamp': now});
      mockStorage.remove(BroadcastPubSub.STORAGE_KEY_);
    } else {
      const firstEventArray = [{'args': [topic, '10'], 'timestamp': now}];
      /** @suppress {visibility} suppression added to enable type checking */
      const secondEventArray = [
        {'args': [topic, '10'], 'timestamp': now},
        {
          'args': [anotherTopic, '13'],
          'timestamp': now + BroadcastPubSub.IE8_TIMESTAMP_UNIQUE_OFFSET_MS_,
        },
      ];

      mockStorage.get(BroadcastPubSub.IE8_EVENTS_KEY_).$returns(null);
      mockStorage.set(
          BroadcastPubSub.IE8_EVENTS_KEY_,
          new ArgumentMatcher(
              (val) => mockmatchers.flexibleArrayMatcher(firstEventArray, val),
              'First event array'));

      // Make sure to clone or you're going to have a bad time.
      mockStorage.get(BroadcastPubSub.IE8_EVENTS_KEY_)
          .$returns(googArray.clone(firstEventArray));

      mockStorage.set(
          BroadcastPubSub.IE8_EVENTS_KEY_,
          new ArgumentMatcher(
              (val) => mockmatchers.flexibleArrayMatcher(secondEventArray, val),
              'Second event array'));

      mockStorage.remove(BroadcastPubSub.IE8_EVENTS_KEY_);
    }

    const fn = recordFunction();
    fn('10');
    mockControl.$replayAll();

    broadcastPubSub = new BroadcastPubSub();
    log.setLevel(broadcastPubSub.logger_, Level.OFF);
    broadcastPubSub.subscribe(topic, fn);

    broadcastPubSub.publish(topic, '10');
    broadcastPubSub.publish(anotherTopic, '13');

    mockClock.tick();

    broadcastPubSub.dispose();
    mockControl.$verifyAll();
  }
Validate the localStorage data is being set as we expect.
     @suppress {checkTypes,missingProperties,visibility} suppression added to
     enable type checking