From d063040ac1f2cb52877db00eea849cf352b93ba4 Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Fri, 11 Nov 2022 20:22:18 +0300 Subject: [PATCH] Add passing tests --- test/aeso_compiler_tests.erl | 3 +++ ...lymorphism_preserve_or_add_payable_contract.aes | 14 ++++++++++++++ ...morphism_preserve_or_add_payable_entrypoint.aes | 7 +++++++ ...hism_preserve_or_remove_stateful_entrypoint.aes | 7 +++++++ 4 files changed, 31 insertions(+) create mode 100644 test/contracts/polymorphism_preserve_or_add_payable_contract.aes create mode 100644 test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes create mode 100644 test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes diff --git a/test/aeso_compiler_tests.erl b/test/aeso_compiler_tests.erl index 626a2b8..67ada47 100644 --- a/test/aeso_compiler_tests.erl +++ b/test/aeso_compiler_tests.erl @@ -205,6 +205,9 @@ compilable_contracts() -> "polymorphism_variance_switching_chain_create", "polymorphism_variance_switching_void_supertype", "polymorphism_variance_switching_unify_with_interface_decls", + "polymorphism_preserve_or_add_payable_contract", + "polymorphism_preserve_or_add_payable_entrypoint", + "polymorphism_preserve_or_remove_stateful_entrypoint", "missing_init_fun_state_unit", "complex_compare_leq", "complex_compare", diff --git a/test/contracts/polymorphism_preserve_or_add_payable_contract.aes b/test/contracts/polymorphism_preserve_or_add_payable_contract.aes new file mode 100644 index 0000000..1d8877c --- /dev/null +++ b/test/contracts/polymorphism_preserve_or_add_payable_contract.aes @@ -0,0 +1,14 @@ +contract interface F = + entrypoint f : () => int + +payable contract interface G : F = + payable entrypoint f : () => int + entrypoint g : () => int + +payable contract interface H = + payable entrypoint h : () => int + +payable contract C : G, H = + payable entrypoint f() = 1 + payable entrypoint g() = 2 + payable entrypoint h() = 3 diff --git a/test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes b/test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes new file mode 100644 index 0000000..9940a8b --- /dev/null +++ b/test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes @@ -0,0 +1,7 @@ +contract interface I = + payable entrypoint f : () => int + entrypoint g : () => int + +contract C : I = + payable entrypoint f() = 1 + payable entrypoint g() = 2 diff --git a/test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes b/test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes new file mode 100644 index 0000000..71a39dc --- /dev/null +++ b/test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes @@ -0,0 +1,7 @@ +contract interface I = + stateful entrypoint f : () => int + stateful entrypoint g : () => int + +contract C : I = + stateful entrypoint f() = 1 + entrypoint g() = 2