mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-26 10:30:22 -04:00 
			
		
		
		
	
		
			
	
	
		
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | #!/usr/bin/python | ||
|  | 
 | ||
|  | # Copyright 2012. Jurko Gospodnetic | ||
|  | # Distributed under the Boost Software License, Version 1.0. | ||
|  | # (See accompanying file LICENSE_1_0.txt or copy at | ||
|  | # http://www.boost.org/LICENSE_1_0.txt) | ||
|  | 
 | ||
|  | # This tests the SPLIT_BY_CHARACTERS rule. | ||
|  | 
 | ||
|  | import BoostBuild | ||
|  | 
 | ||
|  | def test_invalid(params, expected_error_line): | ||
|  |     t = BoostBuild.Tester(pass_toolset=0) | ||
|  |     t.write("file.jam", "SPLIT_BY_CHARACTERS %s ;" % params) | ||
|  |     t.run_build_system(["-ffile.jam"], status=1) | ||
|  |     t.expect_output_lines("[*] %s" % expected_error_line) | ||
|  |     t.cleanup() | ||
|  | 
 | ||
|  | def test_valid(): | ||
|  |     t = BoostBuild.Tester(pass_toolset=0) | ||
|  |     t.write("jamroot.jam", """\
 | ||
|  | import assert ; | ||
|  | 
 | ||
|  | assert.result FooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : "" ; | ||
|  | assert.result FooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : x ; | ||
|  | assert.result FooBa Baz : SPLIT_BY_CHARACTERS FooBarBaz : r ; | ||
|  | assert.result FooBa Baz : SPLIT_BY_CHARACTERS FooBarBaz : rr ; | ||
|  | assert.result FooBa Baz : SPLIT_BY_CHARACTERS FooBarBaz : rrr ; | ||
|  | assert.result FooB rB z : SPLIT_BY_CHARACTERS FooBarBaz : a ; | ||
|  | assert.result FooB B z : SPLIT_BY_CHARACTERS FooBarBaz : ar ; | ||
|  | assert.result ooBarBaz : SPLIT_BY_CHARACTERS FooBarBaz : F ; | ||
|  | assert.result FooBarBa : SPLIT_BY_CHARACTERS FooBarBaz : z ; | ||
|  | assert.result ooBarBa : SPLIT_BY_CHARACTERS FooBarBaz : Fz ; | ||
|  | assert.result F B rB z : SPLIT_BY_CHARACTERS FooBarBaz : oa ; | ||
|  | assert.result Alib b : SPLIT_BY_CHARACTERS Alibaba : oa ; | ||
|  | assert.result libaba : SPLIT_BY_CHARACTERS Alibaba : oA ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS FooBarBaz : FooBarBaz ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS FooBarBaz : FoBarz ; | ||
|  | 
 | ||
|  | # Questionable results - should they return an empty string or an empty list? | ||
|  | assert.result : SPLIT_BY_CHARACTERS "" : "" ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS "" : x ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS "" : r ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS "" : rr ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS "" : rrr ; | ||
|  | assert.result : SPLIT_BY_CHARACTERS "" : oa ; | ||
|  | """)
 | ||
|  |     t.run_build_system() | ||
|  |     t.cleanup() | ||
|  | 
 | ||
|  | test_invalid("", "missing argument string") | ||
|  | test_invalid("Foo", "missing argument delimiters") | ||
|  | test_invalid(": Bar", "missing argument string") | ||
|  | test_invalid("a : b : c", "extra argument c") | ||
|  | test_invalid("a b : c", "extra argument b") | ||
|  | test_invalid("a : b c", "extra argument c") | ||
|  | test_valid() |