@@ -72,17 +72,38 @@ describe("Tree", () => {
7272
7373 it ( "is accessible" , ( ) => {
7474 const wrapper = mountTree ( {
75- expanded : new Set ( "ABCDEFGHIJKLMNO " . split ( "" ) ) ,
75+ expanded : new Set ( "ABCDEFGHIJMN " . split ( "" ) ) ,
7676 } ) ;
7777 expect ( wrapper . getDOMNode ( ) . getAttribute ( "role" ) ) . toBe ( "tree" ) ;
7878 expect ( wrapper . getDOMNode ( ) . getAttribute ( "tabIndex" ) ) . toBe ( "0" ) ;
7979
80- getTreeNodes ( wrapper )
81- . everyWhere ( node => expect (
82- node . prop ( "id" ) . startsWith ( "key-" )
83- && node . prop ( "role" ) === "treeitem"
84- && typeof node . prop ( "aria-level" ) !== "undefined"
85- ) . toBe ( true ) ) ;
80+ const expected = {
81+ "A" : { id : "key-A" , level : 1 , expanded : true } ,
82+ "B" : { id : "key-B" , level : 2 , expanded : true } ,
83+ "C" : { id : "key-C" , level : 2 , expanded : true } ,
84+ "D" : { id : "key-D" , level : 2 , expanded : true } ,
85+ "E" : { id : "key-E" , level : 3 , expanded : true } ,
86+ "F" : { id : "key-F" , level : 3 , expanded : true } ,
87+ "G" : { id : "key-G" , level : 3 , expanded : true } ,
88+ "H" : { id : "key-H" , level : 3 , expanded : true } ,
89+ "I" : { id : "key-I" , level : 3 , expanded : true } ,
90+ "J" : { id : "key-J" , level : 3 , expanded : true } ,
91+ "K" : { id : "key-K" , level : 4 , expanded : undefined } ,
92+ "L" : { id : "key-L" , level : 4 , expanded : undefined } ,
93+ "M" : { id : "key-M" , level : 1 , expanded : true } ,
94+ "N" : { id : "key-N" , level : 2 , expanded : true } ,
95+ "O" : { id : "key-O" , level : 3 , expanded : undefined } ,
96+ } ;
97+
98+ getTreeNodes ( wrapper ) . forEach ( node => {
99+ const key = node . prop ( "id" ) . replace ( "key-" , "" ) ;
100+ const item = expected [ key ] ;
101+
102+ expect ( node . prop ( "id" ) ) . toBe ( item . id ) ;
103+ expect ( node . prop ( "role" ) ) . toBe ( "treeitem" ) ;
104+ expect ( node . prop ( "aria-level" ) ) . toBe ( item . level ) ;
105+ expect ( node . prop ( "aria-expanded" ) ) . toBe ( item . expanded ) ;
106+ } ) ;
86107 } ) ;
87108
88109 it ( "renders as expected" , ( ) => {
@@ -439,8 +460,8 @@ function simulateKeyDown(wrapper, key) {
439460function formatTree ( wrapper ) {
440461 return getTreeNodes ( wrapper )
441462 . map ( ( node ) => {
442- const level = node . prop ( "aria-level" ) ;
443- const indentStr = "| " . repeat ( level || 0 ) ;
463+ const level = ( node . prop ( "aria-level" ) || 1 ) - 1 ;
464+ const indentStr = "| " . repeat ( level ) ;
444465 const arrow = node . find ( "i.arrow" ) ;
445466 let arrowStr = " " ;
446467 if ( arrow . exists ( ) ) {
0 commit comments