diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt
new file mode 100644
index 00000000000..42199f87283
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt
@@ -0,0 +1,2 @@
+// WITH_STDLIB
+val x by lazy {1}
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.txt
new file mode 100644
index 00000000000..c8d54a7bb50
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.txt
@@ -0,0 +1,8 @@
+KT element: KtPropertyDelegate
+FIR element: FirFunctionCallImpl
+
+FIR element rendered:
+R|kotlin/lazy|( = lazy@fun (): R|kotlin/Int| {
+ ^ Int(1)
+}
+)
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt
new file mode 100644
index 00000000000..a31a30699c3
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt
@@ -0,0 +1,2 @@
+// WITH_STDLIB
+val x by lazy {1}
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.txt
new file mode 100644
index 00000000000..edd837b0291
--- /dev/null
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.txt
@@ -0,0 +1,8 @@
+KT element: KtCallExpression
+FIR element: FirFunctionCallImpl
+
+FIR element rendered:
+R|kotlin/lazy|( = lazy@fun (): R|kotlin/Int| {
+ ^ Int(1)
+}
+)
\ No newline at end of file
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
index 093b34fa2d3..5b94025ccbe 100644
--- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/GetOrBuildFirTestGenerated.java
@@ -86,6 +86,28 @@ public class GetOrBuildFirTestGenerated extends AbstractGetOrBuildFirTest {
}
}
+ @Nested
+ @TestMetadata("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations")
+ @TestDataPath("$PROJECT_ROOT")
+ public class Declarations {
+ @Test
+ public void testAllFilesPresentInDeclarations() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations"), Pattern.compile("^(.+)\\.kt$"), null, true);
+ }
+
+ @Test
+ @TestMetadata("propertyDelegate.kt")
+ public void testPropertyDelegate() throws Exception {
+ runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegate.kt");
+ }
+
+ @Test
+ @TestMetadata("propertyDelegateExpression.kt")
+ public void testPropertyDelegateExpression() throws Exception {
+ runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/declarations/propertyDelegateExpression.kt");
+ }
+ }
+
@Nested
@TestMetadata("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/getOrBuildFir/inImport")
@TestDataPath("$PROJECT_ROOT")
diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt
index cf45908567a..a9d28d726c9 100644
--- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt
+++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/test/base/AbstractLowLevelApiTest.kt
@@ -19,8 +19,10 @@ import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.test.bind
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.testConfiguration
+import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
import org.jetbrains.kotlin.test.model.DependencyKind
import org.jetbrains.kotlin.test.model.FrontendKinds
+import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
import org.jetbrains.kotlin.test.services.*
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
@@ -47,6 +49,9 @@ abstract class AbstractLowLevelApiTest : TestWithDisposable() {
assertions = JUnit5Assertions
useAdditionalService(::TemporaryDirectoryManagerImpl)
+ useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray())
+ useDirectives(JvmEnvironmentConfigurationDirectives)
+
useSourcePreprocessor(::ExpressionMarkersSourceFilePreprocessor)
useAdditionalService(::ExpressionMarkerProvider)
useAdditionalService(::TestModuleInfoProvider)