shared cmd_out function command_test(varargin) assignin('caller','cmd_out',['|',sprintf('%s|',varargin{:})]); endfunction # 0, 1, 2, 3 simple arguments command_test assert(cmd_out,'|') command_test a assert(cmd_out,'|a|') command_test aa b assert(cmd_out,'|aa|b|') command_test aaa bb c assert(cmd_out,'|aaa|bb|c|') # continuation command_test a... bb ccc assert(cmd_out,'|a|bb|ccc|') command_test a ... bb ccc assert(cmd_out,'|a|bb|ccc|') command_test aa(... bb cc assert(cmd_out,'|aa(|bb|cc|') command_test aa( ... bb cc assert(cmd_out,'|aa( |bb|cc|') # comments command_test aa bb cc%comment assert(cmd_out,'|aa|bb|cc|') command_test aa bb cc#comment assert(cmd_out,'|aa|bb|cc|') command_test aa bb cc %comment assert(cmd_out,'|aa|bb|cc|') command_test aa bb cc #comment assert(cmd_out,'|aa|bb|cc|') command_test aa bb cc( %comment assert(cmd_out,'|aa|bb|cc( |') command_test aa bb cc( #comment assert(cmd_out,'|aa|bb|cc( |') # semicolons and commas; multiple commands command_test aa bb, disp cc assert(cmd_out,'|aa|bb|') command_test aa bb ; disp cc assert(cmd_out,'|aa|bb|') command_test aa bb ; command_test cc dd assert(cmd_out,'|cc|dd|') command_test aa bb command_test cc dd assert(cmd_out,'|cc|dd|') # parenthesis matching command_test aa(bb,cc,dd) ee(ff,gg) hh assert(cmd_out,'|aa(bb,cc,dd)|ee(ff,gg)|hh|') command_test aa([bb,cc)] assert(cmd_out,'|aa([bb,cc)]|') command_test aa(,@!$@"bb"'cc' assert(cmd_out,'|aa(,@!$@"bb"''cc''|') # single and double quotes command_test "aa" 'bb' cc assert(cmd_out,'|aa|bb|cc|') command_test "aa"'bb'cc assert(cmd_out,'|aabbcc|') command_test aa'bb'"cc" assert(cmd_out,'|aabbcc|') command_test "aa"bb'cc' assert(cmd_out,'|aabbcc|') # CVX-inspired command_test Z(n,n) hermitian toeplitz assert(cmd_out,'|Z(n,n)|hermitian|toeplitz|') command_test X( n, n ) symmetric assert(cmd_out,'|X( n, n )|symmetric|') command_test xw( nm-1, nv ); assert(cmd_out,'|xw( nm-1, nv )|') command_test x( sx ) y( sx ) z( sx ) assert(cmd_out,'|x( sx )|y( sx )|z( sx )|') command_test coeffs(deg+1) complex; assert(cmd_out,'|coeffs(deg+1)|complex|') command_test w( 1, npairs * nv ) v( 1, npairs * nv ) assert(cmd_out,'|w( 1, npairs * nv )|v( 1, npairs * nv )|') command_test w(m,1) % edge weights assert(cmd_out,'|w(m,1)|') command_test x2( size( x ) ) assert(cmd_out,'|x2( size( x ) )|')