|
1 | 1 | import { render } from '@testing-library/react'; |
2 | 2 | import * as React from 'react'; |
3 | | -import findDOMNode, { isDOM } from '../src/Dom/findDOMNode'; |
| 3 | +import findDOMNode, { getDOM, isDOM } from '../src/Dom/findDOMNode'; |
4 | 4 | import proxyObject from '../src/proxyObject'; |
5 | 5 |
|
6 | 6 | describe('findDOMNode', () => { |
@@ -129,4 +129,31 @@ describe('findDOMNode', () => { |
129 | 129 | container.querySelector('span'), |
130 | 130 | ); |
131 | 131 | }); |
| 132 | + |
| 133 | + describe('getDOM', () => { |
| 134 | + it('should return the DOM node when input is a DOM node', () => { |
| 135 | + const node = document.createElement('div'); |
| 136 | + const result = getDOM(node); |
| 137 | + |
| 138 | + expect(result).toBe(node); |
| 139 | + }); |
| 140 | + |
| 141 | + it('should return the nativeElement when input is an object with a DOM node as nativeElement', () => { |
| 142 | + const nativeElement = document.createElement('div'); |
| 143 | + const node = { nativeElement }; |
| 144 | + |
| 145 | + const result = getDOM(node); |
| 146 | + |
| 147 | + expect(result).toBe(nativeElement); |
| 148 | + }); |
| 149 | + |
| 150 | + it.each([null, void 0, { foo: 'bar' }, 'string'])( |
| 151 | + 'should return null when input is not a DOM node', |
| 152 | + node => { |
| 153 | + const result = getDOM(node); |
| 154 | + |
| 155 | + expect(result).toBeNull(); |
| 156 | + }, |
| 157 | + ); |
| 158 | + }); |
132 | 159 | }); |
0 commit comments