it('should render json data', () => {
   let model = createModel({
     'application/json': { 'foo': 1 }
   });
   let widget = r.render(model);
   expect(widget.node.textContent).to.be('{\n  "foo": 1\n}');
 });
 it('should sanitize html', () => {
   let model = createModel({
     'text/html': '<h1>foo <script>window.x=1></scrip></h1>'
   });
   let widget = r.render(model);
   expect(widget.node.innerHTML).to.be('<h1>foo </h1>');
 });
 it('should render the mimeType that is sanitizable', () => {
   let model = createModel({
     'text/plain': 'foo',
     'text/html': '<h1>foo</h1>'
   });
   let w = r.render(model);
   let el = w.node.firstChild as HTMLElement;
   expect(el.localName).to.be('h1');
 });
 it('should render with the mimeType of highest precidence', () => {
   let model = createModel({
     'text/plain': 'foo',
     'text/html': '<h1>foo</h1>'
   }, true);
   let w = r.render(model);
   let el = w.node.firstChild as HTMLElement;
   expect(el.localName).to.be('h1');
 });
 it('should handle an injection', () => {
   let called = false;
   let model = createModel({ 'test/injector': 'foo' });
   model.data.changed.connect((sender, args) => {
     expect(args.key).to.be('application/json');
     called = true;
   });
   r.render(model);
   expect(called).to.be(true);
 });
 it('should render the mimeType that is safe', () => {
   let model = createModel({
     'text/plain': 'foo',
     'text/javascript': 'window.x = 1',
     'image/png': 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'
   });
   let w = r.render(model);
   let el = w.node.firstChild as HTMLElement;
   expect(el.localName).to.be('img');
 });
 it('should send a link handler', (done) => {
   let model = createModel({
     'text/html': '<a href="./foo/bar.txt">foo</a>'
   }, true);
   r.resolver = RESOLVER;
   r.linkHandler = {
     handleLink: (node: HTMLElement, url: string) => {
       expect(url).to.be('foo/bar.txt');
       done();
     }
   };
   r.render(model);
 });
 it('should send a url resolver', (done) => {
   let model = createModel({
     'text/html': '<img src="./foo">foo</img>'
   }, true);
   let called = false;
   r.resolver = {
     resolveUrl: (path: string) => {
       called = true;
       return Promise.resolve(path);
     },
     getDownloadUrl: (path: string) => {
       expect(called).to.be(true);
       done();
       return Promise.resolve(path);
     }
   };
   r.render(model);
 });
 it('should render a mimebundle', () => {
   let model = createModel({ 'text/plain': 'foo' });
   let w = r.render(model);
   expect(w instanceof Widget).to.be(true);
 });
 it('should return a placeholder for an unregistered mime type', () => {
   let model = createModel({ 'text/fizz': 'buzz' });
   let value = r.render(model);
   expect(value).to.be.a(Widget);
 });