@@ -17,7 +17,7 @@ function t_mp_logger(quiet)
1717 quiet = 0 ;
1818end
1919
20- n_tests = 20 ;
20+ n_tests = 44 ;
2121
2222t_begin(n_tests , quiet );
2323
@@ -37,6 +37,8 @@ function t_mp_logger(quiet)
3737
3838 %% no redirection
3939 t = ' no redirection : ' ;
40+ t_ok(~mp .logger.manager(' active' ), [t ' not active' ]);
41+ t_ok(mp .logger.manager(' write_to_console' ), [t ' write_to_console' ]);
4042 fname_got = mp .logger.manager(' path' );
4143 t_ok(isempty(fname_got ), [t ' log file path (empty)' ]);
4244 c = evalc(' mp_disp(sprintf('' This is %d\n lines of\n text (%s ).\n'' , 3, '' I think'' )); mp_disp(exp(1));' );
@@ -62,21 +64,29 @@ function t_mp_logger(quiet)
6264 t = ' redirect to file : ' ;
6365 fname = sprintf(' redir-disp-%d .txt' , fix(rand * 1e8 ));
6466 mp .logger.manager(' init' , fname );
67+ active = mp .logger.manager(' active' );
68+ write_to_console = mp .logger.manager(' write_to_console' );
6569 mp_disp(exp(1 ));
6670 c = evalc(' mp_disp(sprintf('' This is %d\n lines of\n text (%s ).\n'' , 3, '' I think'' ));' );
6771 fname_got = mp .logger.manager(' path' );
6872 mp .logger.manager(' clear' , fname );
73+ t_ok(active , [t ' active' ]);
74+ t_ok(~write_to_console , [t ' not write_to_console' ]);
6975 t_str_match(fname_got , fname , [t ' log file path' ]);
7076 t_file_match(fname , redir_disp_fname , [t ' mp_disp - file w/expected content' ], {}, true );
7177 t_ok(isempty(c ), [t ' mp_disp - no console output' ]);
7278 t_ok(isempty(mp .logger.manager(' get' )), [t ' mp.logger.manage('' clear'' )' ]);
7379
7480 fname = sprintf(' redir-printf-%d .txt' , fix(rand * 1e8 ));
7581 mp .logger.manager(' init' , fname );
82+ active = mp .logger.manager(' active' );
83+ write_to_console = mp .logger.manager(' write_to_console' );
7684 mp_printf(' This is %d\n lines of\n text (%s ).\n ' , 3 , ' I think' );
7785 c = evalc(' mp_printf('' Hello %s !\n\n'' , '' mp_printf'' );' );
7886 fname_got = mp .logger.manager(' path' );
7987 mp .logger.manager(' clear' , fname );
88+ t_ok(active , [t ' active' ]);
89+ t_ok(~write_to_console , [t ' not write_to_console' ]);
8090 t_str_match(fname_got , fname , [t ' log file path' ]);
8191 t_file_match(fname , redir_printf_fname , [t ' mp_printf - file w/expected content' ], {}, true );
8292 t_ok(isempty(c ), [t ' mp_printf - no console output' ]);
@@ -86,6 +96,8 @@ function t_mp_logger(quiet)
8696 t = ' both : ' ;
8797 fname = sprintf(' redir-disp-%d .txt' , fix(rand * 1e8 ));
8898 mp .logger.manager(' init' , fname , ' a' , 1 );
99+ active = mp .logger.manager(' active' );
100+ write_to_console = mp .logger.manager(' write_to_console' );
89101 c = evalc(' mp_disp(exp(1)); mp_disp(sprintf('' This is %d\n lines of\n text (%s ).\n'' , 3, '' I think'' ));' );
90102 if have_feature(' octave' )
91103 if have_feature(' octave' , ' vnum' ) < 6
@@ -98,6 +110,8 @@ function t_mp_logger(quiet)
98110 end
99111 fname_got = mp .logger.manager(' path' );
100112 mp .logger.manager(' clear' , fname );
113+ t_ok(active , [t ' active' ]);
114+ t_ok(write_to_console , [t ' write_to_console' ]);
101115 t_str_match(fname_got , fname , [t ' log file path' ]);
102116 t_file_match(fname , redir_disp_fname , [t ' mp_disp - file w/expected content' ], {}, true );
103117 if ~t_str_match(c , expected , [t ' mp_disp - outputs to console' ]);
@@ -108,17 +122,56 @@ function t_mp_logger(quiet)
108122
109123 fname = sprintf(' redir-printf-%d .txt' , fix(rand * 1e8 ));
110124 mp .logger.manager(' init' , fname , ' w' , 1 );
125+ active = mp .logger.manager(' active' );
126+ write_to_console = mp .logger.manager(' write_to_console' );
111127 c = evalc(' mp_printf('' This is %d\n lines of\n text (%s ).\n'' , 3, '' I think'' ); mp_printf('' Hello %s !\n\n'' , '' mp_printf'' );' );
112128 expected = sprintf(' This is 3\n lines of\n text (I think).\n Hello mp_printf!\n\n ' );
113129 fname_got = mp .logger.manager(' path' );
114130 mp .logger.manager(' clear' , fname );
131+ t_ok(active , [t ' active' ]);
132+ t_ok(write_to_console , [t ' write_to_console' ]);
115133 t_str_match(fname_got , fname , [t ' log file path' ]);
116134 t_file_match(fname , redir_printf_fname , [t ' mp_printf - file w/expected content' ], {}, true );
117135 t_str_match(c , expected , [t ' mp_printf - outputs to console' ]);
118136 t_ok(isempty(mp .logger.manager(' get' )), [t ' mp.logger.manage('' clear'' )' ]);
137+ t_ok(~mp .logger.manager(' active' ), [t ' not active' ]);
138+ t_ok(mp .logger.manager(' write_to_console' ), [t ' write_to_console' ]);
119139
120140 fname_got = mp .logger.manager(' path' );
121141 t_ok(isempty(fname_got ), [t ' log file path (empty)' ]);
142+
143+ %% pause
144+ t = ' pause : ' ;
145+ fname = sprintf(' redir-printf-%d .txt' , fix(rand * 1e8 ));
146+ mp .logger.manager(' init' , fname );
147+ active = mp .logger.manager(' active' );
148+ write_to_console = mp .logger.manager(' write_to_console' );
149+ mp .logger.manager(' pause' );
150+ t_ok(active , [t ' active (before pause)' ]);
151+ t_ok(~write_to_console , [t ' not write_to_console (before pause)' ]);
152+ t_ok(~mp .logger.manager(' active' ), [t ' not active' ]);
153+ t_ok(mp .logger.manager(' write_to_console' ), [t ' write_to_console' ]);
154+ fname_got = mp .logger.manager(' path' );
155+ t_ok(isempty(fname_got ), [t ' log file path (empty)' ]);
156+ c = evalc(' mp_printf('' Hello %s !\n\n'' , '' mp_printf'' ); mp_printf('' This is %d\n lines of\n text (%s ).\n'' , 3, '' I think'' );' );
157+ expected = sprintf(' Hello mp_printf!\n\n This is 3\n lines of\n text (I think).\n ' );
158+ t_str_match(c , expected , [t ' mp_printf - outputs to console' ]);
159+
160+ %% resume
161+ t = ' resume : ' ;
162+ mp .logger.manager(' resume' );
163+ active = mp .logger.manager(' active' );
164+ write_to_console = mp .logger.manager(' write_to_console' );
165+ mp_printf(' This is %d\n lines of\n text (%s ).\n ' , 3 , ' I think' );
166+ c = evalc(' mp_printf('' Hello %s !\n\n'' , '' mp_printf'' );' );
167+ fname_got = mp .logger.manager(' path' );
168+ mp .logger.manager(' clear' , fname );
169+ t_ok(active , [t ' active' ]);
170+ t_ok(~write_to_console , [t ' not write_to_console' ]);
171+ t_str_match(fname_got , fname , [t ' log file path' ]);
172+ t_file_match(fname , redir_printf_fname , [t ' mp_printf - file w/expected content' ], {}, true );
173+ t_ok(isempty(c ), [t ' mp_printf - no console output' ]);
174+ t_ok(isempty(mp .logger.manager(' get' )), [t ' mp.logger.manage('' clear'' )' ]);
122175else
123176 t_skip(n_tests , ' mp.logger object in use, tests will not work' );
124177end
0 commit comments