mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Support empty strings.
This commit is contained in:
		
							parent
							
								
									1a76615a87
								
							
						
					
					
						commit
						6dcb545cc8
					
				| @ -510,6 +510,20 @@ BOOST_AUTO_TEST_CASE(strings) | ||||
| 	BOOST_CHECK(callContractFunction(1, bytes({0x00, 0x02, 0x01})) == expectation); | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(empty_string_on_stack) | ||||
| { | ||||
| 	char const* sourceCode = "contract test {\n" | ||||
| 							 "  function run(string0 empty, uint8 inp) returns(uint16 a, string0 b, string4 c) {\n" | ||||
| 							 "    var x = \"abc\";\n" | ||||
| 							 "    var y = \"\";\n" | ||||
| 							 "    var z = inp;\n" | ||||
| 							 "    a = z; b = y; c = x;" | ||||
| 							 "  }\n" | ||||
| 							 "}\n"; | ||||
| 	compileAndRun(sourceCode); | ||||
| 	BOOST_CHECK(callContractFunction(0, bytes({0x02})) == bytes({0x00, 0x02, 'a', 'b', 'c', 0x00})); | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(state_smoke_test) | ||||
| { | ||||
| 	char const* sourceCode = "contract test {\n" | ||||
|  | ||||
| @ -226,14 +226,6 @@ BOOST_AUTO_TEST_CASE(type_inference_explicit_conversion) | ||||
| 	BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text)); | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(empty_string_literal) | ||||
| { | ||||
| 	char const* text = "contract test {\n" | ||||
| 					   "  function f() { var x = \"\"; }" | ||||
| 					   "}\n"; | ||||
| 	BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError); | ||||
| } | ||||
| 
 | ||||
| BOOST_AUTO_TEST_CASE(large_string_literal) | ||||
| { | ||||
| 	char const* text = "contract test {\n" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user