From 69dcd8341af28a1807890ae49799122f7f6c4232 Mon Sep 17 00:00:00 2001 From: chiranSachintha Date: Tue, 9 Apr 2024 22:08:23 +0530 Subject: [PATCH] Add bala test --- .../test/bala/record/RecordInBalaTest.java | 8 +++++++ .../Ballerina.toml | 4 ++++ .../test_project_records_negative/records.bal | 23 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/Ballerina.toml create mode 100644 tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/records.bal diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/bala/record/RecordInBalaTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/bala/record/RecordInBalaTest.java index e3b1298176fc..3c8cd5924223 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/bala/record/RecordInBalaTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/bala/record/RecordInBalaTest.java @@ -71,4 +71,12 @@ public void testComplexCyclicRecordTypeResolution() { BRunUtil.invoke(typeResolution, "testCreatingComplexRecWithIncTypeFromBala"); BRunUtil.invoke(typeResolution, "testCreatingComplexRecWithIncTypeFromBalaWithCM"); } + + @Test + public void testIntersectionOfReadonlyAndRecordTypeWithDefaults() { + CompileResult result = BCompileUtil.compile("test-src/bala/test_projects/test_project_records_negative"); + int count = 0; + BAssertUtil.validateError(result, count, "missing non-defaultable required record field 'initialValues'", + 22, 25); + } } diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/Ballerina.toml b/tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/Ballerina.toml new file mode 100644 index 000000000000..1e82dab101ef --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/Ballerina.toml @@ -0,0 +1,4 @@ +[package] +org = "testorg" +name = "records_negative" +version = "1.0.0" diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/records.bal b/tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/records.bal new file mode 100644 index 000000000000..3aa02a895eed --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/bala/test_projects/test_project_records_negative/records.bal @@ -0,0 +1,23 @@ +// Copyright (c) 2024 WSO2 Inc. (http://www.wso2.org) All Rights Reserved. +// +// WSO2 Inc. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +type Temp record {| + any[] initialValues = [10, 20, 30]; +|}; + +function value() { + Temp & readonly _ = {}; +}