Files
ps/ps_test.go
Unknown 8f0e80863c Can now retrieve ArtLayers/LayerSets from Document/LayerSets by name.
- Added helper methods to ArtLayer to get each boundry.
- Fixed a bug in getActiveDoc.jsx
2018-03-20 13:32:43 -04:00

254 lines
4.8 KiB
Go

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)
}
}
}