Describe extensions_default.vim Before let g:airline#extensions#default#layout = [ \ [ 'c', 'a', 'b', 'warning' ], \ [ 'x', 'z', 'y' ] \ ] let s:builder = airline#builder#new({'active': 1}) End It should use the layout airline_a_to_airline_b call airline#extensions#default#apply(s:builder, { 'winnr': 1, 'active': 1 }) let stl = s:builder.build() Assert Match(stl, 'airline_c_to_airline_a') end It should use the layout airline_a_to_airline_b call airline#extensions#default#apply(s:builder, { 'winnr': 1, 'active': 1 }) let stl = s:builder.build() Assert Match(stl, 'airline_a_to_airline_b') End It should use the layout airline_b_to_airline_warning call airline#extensions#default#apply(s:builder, { 'winnr': 1, 'active': 1 }) let stl = s:builder.build() Assert Match(stl, 'airline_b_to_airline_warning') end it should use the layout airline_x_to_airline_z call airline#extensions#default#apply(s:builder, { 'winnr': 1, 'active': 1 }) let stl = s:builder.build() Assert Match(stl, 'airline_x_to_airline_z') end it should use the layout airline_z_to_airline_y call airline#extensions#default#apply(s:builder, { 'winnr': 1, 'active': 1 }) let stl = s:builder.build() Assert Match(stl, 'airline_z_to_airline_y') end it should only render warning section in active splits wincmd s Assert Match(airline#statusline(1), 'warning') Assert NotMatch(airline#statusline(2), 'warning') wincmd c end end