content: # file name tests
  
  [[cmd]]
  name = "‘exa’ produces a grid of file names"
  shell = "exa /testcases/file-names"
  environment = { COLUMNS = "80" }
  stdout = { file = "outputs/names_grid.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘exa -x’ produces an across grid of file names"
  shell = "exa -x /testcases/file-names"
  environment = { COLUMNS = "80" }
  stdout = { file = "outputs/names_grid_across.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid', 'across' ]
  
  [[cmd]]
  name = "‘exa -d’ displays, ‘.’, ‘..’, and ‘/’ correctly"
  shell = "exa -d . .. /"
  environment = { COLUMNS = "80" }
  stdout = { file = "outputs/dirs_grid.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid', 'list-dirs' ]
  
  
  # recurse tests
  
  [[cmd]]
  name = "‘exa -R’ produces several grids of file names"
  shell = "exa -R /testcases/file-names"
  environment = { COLUMNS = "80" }
  stdout = { file = "outputs/names_grid_recurse.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid', 'recurse' ]
  
  
  # symlink tests
  
  [[cmd]]
  name = "‘exa’ highlights symlinks and broken symlinks"
  shell = "exa /testcases/links"
  environment = { COLUMNS = "80" }
  stdout = { file = "outputs/links_grid.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  
  
  # columns and width tests
  
  [[cmd]]
  name = "‘COLUMNS=40 exa’ produces a grid of 4 columns"
  shell = "exa /testcases/files"
  environment = { COLUMNS = "40" }
  stdout = { file = "outputs/files_grid_4col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘COLUMNS=80 exa’ produces a grid of 8 columns"
  shell = "exa /testcases/files"
  environment = { COLUMNS = "80" }
  stdout = { file = "outputs/files_grid_8col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘COLUMNS=120 exa’ produces a grid of 13 columns"
  shell = "exa /testcases/files"
  environment = { COLUMNS = "120" }
  stdout = { file = "outputs/files_grid_13col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘COLUMNS=160 exa’ produces a grid of 13 columns"
  shell = "exa /testcases/files"
  environment = { COLUMNS = "160" }
  stdout = { file = "outputs/files_grid_13col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘COLUMNS=200 exa’ produces a grid of 20 columns"
  shell = "exa /testcases/files"
  environment = { COLUMNS = "200" }
  stdout = { file = "outputs/files_grid_20col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  
  # columns and width tests with files
  # (warning: some of the output files have trailing whitespace)
  
  [[cmd]]
  name = "‘COLUMNS=100 exa’ with file arguments produces a grid of 3 columns, with full paths"
  shell = "exa /testcases/files/*"
  environment = { COLUMNS = "100" }
  stdout = { file = "outputs/files_paths_grid_3col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘COLUMNS=150 exa’ with file arguments produces a grid of 5 columns, with full paths"
  shell = "exa /testcases/files/*"
  environment = { COLUMNS = "150" }
  stdout = { file = "outputs/files_paths_grid_5col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  
  [[cmd]]
  name = "‘COLUMNS=200 exa’ with file arguments produces a grid of 7 columns, with full paths"
  shell = "exa /testcases/files/*"
  environment = { COLUMNS = "200" }
  stdout = { file = "outputs/files_paths_grid_7col.ansitxt" }
  stderr = { empty = true }
  status = 0
  tags = [ 'env', 'grid' ]
  