Skip to content

Commit 236035a

Browse files
authored
1 parent 98e2e72 commit 236035a

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

src/test/kotlin/me/serce/solidity/lang/core/resolve/SolFunctionResolveTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,27 @@ class SolFunctionResolveTest : SolResolveTestBase() {
393393
""")
394394
}
395395

396+
fun testResolveImportedError() {
397+
val file1 = InlineFile("""
398+
error XyzError(uint x);
399+
//x
400+
""",
401+
name = "Xyz.sol"
402+
)
403+
404+
val file2 = InlineFile("""
405+
import "./Xyz.sol";
406+
contract B {
407+
function doit(uint256[] storage array) {
408+
revert XyzError(1);
409+
//^
410+
}
411+
}
412+
""")
413+
414+
testResolveBetweenFiles(file1, file2)
415+
}
416+
396417
fun checkIsResolved(@Language("Solidity") code: String) {
397418
val (refElement, _) = resolveInCode<SolFunctionCallExpression>(code)
398419
assertNotNull(refElement.reference?.resolve())

src/test/kotlin/me/serce/solidity/lang/core/resolve/SolStructResolveTest.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,28 @@ class SolStructResolveTest : SolResolveTestBase() {
7878
//^
7979
}
8080
""")
81+
82+
fun testResolveImportedStruct() {
83+
val file1 = InlineFile(
84+
code = """
85+
struct Proposal {
86+
//x
87+
uint256 id;
88+
}
89+
""".trimIndent(),
90+
name = "Abc.sol"
91+
)
92+
93+
val file2 = InlineFile("""
94+
import "./Abc.sol";
95+
contract B {
96+
function doit(uint256[] storage array) {
97+
Proposal prop = Proposal(1);
98+
//^
99+
}
100+
}
101+
""")
102+
103+
testResolveBetweenFiles(file1, file2)
104+
}
81105
}

0 commit comments

Comments
 (0)