mirror of
https://github.com/sbrow/ps.git
synced 2025-12-29 18:47:38 -05:00
278 lines
5.3 KiB
Go
278 lines
5.3 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")
|
|
}
|
|
// d.LayerSet("Areas").LayerSet("Bottom").ArtLayer("L Bar").SetColor(155, 255, 255)
|
|
lyr := d.LayerSet("Text").ArtLayer("speed")
|
|
if lyr == nil {
|
|
t.Fatal("lyr does not exist")
|
|
}
|
|
s := Stroke{Size: 4, Color: &RGB{0, 0, 0}}
|
|
lyr.SetStroke(s, &RGB{128, 128, 128})
|
|
|
|
}
|
|
|
|
/*
|
|
func TestColor(t *testing.T) {
|
|
byt, err := run("colorLayer.vbs", "255", "255", "255")
|
|
fmt.Println(string(byt))
|
|
fmt.Println(err)
|
|
if err != nil {
|
|
|
|
t.Fatal()
|
|
}
|
|
}
|
|
*/
|
|
|
|
/*
|
|
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) {
|
|
if testing.Short() {
|
|
t.Skip("Skipping TestDocumentLayerSet")
|
|
}
|
|
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)
|
|
}
|
|
}
|
|
}
|