[parser] Move context tests into a separate file

This commit is contained in:
stffabi 2024-03-04 12:38:21 +01:00
commit 4467a1ffa2
11 changed files with 168 additions and 37 deletions

View file

@ -2,11 +2,12 @@ package parser
import (
"embed"
"github.com/google/go-cmp/cmp"
"io/fs"
"os"
"path/filepath"
"testing"
"github.com/google/go-cmp/cmp"
)
//go:embed testdata
@ -623,6 +624,48 @@ func TestGenerateBindings(t *testing.T) {
useIDs: false,
useTypescript: true,
},
{
name: "function_single_context",
dir: "testdata/function_single_context",
want: map[string]map[string]string{
"main": {
"GreetService": getFile("testdata/function_single_context/frontend/bindings/main/GreetService.js"),
},
},
useIDs: true,
},
{
name: "function_single_context",
dir: "testdata/function_single_context",
want: map[string]map[string]string{
"main": {
"GreetService": getFile("testdata/function_single_context/frontend/bindings/main/GreetService.name.js"),
},
},
useIDs: false,
},
{
name: "function single - Typescript - CallByID",
dir: "testdata/function_single_context",
want: map[string]map[string]string{
"main": {
"GreetService": getFile("testdata/function_single_context/frontend/bindings/main/GreetService.ts"),
},
},
useIDs: true,
useTypescript: true,
},
{
name: "function single - Typescript - CallByName",
dir: "testdata/function_single_context",
want: map[string]map[string]string{
"main": {
"GreetService": getFile("testdata/function_single_context/frontend/bindings/main/GreetService.name.ts"),
},
},
useIDs: false,
useTypescript: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

View file

@ -13,13 +13,3 @@ import {Call} from '@wailsio/runtime';
export async function Greet(name) {
return Call.ByID(1411160069, ...Array.prototype.slice.call(arguments, 0));
}
/**
* Greet someone
* @function GreetWithContext
* @param name {string}
* @returns {Promise<string>}
**/
export async function GreetWithContext(name) {
return Call.ByID(1310150960, ...Array.prototype.slice.call(arguments, 0));
}

View file

@ -13,13 +13,3 @@ import {Call} from '@wailsio/runtime';
export async function Greet(name) {
return Call.ByName("main.GreetService.Greet", ...Array.prototype.slice.call(arguments, 0));
}
/**
* Greet someone
* @function GreetWithContext
* @param name {string}
* @returns {Promise<string>}
**/
export async function GreetWithContext(name) {
return Call.ByName("main.GreetService.GreetWithContext", ...Array.prototype.slice.call(arguments, 0));
}

View file

@ -7,8 +7,3 @@ export async function Greet(name: string) : Promise<string> {
return Call.ByName("main.GreetService.Greet", name);
}
// Greet someone
export async function GreetWithContext(name: string) : Promise<string> {
return Call.ByName("main.GreetService.GreetWithContext", name);
}

View file

@ -7,8 +7,3 @@ export async function Greet(name: string) : Promise<string> {
return Call.ByID(1411160069, name);
}
// Greet someone
export async function GreetWithContext(name: string) : Promise<string> {
return Call.ByID(1310150960, name);
}

View file

@ -1,7 +1,6 @@
package main
import (
"context"
_ "embed"
"log"
@ -19,11 +18,6 @@ func (*GreetService) Greet(name string) string {
return "Hello " + name
}
// Greet someone
func (*GreetService) GreetWithContext(ctx context.Context, name string) string {
return "Hello " + name
}
func NewGreetService() *GreetService {
return &GreetService{}
}

View file

@ -0,0 +1,25 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import {Call} from '@wailsio/runtime';
/**
* Greet someone
* @function Greet
* @param name {string}
* @returns {Promise<string>}
**/
export async function Greet(name) {
return Call.ByID(1411160069, ...Array.prototype.slice.call(arguments, 0));
}
/**
* Greet someone
* @function GreetWithContext
* @param name {string}
* @returns {Promise<string>}
**/
export async function GreetWithContext(name) {
return Call.ByID(1310150960, ...Array.prototype.slice.call(arguments, 0));
}

View file

@ -0,0 +1,25 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import {Call} from '@wailsio/runtime';
/**
* Greet someone
* @function Greet
* @param name {string}
* @returns {Promise<string>}
**/
export async function Greet(name) {
return Call.ByName("main.GreetService.Greet", ...Array.prototype.slice.call(arguments, 0));
}
/**
* Greet someone
* @function GreetWithContext
* @param name {string}
* @returns {Promise<string>}
**/
export async function GreetWithContext(name) {
return Call.ByName("main.GreetService.GreetWithContext", ...Array.prototype.slice.call(arguments, 0));
}

View file

@ -0,0 +1,14 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import {Call} from '@wailsio/runtime';
// Greet someone
export async function Greet(name: string) : Promise<string> {
return Call.ByName("main.GreetService.Greet", name);
}
// Greet someone
export async function GreetWithContext(name: string) : Promise<string> {
return Call.ByName("main.GreetService.GreetWithContext", name);
}

View file

@ -0,0 +1,14 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import {Call} from '@wailsio/runtime';
// Greet someone
export async function Greet(name: string) : Promise<string> {
return Call.ByID(1411160069, name);
}
// Greet someone
export async function GreetWithContext(name: string) : Promise<string> {
return Call.ByID(1310150960, name);
}

View file

@ -0,0 +1,46 @@
package main
import (
"context"
_ "embed"
"log"
"github.com/wailsapp/wails/v3/pkg/application"
)
// GreetService is great
type GreetService struct {
SomeVariable int
lowerCase string
}
// Greet someone
func (*GreetService) Greet(name string) string {
return "Hello " + name
}
// Greet someone
func (*GreetService) GreetWithContext(ctx context.Context, name string) string {
return "Hello " + name
}
func NewGreetService() *GreetService {
return &GreetService{}
}
func main() {
app := application.New(application.Options{
Bind: []interface{}{
NewGreetService(),
},
})
app.NewWebviewWindow()
err := app.Run()
if err != nil {
log.Fatal(err)
}
}