File tree Expand file tree Collapse file tree 5 files changed +173
-1
lines changed Expand file tree Collapse file tree 5 files changed +173
-1
lines changed Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ The new version [**v2**](https://raw.githack.com/uiwjs/react-json-view/v2-docs/i
3030
3131- [x] Complete all features of displaying JSON in v1.
3232- [ ] Add editing functionality to v2.
33- - [ ] Add test cases to v2.
33+ - [x ] Add test cases to v2.
3434
3535## Quick Start
3636
Original file line number Diff line number Diff line change 1+ import { screen , render , waitFor } from '@testing-library/react' ;
2+ import JsonView from '..' ;
3+
4+ it ( 'renders <JsonView.BraceRight /> test case' , async ( ) => {
5+ const demo = {
6+ value : '123' ,
7+ } ;
8+ const { container } = render (
9+ < JsonView value = { demo } >
10+ < JsonView . BraceRight data-testid = "brace" > x</ JsonView . BraceRight >
11+ </ JsonView > ,
12+ ) ;
13+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
14+ await waitFor ( ( ) => {
15+ const arrow = screen . getByTestId ( 'brace' ) ;
16+ expect ( arrow . tagName ) . toBe ( 'SPAN' ) ;
17+ expect ( arrow . innerHTML ) . toBe ( 'x' ) ;
18+ } ) ;
19+ } ) ;
20+
21+ it ( 'renders <JsonView.BraceRight render /> test case' , async ( ) => {
22+ const demo = {
23+ value : '123' ,
24+ } ;
25+ const { container } = render (
26+ < JsonView value = { demo } >
27+ < JsonView . BraceRight
28+ data-testid = "brace"
29+ render = { ( props ) => {
30+ expect ( props . style ) . toHaveProperty ( 'color' , 'var(--w-rjv-curlybraces-color, #236a7c)' ) ;
31+ return < span { ...props } > .......</ span > ;
32+ } }
33+ />
34+ </ JsonView > ,
35+ ) ;
36+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
37+ await waitFor ( ( ) => {
38+ const arrow = screen . getByTestId ( 'brace' ) ;
39+ expect ( arrow . tagName ) . toBe ( 'SPAN' ) ;
40+ expect ( arrow . className ) . toBe ( 'w-rjv-curlybraces-end' ) ;
41+ expect ( arrow . innerHTML ) . toBe ( '.......' ) ;
42+ } ) ;
43+ } ) ;
Original file line number Diff line number Diff line change 1+ import { screen , render , waitFor } from '@testing-library/react' ;
2+ import JsonView from '..' ;
3+
4+ it ( 'renders <JsonView.BracketsLeft /> test case' , async ( ) => {
5+ const demo = {
6+ value : [ '123' ] ,
7+ } ;
8+ const { container } = render (
9+ < JsonView value = { demo } >
10+ < JsonView . BracketsLeft data-testid = "brace" > x</ JsonView . BracketsLeft >
11+ </ JsonView > ,
12+ ) ;
13+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
14+ await waitFor ( ( ) => {
15+ const arrow = screen . getByTestId ( 'brace' ) ;
16+ expect ( arrow . tagName ) . toBe ( 'SPAN' ) ;
17+ expect ( arrow . innerHTML ) . toBe ( 'x' ) ;
18+ } ) ;
19+ } ) ;
20+
21+ it ( 'renders <JsonView.BracketsLeft render /> test case' , async ( ) => {
22+ const demo = {
23+ value : [ '123' ] ,
24+ } ;
25+ const { container } = render (
26+ < JsonView value = { demo } >
27+ < JsonView . BracketsLeft
28+ data-testid = "brace"
29+ render = { ( props ) => {
30+ expect ( props . style ) . toHaveProperty ( 'color' , 'var(--w-rjv-brackets-color, #236a7c)' ) ;
31+ return < span { ...props } > .......</ span > ;
32+ } }
33+ />
34+ </ JsonView > ,
35+ ) ;
36+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
37+ await waitFor ( ( ) => {
38+ const arrow = screen . getByTestId ( 'brace' ) ;
39+ expect ( arrow . tagName ) . toBe ( 'SPAN' ) ;
40+ expect ( arrow . className ) . toBe ( 'w-rjv-brackets-start' ) ;
41+ expect ( arrow . innerHTML ) . toBe ( '.......' ) ;
42+ } ) ;
43+ } ) ;
Original file line number Diff line number Diff line change 1+ import { screen , render , waitFor } from '@testing-library/react' ;
2+ import JsonView from '..' ;
3+
4+ it ( 'renders <JsonView.BracketsRight /> test case' , async ( ) => {
5+ const demo = {
6+ value : [ '123' ] ,
7+ } ;
8+ const { container } = render (
9+ < JsonView value = { demo } >
10+ < JsonView . BracketsRight data-testid = "brace" > x</ JsonView . BracketsRight >
11+ </ JsonView > ,
12+ ) ;
13+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
14+ await waitFor ( ( ) => {
15+ const arrow = screen . getByTestId ( 'brace' ) ;
16+ expect ( arrow . tagName ) . toBe ( 'SPAN' ) ;
17+ expect ( arrow . innerHTML ) . toBe ( 'x' ) ;
18+ } ) ;
19+ } ) ;
20+
21+ it ( 'renders <JsonView.BracketsRight render /> test case' , async ( ) => {
22+ const demo = {
23+ value : [ '123' ] ,
24+ } ;
25+ const { container } = render (
26+ < JsonView value = { demo } >
27+ < JsonView . BracketsRight
28+ data-testid = "brace"
29+ render = { ( props ) => {
30+ expect ( props . style ) . toHaveProperty ( 'color' , 'var(--w-rjv-brackets-color, #236a7c)' ) ;
31+ return < span { ...props } > .......</ span > ;
32+ } }
33+ />
34+ </ JsonView > ,
35+ ) ;
36+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
37+ await waitFor ( ( ) => {
38+ const arrow = screen . getByTestId ( 'brace' ) ;
39+ expect ( arrow . tagName ) . toBe ( 'SPAN' ) ;
40+ expect ( arrow . className ) . toBe ( 'w-rjv-brackets-end' ) ;
41+ expect ( arrow . innerHTML ) . toBe ( '.......' ) ;
42+ } ) ;
43+ } ) ;
Original file line number Diff line number Diff line change 1+ import { screen , render , waitFor } from '@testing-library/react' ;
2+ import JsonView from '..' ;
3+
4+ it ( 'renders <JsonView.Colon /> test case' , async ( ) => {
5+ const demo = {
6+ value : 123 ,
7+ } ;
8+ const { container } = render (
9+ < JsonView value = { demo } >
10+ < JsonView . Colon data-testid = "brace" > x</ JsonView . Colon >
11+ </ JsonView > ,
12+ ) ;
13+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
14+ await waitFor ( ( ) => {
15+ const elm = screen . getByTestId ( 'brace' ) ;
16+ expect ( elm . tagName ) . toBe ( 'SPAN' ) ;
17+ expect ( elm . innerHTML ) . toBe ( 'x' ) ;
18+ } ) ;
19+ } ) ;
20+
21+ it ( 'renders <JsonView.Colon render /> test case' , async ( ) => {
22+ const demo = {
23+ value : 123 ,
24+ } ;
25+ const { container } = render (
26+ < JsonView value = { demo } >
27+ < JsonView . Colon
28+ data-testid = "colon"
29+ render = { ( props ) => {
30+ expect ( props . style ) . toHaveProperty ( 'color' , 'var(--w-rjv-colon-color, var(--w-rjv-color))' ) ;
31+ return < span { ...props } > .......</ span > ;
32+ } }
33+ />
34+ </ JsonView > ,
35+ ) ;
36+ expect ( container . firstElementChild ) . toBeInstanceOf ( Element ) ;
37+ await waitFor ( ( ) => {
38+ const elm = screen . getByTestId ( 'colon' ) ;
39+ expect ( elm . tagName ) . toBe ( 'SPAN' ) ;
40+ expect ( elm . className ) . toBe ( 'w-rjv-colon' ) ;
41+ expect ( elm . innerHTML ) . toBe ( '.......' ) ;
42+ } ) ;
43+ } ) ;
You can’t perform that action at this time.
0 commit comments