mirror of
https://github.com/fluencelabs/aqua.git
synced 2024-12-04 14:40:17 +00:00
test for multiple abilities with closure
This commit is contained in:
parent
e3386bf98d
commit
a7cd90f589
@ -2,7 +2,7 @@ aqua Main
|
||||
|
||||
use DECLARE_CONST, decl_bar from "imports_exports/declare.aqua" as Declare
|
||||
|
||||
export handleAb, SomeService, bug214, checkAbCalls, bugLNG258_1, bugLNG258_2, bugLNG258_3
|
||||
export handleAb, SomeService, bug214, checkAbCalls, bugLNG258_1, bugLNG258_2, bugLNG258_3, multipleAbilityWithClosure
|
||||
|
||||
service SomeService("wed"):
|
||||
getStr(s: string) -> string
|
||||
@ -114,4 +114,18 @@ func bugLNG258_3() -> i8, i8:
|
||||
res1, res2 <- aB.inner.arrow()
|
||||
<- res1, res2
|
||||
|
||||
ability TestAb:
|
||||
arrow: -> i8
|
||||
|
||||
func create(a: i8) -> TestAb:
|
||||
closureArrow = () -> i8:
|
||||
<- a
|
||||
ab = TestAb(arrow = closureArrow)
|
||||
<- ab
|
||||
|
||||
func multipleAbilityWithClosure() -> i8, i8:
|
||||
ab <- create(1)
|
||||
ab2 <- create(2)
|
||||
<- ab.arrow(), ab2.arrow()
|
||||
|
||||
|
||||
|
@ -33,7 +33,7 @@ import {
|
||||
import {
|
||||
abilityCall,
|
||||
complexAbilityCall,
|
||||
checkAbCallsCall, bugLNG258Call1, bugLNG258Call2, bugLNG258Call3,
|
||||
checkAbCallsCall, bugLNG258Call1, bugLNG258Call2, bugLNG258Call3, multipleAbilityWithClosureCall,
|
||||
} from "../examples/abilityCall.js";
|
||||
import {
|
||||
nilLengthCall,
|
||||
@ -533,7 +533,7 @@ describe("Testing examples", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("ability.aqua", async () => {
|
||||
it("abilities.aqua", async () => {
|
||||
let result = await abilityCall();
|
||||
expect(result).toStrictEqual([
|
||||
"declare_const123",
|
||||
@ -543,17 +543,17 @@ describe("Testing examples", () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it("ability.aqua complex", async () => {
|
||||
it("abilities.aqua complex", async () => {
|
||||
let result = await complexAbilityCall();
|
||||
expect(result).toStrictEqual([false, true]);
|
||||
});
|
||||
|
||||
it("ability.aqua ability calls", async () => {
|
||||
it("abilities.aqua ability calls", async () => {
|
||||
let result = await checkAbCallsCall();
|
||||
expect(result).toStrictEqual([true, false, true]);
|
||||
});
|
||||
|
||||
it("ability.aqua bug LNG-258", async () => {
|
||||
it("abilities.aqua bug LNG-258", async () => {
|
||||
let result1 = await bugLNG258Call1();
|
||||
expect(result1).toStrictEqual([1, 2]);
|
||||
|
||||
@ -564,6 +564,11 @@ describe("Testing examples", () => {
|
||||
expect(result3).toStrictEqual([5, 6]);
|
||||
});
|
||||
|
||||
it("abilities.aqua multiple abilities with closures", async () => {
|
||||
let result1 = await multipleAbilityWithClosureCall();
|
||||
expect(result1).toStrictEqual([1, 2]);
|
||||
});
|
||||
|
||||
it("functors.aqua LNG-119 bug", async () => {
|
||||
let result = await bugLng119Call();
|
||||
expect(result).toEqual([1]);
|
||||
|
@ -6,6 +6,7 @@ import {
|
||||
bugLNG258_1,
|
||||
bugLNG258_2,
|
||||
bugLNG258_3,
|
||||
multipleAbilityWithClosure
|
||||
} from "../compiled/examples/abilities";
|
||||
|
||||
export async function abilityCall(): Promise<[string, string, string, number]> {
|
||||
@ -37,3 +38,7 @@ export async function bugLNG258Call2(): Promise<[number, number]> {
|
||||
export async function bugLNG258Call3(): Promise<[number, number]> {
|
||||
return await bugLNG258_3();
|
||||
}
|
||||
|
||||
export async function multipleAbilityWithClosureCall(): Promise<[number, number]> {
|
||||
return await multipleAbilityWithClosure()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user