Best JavaScript code snippet using playwright-internal
forwardRef-test.js
Source:forwardRef-test.js
...27 <span ref={setRefOnDiv ? null : forwardedRef}>Second</span>28 </section>29 );30 }31 const RefForwardingComponent = React.forwardRef((props, ref) => (32 <FunctionComponent {...props} forwardedRef={ref} />33 ));34 const ref = React.createRef();35 ReactNoop.render(<RefForwardingComponent ref={ref} setRefOnDiv={true} />);36 expect(Scheduler).toFlushWithoutYielding();37 expect(ref.current.type).toBe('div');38 ReactNoop.render(<RefForwardingComponent ref={ref} setRefOnDiv={false} />);39 expect(Scheduler).toFlushWithoutYielding();40 expect(ref.current.type).toBe('span');41 });42 it('should support rendering null', () => {43 const RefForwardingComponent = React.forwardRef((props, ref) => null);44 const ref = React.createRef();45 ReactNoop.render(<RefForwardingComponent ref={ref} />);46 expect(Scheduler).toFlushWithoutYielding();47 expect(ref.current).toBe(null);48 });49 it('should support rendering null for multiple children', () => {50 const RefForwardingComponent = React.forwardRef((props, ref) => null);51 const ref = React.createRef();52 ReactNoop.render(53 <div>54 <div />55 <RefForwardingComponent ref={ref} />56 <div />57 </div>,58 );59 expect(Scheduler).toFlushWithoutYielding();60 expect(ref.current).toBe(null);61 });62 it('should support propTypes and defaultProps', () => {63 function FunctionComponent({forwardedRef, optional, required}) {64 return (65 <div ref={forwardedRef}>66 {optional}67 {required}68 </div>69 );70 }71 const RefForwardingComponent = React.forwardRef(function NamedFunction(72 props,73 ref,74 ) {75 return <FunctionComponent {...props} forwardedRef={ref} />;76 });77 RefForwardingComponent.propTypes = {78 optional: PropTypes.string,79 required: PropTypes.string.isRequired,80 };81 RefForwardingComponent.defaultProps = {82 optional: 'default',83 };84 const ref = React.createRef();85 ReactNoop.render(86 <RefForwardingComponent ref={ref} optional="foo" required="bar" />,87 );88 expect(Scheduler).toFlushWithoutYielding();89 expect(ref.current.children).toEqual([90 {text: 'foo', hidden: false},91 {text: 'bar', hidden: false},92 ]);93 ReactNoop.render(<RefForwardingComponent ref={ref} required="foo" />);94 expect(Scheduler).toFlushWithoutYielding();95 expect(ref.current.children).toEqual([96 {text: 'default', hidden: false},97 {text: 'foo', hidden: false},98 ]);99 expect(() =>100 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />),101 ).toErrorDev(102 'Warning: Failed prop type: The prop `required` is marked as required in ' +103 '`ForwardRef(NamedFunction)`, but its value is `undefined`.\n' +104 ' in NamedFunction (at **)',105 );106 });107 it('should warn if not provided a callback during creation', () => {108 expect(() =>109 React.forwardRef(undefined),110 ).toErrorDev(111 'forwardRef requires a render function but was given undefined.',112 {withoutStack: true},113 );114 expect(() => React.forwardRef(null)).toErrorDev(115 'forwardRef requires a render function but was given null.',116 {117 withoutStack: true,118 },119 );120 expect(() =>121 React.forwardRef('foo'),122 ).toErrorDev(123 'forwardRef requires a render function but was given string.',124 {withoutStack: true},125 );126 });127 it('should warn if no render function is provided', () => {128 expect(129 React.forwardRef,130 ).toErrorDev(131 'forwardRef requires a render function but was given undefined.',132 {withoutStack: true},133 );134 });135 it('should warn if the render function provided has propTypes or defaultProps attributes', () => {136 function renderWithPropTypes(props, ref) {137 return null;138 }139 renderWithPropTypes.propTypes = {};140 function renderWithDefaultProps(props, ref) {141 return null;142 }143 renderWithDefaultProps.defaultProps = {};144 expect(() =>145 React.forwardRef(renderWithPropTypes),146 ).toErrorDev(147 'forwardRef render functions do not support propTypes or defaultProps. ' +148 'Did you accidentally pass a React component?',149 {withoutStack: true},150 );151 expect(() =>152 React.forwardRef(renderWithDefaultProps),153 ).toErrorDev(154 'forwardRef render functions do not support propTypes or defaultProps. ' +155 'Did you accidentally pass a React component?',156 {withoutStack: true},157 );158 });159 it('should not warn if the render function provided does not use any parameter', () => {160 React.forwardRef(function arityOfZero() {161 return <div ref={arguments[1]} />;162 });163 });164 it('should warn if the render function provided does not use the forwarded ref parameter', () => {165 const arityOfOne = props => <div {...props} />;166 expect(() =>167 React.forwardRef(arityOfOne),168 ).toErrorDev(169 'forwardRef render functions accept exactly two parameters: props and ref. ' +170 'Did you forget to use the ref parameter?',171 {withoutStack: true},172 );173 });174 it('should not warn if the render function provided use exactly two parameters', () => {175 const arityOfTwo = (props, ref) => <div {...props} ref={ref} />;176 React.forwardRef(arityOfTwo);177 });178 it('should warn if the render function provided expects to use more than two parameters', () => {179 const arityOfThree = (props, ref, x) => <div {...props} ref={ref} x={x} />;180 expect(() =>181 React.forwardRef(arityOfThree),182 ).toErrorDev(183 'forwardRef render functions accept exactly two parameters: props and ref. ' +184 'Any additional parameter will be undefined.',185 {withoutStack: true},186 );187 });188 it('should fall back to showing something meaningful if no displayName or name are present', () => {189 const Component = props => <div {...props} />;190 const RefForwardingComponent = React.forwardRef((props, ref) => (191 <Component {...props} forwardedRef={ref} />192 ));193 RefForwardingComponent.propTypes = {194 optional: PropTypes.string,195 required: PropTypes.string.isRequired,196 };197 RefForwardingComponent.defaultProps = {198 optional: 'default',199 };200 const ref = React.createRef();201 expect(() =>202 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />),203 ).toErrorDev(204 'Warning: Failed prop type: The prop `required` is marked as required in ' +205 '`ForwardRef`, but its value is `undefined`.',206 // There's no component stack in this warning because the inner function is anonymous.207 // If we wanted to support this (for the Error frames / source location)208 // we could do this by updating ReactComponentStackFrame.209 {withoutStack: true},210 );211 });212 it('should honor a displayName if set on the forwardRef wrapper in warnings', () => {213 const Component = props => <div {...props} />;214 const RefForwardingComponent = React.forwardRef(function Inner(props, ref) {215 <Component {...props} forwardedRef={ref} />;216 });217 RefForwardingComponent.displayName = 'Custom';218 RefForwardingComponent.propTypes = {219 optional: PropTypes.string,220 required: PropTypes.string.isRequired,221 };222 RefForwardingComponent.defaultProps = {223 optional: 'default',224 };225 const ref = React.createRef();226 expect(() =>227 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />),228 ).toErrorDev(229 'Warning: Failed prop type: The prop `required` is marked as required in ' +230 '`Custom`, but its value is `undefined`.\n' +231 ' in Inner (at **)',232 );233 });234 it('should pass displayName to an anonymous inner component so it shows up in component stacks', () => {235 const Component = props => <div {...props} />;236 const RefForwardingComponent = React.forwardRef((props, ref) => (237 <Component {...props} forwardedRef={ref} />238 ));239 RefForwardingComponent.displayName = 'Custom';240 RefForwardingComponent.propTypes = {241 optional: PropTypes.string,242 required: PropTypes.string.isRequired,243 };244 RefForwardingComponent.defaultProps = {245 optional: 'default',246 };247 const ref = React.createRef();248 expect(() =>249 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />),250 ).toErrorDev(251 'Warning: Failed prop type: The prop `required` is marked as required in ' +252 '`Custom`, but its value is `undefined`.\n' +253 ' in Custom (at **)',254 );255 });256 it('should honor a displayName in stacks if set on the inner function', () => {257 const Component = props => <div {...props} />;258 const inner = (props, ref) => <Component {...props} forwardedRef={ref} />;259 inner.displayName = 'Inner';260 const RefForwardingComponent = React.forwardRef(inner);261 RefForwardingComponent.propTypes = {262 optional: PropTypes.string,263 required: PropTypes.string.isRequired,264 };265 RefForwardingComponent.defaultProps = {266 optional: 'default',267 };268 const ref = React.createRef();269 expect(() =>270 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />),271 ).toErrorDev(272 'Warning: Failed prop type: The prop `required` is marked as required in ' +273 '`ForwardRef(Inner)`, but its value is `undefined`.\n' +274 ' in Inner (at **)',275 );276 });277 it('should honor a outer displayName when wrapped component and memo component set displayName at the same time.', () => {278 const Component = props => <div {...props} />;279 const inner = (props, ref) => <Component {...props} forwardedRef={ref} />;280 inner.displayName = 'Inner';281 const RefForwardingComponent = React.forwardRef(inner);282 RefForwardingComponent.displayName = 'Outer';283 RefForwardingComponent.propTypes = {284 optional: PropTypes.string,285 required: PropTypes.string.isRequired,286 };287 RefForwardingComponent.defaultProps = {288 optional: 'default',289 };290 const ref = React.createRef();291 expect(() =>292 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />),293 ).toErrorDev(294 'Warning: Failed prop type: The prop `required` is marked as required in ' +295 '`Outer`, but its value is `undefined`.\n' +296 ' in Inner (at **)',297 );298 });299 it('should not bailout if forwardRef is not wrapped in memo', () => {300 const Component = props => <div {...props} />;301 let renderCount = 0;302 const RefForwardingComponent = React.forwardRef((props, ref) => {303 renderCount++;304 return <Component {...props} forwardedRef={ref} />;305 });306 const ref = React.createRef();307 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />);308 expect(Scheduler).toFlushWithoutYielding();309 expect(renderCount).toBe(1);310 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />);311 expect(Scheduler).toFlushWithoutYielding();312 expect(renderCount).toBe(2);313 });314 it('should bailout if forwardRef is wrapped in memo', () => {315 const Component = props => <div ref={props.forwardedRef} />;316 let renderCount = 0;317 const RefForwardingComponent = React.memo(318 React.forwardRef((props, ref) => {319 renderCount++;320 return <Component {...props} forwardedRef={ref} />;321 }),322 );323 const ref = React.createRef();324 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />);325 expect(Scheduler).toFlushWithoutYielding();326 expect(renderCount).toBe(1);327 expect(ref.current.type).toBe('div');328 ReactNoop.render(<RefForwardingComponent ref={ref} optional="foo" />);329 expect(Scheduler).toFlushWithoutYielding();330 expect(renderCount).toBe(1);331 const differentRef = React.createRef();332 ReactNoop.render(333 <RefForwardingComponent ref={differentRef} optional="foo" />,334 );335 expect(Scheduler).toFlushWithoutYielding();336 expect(renderCount).toBe(2);337 expect(ref.current).toBe(null);338 expect(differentRef.current.type).toBe('div');339 ReactNoop.render(<RefForwardingComponent ref={ref} optional="bar" />);340 expect(Scheduler).toFlushWithoutYielding();341 expect(renderCount).toBe(3);342 });343 it('should custom memo comparisons to compose', () => {344 const Component = props => <div ref={props.forwardedRef} />;345 let renderCount = 0;346 const RefForwardingComponent = React.memo(347 React.forwardRef((props, ref) => {348 renderCount++;349 return <Component {...props} forwardedRef={ref} />;350 }),351 (o, p) => o.a === p.a && o.b === p.b,352 );353 const ref = React.createRef();354 ReactNoop.render(<RefForwardingComponent ref={ref} a="0" b="0" c="1" />);355 expect(Scheduler).toFlushWithoutYielding();356 expect(renderCount).toBe(1);357 expect(ref.current.type).toBe('div');358 // Changing either a or b rerenders359 ReactNoop.render(<RefForwardingComponent ref={ref} a="0" b="1" c="1" />);360 expect(Scheduler).toFlushWithoutYielding();361 expect(renderCount).toBe(2);362 // Changing c doesn't rerender363 ReactNoop.render(<RefForwardingComponent ref={ref} a="0" b="1" c="2" />);364 expect(Scheduler).toFlushWithoutYielding();365 expect(renderCount).toBe(2);366 const ComposedMemo = React.memo(367 RefForwardingComponent,368 (o, p) => o.a === p.a && o.c === p.c,369 );370 ReactNoop.render(<ComposedMemo ref={ref} a="0" b="0" c="0" />);371 expect(Scheduler).toFlushWithoutYielding();372 expect(renderCount).toBe(3);373 // Changing just b no longer updates374 ReactNoop.render(<ComposedMemo ref={ref} a="0" b="1" c="0" />);375 expect(Scheduler).toFlushWithoutYielding();376 expect(renderCount).toBe(3);377 // Changing just a and c updates378 ReactNoop.render(<ComposedMemo ref={ref} a="2" b="2" c="2" />);379 expect(Scheduler).toFlushWithoutYielding();380 expect(renderCount).toBe(4);381 // Changing just c does not update382 ReactNoop.render(<ComposedMemo ref={ref} a="2" b="2" c="3" />);383 expect(Scheduler).toFlushWithoutYielding();384 expect(renderCount).toBe(4);385 // Changing ref still rerenders386 const differentRef = React.createRef();387 ReactNoop.render(<ComposedMemo ref={differentRef} a="2" b="2" c="3" />);388 expect(Scheduler).toFlushWithoutYielding();389 expect(renderCount).toBe(5);390 expect(ref.current).toBe(null);391 expect(differentRef.current.type).toBe('div');392 });393 it('warns on forwardRef(memo(...))', () => {394 expect(() => {395 React.forwardRef(396 React.memo((props, ref) => {397 return null;398 }),399 );400 }).toErrorDev(401 [402 'Warning: forwardRef requires a render function but received a `memo` ' +403 'component. Instead of forwardRef(memo(...)), use ' +404 'memo(forwardRef(...)).',405 ],406 {withoutStack: true},407 );408 });...
table.js
Source:table.js
...18import ViewColumn from "@material-ui/icons/ViewColumn"19import "../styles/components/misc/table.scss"20const IndexPage = props => {21 const tableIcons = {22 Add: forwardRef((props, ref) => <AddBox {...props} ref={ref} />),23 Check: forwardRef((props, ref) => <Check {...props} ref={ref} />),24 Clear: forwardRef((props, ref) => <Clear {...props} ref={ref} />),25 Delete: forwardRef((props, ref) => <DeleteOutline {...props} ref={ref} />),26 DetailPanel: forwardRef((props, ref) => (27 <ChevronRight {...props} ref={ref} />28 )),29 Edit: forwardRef((props, ref) => <Edit {...props} ref={ref} />),30 Export: forwardRef((props, ref) => <SaveAlt {...props} ref={ref} />),31 Filter: forwardRef((props, ref) => <FilterList {...props} ref={ref} />),32 FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />),33 LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />),34 NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),35 PreviousPage: forwardRef((props, ref) => (36 <ChevronLeft {...props} ref={ref} />37 )),38 ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />),39 Search: forwardRef((props, ref) => <Search {...props} ref={ref} />),40 SortArrow: forwardRef((props, ref) => (41 <ArrowDownward {...props} ref={ref} />42 )),43 ThirdStateCheck: forwardRef((props, ref) => (44 <Remove {...props} ref={ref} />45 )),46 ViewColumn: forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />),47 }48 return (49 <div className="tableContainer">50 <MaterialTable51 title={props.title}52 columns={props.columns}53 options={props.options}54 icons={tableIcons}55 editable={props.editable}56 data={props.data}57 actions={props.actions}58 />59 </div>60 )...
tableIcone.js
Source:tableIcone.js
...17import ViewColumn from '@material-ui/icons/ViewColumn';18import BorderColorIcon from '@material-ui/icons/BorderColor';19// import ArrowForwardIcon from '@material-ui/icons/ArrowForward';20export const tableIcons = {21 Add: forwardRef((props, ref) => <AddBox {...props} ref={ref} />),22 Check: forwardRef((props, ref) => <Check {...props} ref={ref} />),23 Clear: forwardRef((props, ref) => <Clear {...props} ref={ref} />),24 Delete: forwardRef((props, ref) => <DeleteOutline {...props} ref={ref} />),25 DetailPanel: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),26 Edit: forwardRef((props, ref) => <Edit {...props} ref={ref} />),27 Export: forwardRef((props, ref) => <SaveAlt {...props} ref={ref} />),28 Filter: forwardRef((props, ref) => <FilterList {...props} ref={ref} />),29 FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />),30 LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />),31 NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),32 PreviousPage: forwardRef((props, ref) => <ChevronLeft {...props} ref={ref} />),33 ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />),34 Search: forwardRef((props, ref) => <Search {...props} ref={ref} />),35 SortArrow: forwardRef((props, ref) => <ArrowDownward {...props} ref={ref} />),36 ThirdStateCheck: forwardRef((props, ref) => <Remove {...props} ref={ref} />),37 ViewColumn: forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />),38 myEdit: forwardRef((props, ref) => <BorderColorIcon {...props} ref={ref} />)39 // myRightArrow: forwardRef((props, ref) => <BorderColorIcon {...props} ref={ref} />)40 };...
MaterialTable.js
Source:MaterialTable.js
...17import ViewColumn from "@material-ui/icons/ViewColumn";18import Save from "@material-ui/icons/Save";19import MaterialTable from "material-table";20const tableIcons = {21 Add: forwardRef((props, ref) => <AddBox {...props} ref={ref} />),22 Save: forwardRef((props, ref) => <Save {...props} ref={ref} />),23 Check: forwardRef((props, ref) => <Check {...props} ref={ref} />),24 Clear: forwardRef((props, ref) => <Clear {...props} ref={ref} />),25 Delete: forwardRef((props, ref) => <DeleteOutline {...props} ref={ref} />),26 DetailPanel: forwardRef((props, ref) => (27 <ChevronRight {...props} ref={ref} />28 )),29 Edit: forwardRef((props, ref) => <Edit {...props} ref={ref} />),30 Export: forwardRef((props, ref) => <SaveAlt {...props} ref={ref} />),31 Filter: forwardRef((props, ref) => <FilterList {...props} ref={ref} />),32 FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />),33 LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />),34 NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),35 PreviousPage: forwardRef((props, ref) => (36 <ChevronLeft {...props} ref={ref} />37 )),38 ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />),39 Search: forwardRef((props, ref) => <Search {...props} ref={ref} />),40 SortArrow: forwardRef((props, ref) => <ArrowDownward {...props} ref={ref} />),41 ThirdStateCheck: forwardRef((props, ref) => <Remove {...props} ref={ref} />),42 ViewColumn: forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />),43};44export default (props) => {45 return <MaterialTable padding={"dense"} icons={tableIcons} {...props} />;...
mui-table-icons.js
Source:mui-table-icons.js
...15import SearchIcon from "@mui/icons-material/Search";16import ViewColumnIcon from "@mui/icons-material/ViewColumn";17import { forwardRef } from "react";18const tableIcons = {19 Add: forwardRef((props, ref) => <AddBoxIcon {...props} ref={ref} />),20 Check: forwardRef((props, ref) => <CheckIcon {...props} ref={ref} />),21 Clear: forwardRef((props, ref) => <ClearIcon {...props} ref={ref} />),22 Delete: forwardRef((props, ref) => (23 <DeleteOutlineIcon {...props} ref={ref} />24 )),25 DetailPanel: forwardRef((props, ref) => (26 <ChevronRightIcon {...props} ref={ref} />27 )),28 Edit: forwardRef((props, ref) => <EditIcon {...props} ref={ref} />),29 Export: forwardRef((props, ref) => <SaveAltIcon {...props} ref={ref} />),30 Filter: forwardRef((props, ref) => <FilterListIcon {...props} ref={ref} />),31 FirstPage: forwardRef((props, ref) => <FirstPageIcon {...props} ref={ref} />),32 LastPage: forwardRef((props, ref) => <LastPageIcon {...props} ref={ref} />),33 NextPage: forwardRef((props, ref) => (34 <ChevronRightIcon {...props} ref={ref} />35 )),36 PreviousPage: forwardRef((props, ref) => (37 <ChevronLeftIcon {...props} ref={ref} />38 )),39 ResetSearch: forwardRef((props, ref) => <ClearIcon {...props} ref={ref} />),40 Search: forwardRef((props, ref) => <SearchIcon {...props} ref={ref} />),41 SortArrow: forwardRef((props, ref) => (42 <ArrowDownwardIcon {...props} ref={ref} />43 )),44 ThirdStateCheck: forwardRef((props, ref) => (45 <RemoveIcon {...props} ref={ref} />46 )),47 ViewColumn: forwardRef((props, ref) => (48 <ViewColumnIcon {...props} ref={ref} />49 )),50};...
MatTableIcons.js
Source:MatTableIcons.js
...15import SaveAlt from '@material-ui/icons/SaveAlt';16import Search from '@material-ui/icons/Search';17import ViewColumn from '@material-ui/icons/ViewColumn';18const tableIcons = {19 Add: forwardRef((props, ref) => <AddBox {...props} ref={ref} />),20 Check: forwardRef((props, ref) => <Check {...props} ref={ref} />),21 Clear: forwardRef((props, ref) => <Clear {...props} ref={ref} />),22 Delete: forwardRef((props, ref) => <DeleteOutline {...props} ref={ref} />),23 DetailPanel: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),24 Edit: forwardRef((props, ref) => <Edit {...props} ref={ref} />),25 Export: forwardRef((props, ref) => <SaveAlt {...props} ref={ref} />),26 Filter: forwardRef((props, ref) => <FilterList {...props} ref={ref} />),27 FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />),28 LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />),29 NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),30 PreviousPage: forwardRef((props, ref) => <ChevronLeft {...props} ref={ref} />),31 ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />),32 Search: forwardRef((props, ref) => <Search {...props} ref={ref} />),33 SortArrow: forwardRef((props, ref) => <ArrowDownward {...props} ref={ref} />),34 ThirdStateCheck: forwardRef((props, ref) => <Remove {...props} ref={ref} />),35 ViewColumn: forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />)36 };...
TableIcons.js
Source:TableIcons.js
...3 ChevronRight, Clear, DeleteOutline, Edit, FilterList,4 FirstPage, LastPage, Remove, SaveAlt, Search, ViewColumn5 } from "@material-ui/icons";6const tableIcons = {7 Add: forwardRef((props, ref) => <AddBox {...props} ref={ref} />),8 Check: forwardRef((props, ref) => <Check {...props} ref={ref} />),9 Clear: forwardRef((props, ref) => <Clear {...props} ref={ref} />),10 Delete: forwardRef((props, ref) => <DeleteOutline {...props} ref={ref} />),11 DetailPanel: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),12 Edit: forwardRef((props, ref) => <Edit {...props} ref={ref} />),13 Export: forwardRef((props, ref) => <SaveAlt {...props} ref={ref} />),14 Filter: forwardRef((props, ref) => <FilterList {...props} ref={ref} />),15 FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />),16 LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />),17 NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),18 PreviousPage: forwardRef((props, ref) => <ChevronLeft {...props} ref={ref} />),19 ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />),20 Search: forwardRef((props, ref) => <Search {...props} ref={ref} />),21 SortArrow: forwardRef((props, ref) => <ArrowUpward {...props} ref={ref} />),22 ThirdStateCheck: forwardRef((props, ref) => <Remove {...props} ref={ref} />),23 ViewColumn: forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />)24 };...
MaterialTableIcons.js
Source:MaterialTableIcons.js
...16 Search,17 ViewColumn18} from "@material-ui/icons";19const tableIcons = {20 Add: forwardRef((props, ref) => <AddBox {...props} ref={ref} />),21 Check: forwardRef((props, ref) => <Check {...props} ref={ref} />),22 Clear: forwardRef((props, ref) => <Clear {...props} ref={ref} />),23 Delete: forwardRef((props, ref) => <Delete {...props} ref={ref} />),24 DetailPanel: forwardRef((props, ref) => (25 <ChevronRight {...props} ref={ref} />26 )),27 Edit: forwardRef((props, ref) => <Edit {...props} ref={ref} />),28 Export: forwardRef((props, ref) => <SaveAlt {...props} ref={ref} />),29 Filter: forwardRef((props, ref) => <FilterList {...props} ref={ref} />),30 FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />),31 LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />),32 NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />),33 PreviousPage: forwardRef((props, ref) => (34 <ChevronLeft {...props} ref={ref} />35 )),36 ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />),37 Search: forwardRef((props, ref) => <Search {...props} ref={ref} />),38 SortArrow: forwardRef((props, ref) => <ArrowDownward {...props} ref={ref} />),39 ThirdStateCheck: forwardRef((props, ref) => <Remove {...props} ref={ref} />),40 ViewColumn: forwardRef((props, ref) => <ViewColumn {...props} ref={ref} />)41};...
Using AI Code Generation
1const { chromium } = require("playwright");2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('input[name="q"]');7 await page.fill('input[name="q"]', "playwright");8 await page.press('input[name="q"]', "Enter");9 await page.click("text=Playwright - Node.js library to automate Chromium, Firefox ...");10 await context.close();11 await browser.close();12})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 await context.tracing.start({ screenshots: true, snapshots: true });6 const page = await context.newPage();7 await page.fill('input[name="q"]', 'Playwright');8 await page.keyboard.press('Enter');9 await page.waitForSelector('text=Playwright');10 await page.click('text=Playwright');11 await page.waitForSelector('text=Playwright is a Node library to automate');12 await page.click('text=Playwright is a Node library to automate');13 await page.waitForSelector('text=Playwright is a Node library to automate');14 await page.click('text=Playwright is a Node library to automate');15 await page.waitForSelector('text=Playwright is a Node library to automate');16 await page.click('text=Playwright is a Node library to automate');17 await page.waitForSelector('text=Playwright is a Node library to automate');18 await page.click('text=Playwright is a Node library to automate');19 await page.waitForSelector('text=Playwright is a Node library to automate');20 await page.click('text=Playwright is a Node library to automate');21 await page.waitForSelector('text=Playwright is a Node library to automate');22 await page.click('text=Playwright is a Node library to automate');23 await context.tracing.stop({ path: 'trace.zip' });24 await browser.close();25})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 await context.tracing.start({ screenshots: true, snapshots: true });6 const page = await context.newPage();7 await page.fill('input[name="q"]', 'Playwright');8 await page.keyboard.press('Enter');9 await page.waitForSelector('text=Playwright');10 await page.click('text=Playwright');11 await page.waitForSelector('text=Playwright is a Node library to automate');12 await page.click('text=Playwright is a Node library to automate');13 await page.waitForSelector('text=Playwright is a Node library to automate');14 await page.click('text=Playwright is a Node library to automate');15 await page.waitForSelector('text=Playwright is a Node library to automate');16 await page.click('text=Playwright is a Node library to automate');17 await page.waitForSelector('text=Playwright is a Node library to automate');18 await page.click('text=Playwright is a Node library to automate');19 await page.waitForSelector('text=Playwright is a Node library to automate');20 await page.click('text=Playwright is a Node library to automate');21 await page.waitForSelector('text=Playwright is a Node library to automate');22 await page.click('text=Playwright is a Node library to automate');23 await context.tracing.stop({ path: 'trace.zip' });24 await browser.close();25})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const handle = await page.evaluateHandle(() => document.body);6 const resultHandle = await handle.evaluateHandle(body => body.innerHTML);7 console.log(await resultHandle.jsonValue());8 await browser.close();9})();
Using AI Code Generation
1const { chromium } = require('plywright');2(async () => {3 const browser = await chromim.aunch();4 const page = awai brower.newPage();5 const handle = await page.$('text=Docs');6 console.log(await handle.evaluate(element => element.textContent));7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const page = await browser.newPage();13 const handle = await page.$('text=Docs');14 console.log(await handle.evaluate(element => element.textContent));15 await browser.close();16})();17const { chromium, webkit, firefox } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const page = await browser.newPage();21 const handle = await page.$('text=Docs');22 console.log(await handle.evaluate(element => element.textContent));23 await browser.close();24})();25const { chromium, webkit, firefox } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const page = await browser.newPage();29 const handle = await page.$('text=Docs');30 console.log(await handle.evaluate(element => element.textContent));31 await browser.close();32})();33const { chromium, webkit, firefox } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const page = await browser.newPage();37 const handle = await page.$('text=Docs');38 console.log(await handle.evaluate(element => element.textContent));39 await browser.close();40})();41const { chromium } = require('playwright-internal-api');42(async () => {43 const browser = await chromium.launch();44 const page = await browser.newPage();45 const handle = await page.evaluateHandle(() => document.body);46 const resultHandle = await handle.evaluateHandle(body => body.innerHTML);47 console.log(await resultHandle.jsonValue());48 await browser.close();49})();50### `chromium.launch([options])`
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const handle = await page.$('text=Docs');6 console.log(await handle.evaluate(element => element.textContent));7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const page = await browser.newPage();13 const handle = await page.$('text=Docs');14 console.log(await handle.evaluate(element => element.textContent));15 await browser.close();16})();17const { chromium, webkit, firefox } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const page = await browser.newPage();21 const handle = await page.$('text=Docs');22 console.log(await handle.evaluate(element => element.textContent));23 await browser.close();24})();25const { chromium, webkit, firefox } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const page = await browser.newPage();29 const handle = await page.$('text=Docs');30 console.log(await handle.evaluate(element => element.textContent));31 await browser.close();32})();33const { chromium, webkit, firefox } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const page = await browser.newPage();37 const handle = await page.$('text=Docs');38 console.log(await handle.evaluate(element => element.textContent));39 await browser.close();40})();
Using AI Code Generation
1const { chromium } = require("playwright");2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 await page.focus("input[name=q]");6 await page.keyboard.type("Hello World");7 await browser.close();8})();9- **Arun Kumar** - [arunkumar9t2](
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const bodyHandle = await page.$('body');6 const links = await page.$$eval('body', body => {7 return Array.from(body.querySelectorAll('a')).map(a => a.href);8 });9 console.log(links.join('\n'));10 await browser.close();11})();
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!