describe('DomSharedStylesHost', () => {
    var doc;
    var ssh: DomSharedStylesHost;
    var someHost: Element;
    beforeEach(() => {
      doc = DOM.createHtmlDocument();
      doc.title = '';
      ssh = new DomSharedStylesHost(doc);
      someHost = DOM.createElement('div');
    });

    it('should add existing styles to new hosts', () => {
      ssh.addStyles(['a {};']);
      ssh.addHost(someHost);
      expect(DOM.getInnerHTML(someHost)).toEqual('<style>a {};</style>');
    });

    it('should add new styles to hosts', () => {
      ssh.addHost(someHost);
      ssh.addStyles(['a {};']);
      expect(DOM.getInnerHTML(someHost)).toEqual('<style>a {};</style>');
    });

    it('should add styles only once to hosts', () => {
      ssh.addStyles(['a {};']);
      ssh.addHost(someHost);
      ssh.addStyles(['a {};']);
      expect(DOM.getInnerHTML(someHost)).toEqual('<style>a {};</style>');
    });

    it('should use the document head as default host', () => {
      ssh.addStyles(['a {};', 'b {};']);
      expect(doc.head).toHaveText('a {};b {};');
    });
  });
 it('should use the document head as default host', () => {
   ssh.addStyles(['a {};', 'b {};']);
   expect(doc.head).toHaveText('a {};b {};');
 });
 it('should add styles only once to hosts', () => {
   ssh.addStyles(['a {};']);
   ssh.addHost(someHost);
   ssh.addStyles(['a {};']);
   expect(DOM.getInnerHTML(someHost)).toEqual('<style>a {};</style>');
 });
 it('should add existing styles to new hosts', () => {
   ssh.addStyles(['a {};']);
   ssh.addHost(someHost);
   expect(DOM.getInnerHTML(someHost)).toEqual('<style>a {};</style>');
 });