A slate to write and draw on, then export to html
function test_show_log_browser_side()
  App.screen.init{width=300, height=300}
  Current_app = 'source'
  Editor_state = edit.initialize_test_state()
  Editor_state.filename = 'foo'
  Text.redraw_all(Editor_state)
  Log_browser_state = edit.initialize_test_state()
  Text.redraw_all(Log_browser_state)
  log_browser.parse(Log_browser_state)
  check(not Show_log_browser_side, 'baseline')
  -- pressing ctrl+l shows log-browser side
  Current_time = Current_time + 0.1
  App.run_after_keychord('C-l', 'l')
  check(Show_log_browser_side, 'check')
end

function test_show_log_browser_side_splits_window_width()
  -- initialize screen dimensions and indicate that it is maximized
  App.screen.init{width=300, height=300}
  -- initialize source app with left side occupying more than half the display
  Current_app = 'source'
  Editor_state = edit.initialize_test_state()
  Editor_state.filename = 'foo'
  Editor_state.left = Margin_left
  Editor_state.right = 200
  Text.redraw_all(Editor_state)
  Log_browser_state = edit.initialize_test_state()
  -- log browser has some arbitrary margins
  Log_browser_state.left = 200 + Margin_left
  Log_browser_state.right = 400
  Text.redraw_all(Log_browser_state)
  log_browser.parse(Log_browser_state)
  -- display log browser
  Current_time = Current_time + 0.1
  App.run_after_keychord('C-l', 'l')
  -- margins are now adjusted
  check_eq(Editor_state.left, Margin_left, 'edit:left')
  check_eq(Editor_state.right, App.screen.width/2 - Margin_right, 'edit:right')
  check_eq(Log_browser_state.left, App.screen.width/2 + Margin_left, 'log:left')
  check_eq(Log_browser_state.right, App.screen.width - Margin_right, 'log:right')
end