1- /* eslint-disable no-console */
1+ /* eslint-disable no-console, react/no-array-index-key */
22
33import Benchmark from 'benchmark' ;
44import React from 'react' ;
55import ReactDOMServer from 'react-dom/server' ;
66import { StylesProvider } from '@material-ui/styles' ;
77import ButtonBase from '@material-ui/core/ButtonBase' ;
8+ import Table from '@material-ui/core/Table' ;
9+ import TableBody from '@material-ui/core/TableBody' ;
10+ import TableCell from '@material-ui/core/TableCell' ;
11+ import TableHead from '@material-ui/core/TableHead' ;
12+ import TableRow from '@material-ui/core/TableRow' ;
813
914const suite = new Benchmark . Suite ( 'core' , {
1015 onError : event => {
@@ -13,6 +18,65 @@ const suite = new Benchmark.Suite('core', {
1318} ) ;
1419Benchmark . options . minSamples = 100 ;
1520
21+ const data = { name : 'Frozen yoghurt' , calories : 159 , fat : 6.0 , carbs : 24 , protein : 4.0 } ;
22+ const rows = Array . from ( new Array ( 100 ) ) . map ( ( ) => data ) ;
23+
24+ function TableMui ( ) {
25+ return (
26+ < Table >
27+ < TableHead >
28+ < TableRow >
29+ < TableCell > Dessert (100g serving)</ TableCell >
30+ < TableCell > Calories</ TableCell >
31+ < TableCell > Fat (g)</ TableCell >
32+ < TableCell > Carbs (g)</ TableCell >
33+ < TableCell > Protein (g)</ TableCell >
34+ </ TableRow >
35+ </ TableHead >
36+ < TableBody >
37+ { rows . map ( ( row , index ) => (
38+ < TableRow key = { index } >
39+ < TableCell component = "th" scope = "row" >
40+ { row . name }
41+ </ TableCell >
42+ < TableCell > { row . calories } </ TableCell >
43+ < TableCell > { row . fat } </ TableCell >
44+ < TableCell > { row . carbs } </ TableCell >
45+ < TableCell > { row . protein } </ TableCell >
46+ </ TableRow >
47+ ) ) }
48+ </ TableBody >
49+ </ Table >
50+ ) ;
51+ }
52+
53+ function TableRaw ( ) {
54+ return (
55+ < table >
56+ < thead >
57+ < tr >
58+ < th > Dessert (100g serving)</ th >
59+ < th > Calories</ th >
60+ < th > Fat (g)</ th >
61+ < th > Carbs (g)</ th >
62+ < th > Protein (g)</ th >
63+ </ tr >
64+ </ thead >
65+ < tbody >
66+ { rows . map ( ( row , index ) => (
67+ < tr key = { index } >
68+ < th scope = "row" > { row . name } </ th >
69+ < td > { row . calories } </ td >
70+ < td > { row . fat } </ td >
71+ < td > { row . carbs } </ td >
72+ < td > { row . protein } </ td >
73+ </ tr >
74+ ) ) }
75+ </ tbody >
76+ </ table >
77+ ) ;
78+ }
79+
1680function NakedButton ( props ) {
1781 return < button type = "button" { ...props } /> ;
1882}
@@ -26,6 +90,20 @@ class HocButton extends React.Component {
2690}
2791
2892suite
93+ . add ( 'TableRaw' , ( ) => {
94+ ReactDOMServer . renderToString (
95+ < StylesProvider sheetsCache = { null } sheetsManager = { new Map ( ) } >
96+ < TableRaw />
97+ </ StylesProvider > ,
98+ ) ;
99+ } )
100+ . add ( 'TableMui' , ( ) => {
101+ ReactDOMServer . renderToString (
102+ < StylesProvider sheetsCache = { null } sheetsManager = { new Map ( ) } >
103+ < TableMui />
104+ </ StylesProvider > ,
105+ ) ;
106+ } )
29107 . add ( 'ButtonBase' , ( ) => {
30108 ReactDOMServer . renderToString (
31109 < StylesProvider sheetsManager = { new Map ( ) } >
0 commit comments