| # Copyright 2023-2025 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| # Check that "set tui compact-source on" has the intended effect. |
| |
| require allow_tui_tests |
| |
| tuiterm_env |
| |
| standard_testfile |
| |
| # Let's generate the source file. We want a short file, with less than 10 |
| # lines, and the copyright notice by itself is already more that that. |
| set src_list \ |
| [list \ |
| "int" \ |
| "main (void)" \ |
| "{" \ |
| " return 0;" \ |
| "}"] |
| set re_line_four [string_to_regexp [lindex $src_list 3]] |
| set src_txt [join $src_list "\n"] |
| set srcfile [standard_output_file $srcfile] |
| set fd [open $srcfile w] |
| puts $fd $src_txt |
| close $fd |
| |
| if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} { |
| return -1 |
| } |
| |
| Term::clean_restart 24 80 $testfile |
| |
| gdb_test_no_output "maint set tui-left-margin-verbose on" |
| gdb_test_no_output "set tui compact-source on" |
| |
| if {![Term::enter_tui]} { |
| unsupported "TUI not supported" |
| return |
| } |
| |
| set re_border "\\|" |
| |
| set max_line_nr_in_source_file [llength $src_list] |
| # Ensure there are more lines in the window than in the source file. |
| set src_window_lines [expr $max_line_nr_in_source_file + 2] |
| # Account for border size. |
| set src_window_size [expr $src_window_lines + 2] |
| Term::command "wh src $src_window_size" |
| |
| set re_left_margin "___4_" |
| |
| Term::check_contents "compact source format" \ |
| "$re_border$re_left_margin$re_line_four *$re_border" |
| |
| set re_left_margin "___0*[expr $max_line_nr_in_source_file + 1]_" |
| Term::check_contents_not "no surplus line number" \ |
| "$re_border$re_left_margin *$re_border" |