package ps import ( "fmt" "os" "path/filepath" "testing" ) func TestPkgPath(t *testing.T) { out := filepath.Join(os.Getenv("GOPATH"), "src", "github.com", "sbrow", "ps") if filepath.Join(pkgpath) != out { t.Fatal(filepath.Join(pkgpath), out) } } func TestStart(t *testing.T) { err := Start() if err != nil { t.Fatal(err) } } func TestOpen(t *testing.T) { // if testing.Short() { // t.Skip("Skipping \"TestOpen\"") // } err := Open("F:\\GitLab\\dreamkeepers-psd\\Template009.1.psd") if err != nil { t.Fatal(err) } } func TestClose(t *testing.T) { if testing.Short() { t.Skip("Skipping \"TestClose\"") } err := Close(2) if err != nil { t.Fatal(err) } } func TestQuit(t *testing.T) { if testing.Short() { t.Skip("Skipping \"TestQuit\"") } err := Quit(2) if err != nil { t.Fatal(err) } } func TestDoJs(t *testing.T) { out := []byte("F:\\TEMP\\js_out.txt\r\narg\r\nargs\r\n") script := "test.jsx" ret, err := DoJs(script, "arg", "args") if err != nil { t.Fatal(err) } if string(ret) != string(out) { fail := fmt.Sprintf("TestJS failed.\ngot:\t\"%s\"\nwant:\t\"%s\"", ret, out) t.Fatal(fail) } } func TestRun(t *testing.T) { out := []byte("hello,\r\nworld!\r\n") msg, err := run("test", "hello,", "world!") if err != nil { t.Fatal(err) } if string(msg) != string(out) { fail := fmt.Sprintf("TestRun faild.\ngot:\n\"%s\"\nwant:\n\"%s\"\n", msg, out) t.Fatal(fail) } } func TestWait(t *testing.T) { Wait("Waiting...") } func TestDoAction_Crop(t *testing.T) { if testing.Short() { t.Skip("Skipping \"TestDoAction_Crop\"") } err := Open("F:\\GitLab\\dreamkeepers-psd\\Template009.1.psd") if err != nil { t.Fatal(err) } err = DoAction("DK", "Crop") if err != nil { t.Fatal(err) } } func TestDoAction_Undo(t *testing.T) { if testing.Short() { t.Skip("Skipping \"TestDoAction_Undo\"") } err := DoAction("DK", "Undo") if err != nil { t.Fatal(err) } } func TestSaveAs(t *testing.T) { err := SaveAs("F:\\TEMP\\test.png") if err != nil { t.Fatal(err) } os.Remove("F:\\TEMP\\test.png") } /* func TestLayerSet(t *testing.T) { _, err := NewLayerSet("Areas/TitleBackground/") if err != nil { t.Fatal(err) } } func TestLayer(t *testing.T) { _, err := Layer("Border/Inner Border") if err != nil { t.Fatal(err) } } func TestMove(t *testing.T) { lyr, err := Layer("Group 1/Layer 1") if err != nil { t.Fatal(err) } lyr.Position(100, 50, "top") } */ func TestActiveDocument(t *testing.T) { if testing.Short() { t.Skip("Skipping \"TestDocument\"") } d, err := ActiveDocument() if err != nil { t.Fatal(err) } if d != d.artLayers[0].Parent() { fmt.Println(d) fmt.Println(d.artLayers[0].Parent()) t.Fatal("ArtLayers do not have doc as parent.") } if d != d.layerSets[0].Parent() { fmt.Println(d) fmt.Println(d.layerSets[0].Parent()) t.Fatal("LayerSets do not have doc as parent.") } if d.layerSets[0] != d.layerSets[0].artLayers[0].Parent() { fmt.Println(d.layerSets[0]) fmt.Println(d.layerSets[0].artLayers[0]) fmt.Println(d.layerSets[0].artLayers[0].Parent()) t.Fatal("Layerset's ArtLayers do not have correct parents") } } func TestApplyDataset(t *testing.T) { out := []byte("done!\r\n") ret, err := ApplyDataset(" Anger") if err != nil { t.Fatal(err) } if string(ret) != string(out) { fail := fmt.Sprintf("TestJS failed.\ngot:\t\"%s\"\nwant:\t\"%s\"", ret, out) t.Fatal(fail) } } func TestDocumentLayerSet(t *testing.T) { d, err := ActiveDocument() if err != nil { t.Fatal(err) } set := d.LayerSet("Text") fmt.Println(set) for _, lyr := range set.ArtLayers() { fmt.Println(lyr.name) } lyr := set.ArtLayer("id") fmt.Println(lyr) set = d.LayerSet("Indicators").LayerSet("Life") fmt.Println(set) for _, lyr := range set.ArtLayers() { fmt.Println(lyr.name) } } /* func TestDoJs_HideLayer(t *testing.T) { err := Open("F:\\GitLab\\dreamkeepers-psd\\Template009.1.psd") if err != nil { t.Fatal(err) } lyr, err := NewLayerSet("Areas/TitleBackground") lyr.SetVisible(false) if err != nil { t.Fatal(err) } } */ func BenchmarkDoc_Go(b *testing.B) { for i := 0; i < b.N; i++ { _, err := ActiveDocument() if err != nil { b.Fatal(err) } } } //.8s //.15 func BenchmarkHideLayer(b *testing.B) { for i := 0; i < b.N; i++ { // _, err := Layers("Areas/TitleBackground/") // if err != nil { // b.Fatal(err) // } } } // 59ns func BenchmarkHelloWorld_go(b *testing.B) { for i := 0; i < b.N; i++ { fmt.Sprintf("Hello, world!") } } // ~35200000ns (.0352s) func BenchmarkHelloWorld_vbs(b *testing.B) { for i := 0; i < b.N; i++ { _, err := run("helloworld") if err != nil { b.Fatal(err) } } } // ~51700000 (0.0517) func BenchmarkHelloWorld_js(b *testing.B) { for i := 0; i < b.N; i++ { _, err := DoJs("test.jsx", "Hello, World!") if err != nil { b.Fatal(err) } } }