¸ÄÓñ¾»ú¶ÀÁ¢ CA£¬»ָ´ CLI TLS УÑ飬±£»¤ƾ¾ÝÓëÅäÖò¢·¢±£´档 д Cursor Êý¾ݡ¢»Ự·¾¶¡¢´úÀíÉúÃüÖÜÆڡ¢ģÐÍÇëÇóÓë Skills Îļþ²Ù×÷¡£ Ϊ¶ÀÁ¢ Tab ·þÎñÔö¼ӿͻ§¶˼øȨ£¬Éý¼¶ÒÀÀµÓ빤¾ßÁ´£¬ÍêÉƷ¢²¼ԪÐÅϢͬ²½¡£ Ñé֤£ºÁ½¸ö Go ģ¿éµIJâÊÔ/vet¡¢¹ؼüģ¿é race¡¢ǰ¶˲âÊÔ/Éú²ú¹¹½¨/Éó¼ơ¢ Go ¿ɴï©¶´ɨÃèÓë macOS/Linux ¿ÉÐÐģ¿齻²æ±àÒë¾ùͨ¹ý¡£ Windows ¸ôÀëÆô¶¯ͨ¹ý£»δÍê³ɵĵã»÷ðÑ̺ÍԭÉúƽ̨Ñé֤¼ûÉó²鱨¸档
44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestMetadataSyncPreservesCustomBuildFilesAndContent(t *testing.T) {
|
|
root := t.TempDir()
|
|
files := []string{"build/windows/info.json", "build/windows/wails.exe.manifest", "build/windows/nsis/wails_tools.nsh", "build/darwin/Info.plist", "build/darwin/Info.dev.plist", "build/linux/nfpm/nfpm.yaml"}
|
|
for _, file := range files {
|
|
data, err := os.ReadFile(filepath.Join("..", "..", filepath.FromSlash(file)))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
target := filepath.Join(root, filepath.FromSlash(file))
|
|
_ = os.MkdirAll(filepath.Dir(target), 0700)
|
|
if err = os.WriteFile(target, data, 0600); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
task := filepath.Join(root, "build", "windows", "Taskfile.yml")
|
|
_ = os.WriteFile(task, []byte("custom packaging must stay"), 0600)
|
|
if err := syncMetadata(root, "9.8.7"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
for _, file := range files {
|
|
data, _ := os.ReadFile(filepath.Join(root, filepath.FromSlash(file)))
|
|
if !strings.Contains(string(data), "9.8.7") {
|
|
t.Fatalf("version not updated: %s", file)
|
|
}
|
|
}
|
|
data, _ := os.ReadFile(task)
|
|
if string(data) != "custom packaging must stay" {
|
|
t.Fatal("custom task overwritten")
|
|
}
|
|
data, _ = os.ReadFile(filepath.Join(root, "build", "windows", "info.json"))
|
|
if !strings.Contains(string(data), "Local-Cursor") {
|
|
t.Fatal("product metadata lost")
|
|
}
|
|
}
|