-
Notifications
You must be signed in to change notification settings - Fork 2.8k
/
Copy pathtest.js
53 lines (43 loc) · 1.49 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
'use strict';
// Treat warnings as failures.
console.warn = message => {
throw new Error(message);
};
// Configure load-themed-styles to avoid registering styles.
let themeLoader = require('@microsoft/load-themed-styles');
themeLoader.configureLoadStyles(styles => {
// noop
});
// Set ssr mode to true, and rtl to false.
let library = require('@fluentui/react/lib/Utilities');
library.setSSR(true);
library.setRTL(false);
// Assume a large screen.
let responsiveLib = require('@fluentui/react/lib/utilities/decorators/withResponsiveMode');
responsiveLib.setResponsiveMode(responsiveLib.ResponsiveMode.large);
// Initialize icons.
const { initializeIcons } = require('@fluentui/react/lib/Icons');
initializeIcons('dist/', { disableWarnings: true });
let React = require('react');
let ReactDOMServer = require('react-dom/server');
let AppDefinition = require('@fluentui/public-docsite-resources/lib/AppDefinition').AppDefinition;
describe('Fabric components', () => {
for (let i = 0; i < AppDefinition.examplePages.length; i++) {
let links = AppDefinition.examplePages[i].links;
for (let j = 0; j < links.length; j++) {
let { key, component } = links[j];
testRender(key, component);
}
}
});
function testRender(componentName, component) {
it(`${componentName} can render in a server environment`, done => {
let elem = React.createElement(component);
try {
ReactDOMServer.renderToString(elem);
done();
} catch (e) {
done(new Error(e));
}
});
}