@@ -256,6 +256,46 @@ module.exports = {
256
256
assert . equal ( document . activeElement , lines . cells [ 1 ] . element . childNodes [ 2 ] ) ;
257
257
done ( ) ;
258
258
} , 20 ) ;
259
+ } , "test: aria attributes mode with getFoldWidgetRange" : function ( ) {
260
+ var editor = this . editor ;
261
+ var value = "x {" + "\n" . repeat ( 5 ) + "}" ;
262
+ editor . session . setMode ( new Mode ( ) ) ;
263
+ editor . setOption ( "enableKeyboardAccessibility" , true ) ;
264
+ editor . setValue ( value , - 1 ) ;
265
+ editor . renderer . $loop . _flush ( ) ;
266
+
267
+ var lines = editor . renderer . $gutterLayer . $lines ;
268
+ var toggler = lines . cells [ 0 ] . element . children [ 1 ] ;
269
+
270
+ assert . equal ( toggler . getAttribute ( "aria-label" ) , "Toggle code folding, rows 1 through 6" ) ;
271
+ assert . equal ( toggler . getAttribute ( "aria-expanded" ) , "true" ) ;
272
+ assert . equal ( toggler . getAttribute ( "title" ) , "Fold code" ) ;
273
+
274
+ editor . session . $toggleFoldWidget ( 0 , { } ) ;
275
+ editor . renderer . $loop . _flush ( ) ;
276
+
277
+ assert . equal ( toggler . getAttribute ( "aria-label" ) , "Toggle code folding, rows 1 through 6" ) ;
278
+ assert . equal ( toggler . getAttribute ( "aria-expanded" ) , "false" ) ;
279
+ assert . equal ( toggler . getAttribute ( "title" ) , "Unfold code" ) ;
280
+ } ,
281
+ "test: aria attributes mode without getFoldWidgetRange" : function ( ) {
282
+ var editor = this . editor ;
283
+ var value = "x {" + "\n" . repeat ( 5 ) + "}" ;
284
+ var mode = new Mode ( ) ;
285
+ mode . foldingRules . getFoldWidgetRange = function ( session , foldStyle , row ) {
286
+ return null ;
287
+ } ;
288
+ editor . session . setMode ( mode ) ;
289
+ editor . setOption ( "enableKeyboardAccessibility" , true ) ;
290
+ editor . setValue ( value , - 1 ) ;
291
+ editor . renderer . $loop . _flush ( ) ;
292
+
293
+ var lines = editor . renderer . $gutterLayer . $lines ;
294
+ var toggler = lines . cells [ 0 ] . element . children [ 1 ] ;
295
+
296
+ assert . equal ( toggler . getAttribute ( "aria-label" ) , "Toggle code folding, row 1" ) ;
297
+ assert . equal ( toggler . getAttribute ( "aria-expanded" ) , "true" ) ;
298
+ assert . equal ( toggler . getAttribute ( "title" ) , "Fold code" ) ;
259
299
} , "test: should signal keyboard event" : function ( done ) {
260
300
var editor = this . editor ;
261
301
var value = "x {" + "\n" . repeat ( 50 ) + "}\n" ;
0 commit comments