|
@@ -3,6 +3,8 @@
|
|
|
|
|
|
import expect = require('expect.js');
|
|
|
|
|
|
+import json2html = require('json2html');
|
|
|
+
|
|
|
import {
|
|
|
Widget
|
|
|
} from 'phosphor/lib/ui/widget';
|
|
@@ -100,6 +102,34 @@ describe('rendermime/index', () => {
|
|
|
expect(widget.node.innerHTML.indexOf('script')).to.be(-1);
|
|
|
});
|
|
|
|
|
|
+ it('should render json data', () => {
|
|
|
+ let bundle: RenderMime.MimeMap<JSONObject> = {
|
|
|
+ 'application/json': { 'foo': 1 }
|
|
|
+ };
|
|
|
+ let r = defaultRenderMime();
|
|
|
+ let widget = r.render({ bundle });
|
|
|
+ expect(widget.node.textContent).to.be('foo');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should accept an injector', () => {
|
|
|
+ let called = 0;
|
|
|
+ let injector = (mimetype: string, value: string | JSONObject) => {
|
|
|
+ if (mimetype === 'text/plain') {
|
|
|
+ expect(value as string).to.be('foo');
|
|
|
+ called++;
|
|
|
+ } else if (mimetype === 'application/json') {
|
|
|
+ expect((value as JSONObject)['foo']).to.be(1);
|
|
|
+ called++;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ let bundle: RenderMime.MimeMap<string> = {
|
|
|
+ 'foo/bar': '1'
|
|
|
+ };
|
|
|
+ let r = defaultRenderMime();
|
|
|
+ r.render({ bundle, injector });
|
|
|
+ expect(called).to.be(2);
|
|
|
+ });
|
|
|
+
|
|
|
});
|
|
|
|
|
|
describe('#preferredMimetype()', () => {
|