feat: complete remaining Go backend modules
This commit is contained in:
1 parent
cea2751dc5
commit
aef5a97165
145 files changed
+18376
-199
No files matched your search
@@ -0,0 +1,36 @@
|
||||
package prompt
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestAssembleManualPromptNormalizesMaterialsAndWarnings(t *testing.T) {
|
||||
result := Assemble(Input{Mode: "image", ManualPrompt: " use @图片2 and @视频1 ", Materials: []Material{
|
||||
{URL: "/b.mp4", Type: "video"}, {URL: "/a.png", Type: "image"}, {URL: "/empty", Type: ""}, {URL: "", Type: "image"},
|
||||
}})
|
||||
if result.Prompt != "use @图片2 and @视频1" || result.Requirements.Image != 2 || result.Requirements.Video != 1 {
|
||||
t.Fatalf("unexpected result %#v", result)
|
||||
}
|
||||
if len(result.Materials) != 3 || result.Materials[0].Label != "@图片1" || result.Materials[1].Label != "@图片2" || result.Materials[2].Label != "@视频1" {
|
||||
t.Fatalf("materials %#v", result.Materials)
|
||||
}
|
||||
if len(result.Warnings) != 0 {
|
||||
t.Fatalf("warnings %#v", result.Warnings)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAssembleDefaultsImageAndVideoScenes(t *testing.T) {
|
||||
image := Assemble(Input{Mode: "image", ProjectName: " 项目 ", AspectRatio: "16:9"})
|
||||
if image.Blocked || len(image.Scenes) != 5 || image.Prompt == "" || image.Requirements.Image != 4 {
|
||||
t.Fatalf("image %#v", image)
|
||||
}
|
||||
video := Assemble(Input{Mode: "video", ProjectName: "项目"})
|
||||
if len(video.Scenes) != 5 || video.Requirements.Image != 5 {
|
||||
t.Fatalf("video %#v", video)
|
||||
}
|
||||
}
|
||||
|
||||
func TestExtractRequirementsDeduplicatesAliases(t *testing.T) {
|
||||
requirements := ExtractRequirements("@图2 @图片2 @参考视频3 @视频1 @音频4 @图片0")
|
||||
if requirements.Image != 2 || requirements.Video != 3 || requirements.Audio != 4 {
|
||||
t.Fatalf("requirements %#v", requirements)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user