vector_to_slice.rs 804 B

12345678910111213141516171819202122232425262728293031323334
  1. // SPDX-License-Identifier: Apache-2.0
  2. use crate::{build_solidity, BorshToken};
  3. #[test]
  4. fn test_slice_in_phi() {
  5. let file = r#"
  6. contract c1 {
  7. function test() public returns (string) {
  8. string ast = "Hello!";
  9. string bst = "from Solang";
  10. while (ast == bst) {
  11. ast = ast + "a";
  12. }
  13. return ast;
  14. }
  15. }
  16. "#;
  17. let mut vm = build_solidity(file);
  18. let data_account = vm.initialize_data_account();
  19. vm.function("new")
  20. .accounts(vec![("dataAccount", data_account)])
  21. .call();
  22. let returns = vm
  23. .function("test")
  24. .accounts(vec![("dataAccount", data_account)])
  25. .call()
  26. .unwrap();
  27. assert_eq!(returns, BorshToken::String(String::from("Hello!")));
  28. }