2022-03-25 22:19:32 +00:00
|
|
|
package utils
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"fmt"
|
2022-03-26 06:52:59 +00:00
|
|
|
"git.tuxpa.in/a/nori/renderer"
|
2022-03-25 22:19:32 +00:00
|
|
|
"os"
|
|
|
|
"testing"
|
|
|
|
|
2022-03-25 22:33:48 +00:00
|
|
|
"git.tuxpa.in/a/nori"
|
2022-03-25 22:19:32 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestParseFile1(t *testing.T) {
|
|
|
|
nori, err := nori.FromFile("./zip_test/test1.nri")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("decode: %s", err)
|
|
|
|
}
|
|
|
|
t.Logf("\n nori: %+v\n gawi: %+v", nori, nori.Gawi)
|
|
|
|
|
|
|
|
err = writeZip(nori, "test1")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("export: %s", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestParseFile2(t *testing.T) {
|
|
|
|
nori, err := nori.FromFile("./zip_test/test2.nri")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("decode: %s", err)
|
|
|
|
}
|
|
|
|
t.Logf("\n nori: %+v\n gawi: %+v", nori, nori.Gawi)
|
|
|
|
err = writeZip(nori, "test2")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("export: %s", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestParsePalette(t *testing.T) {
|
|
|
|
nori, err := nori.FromFile("./zip_test/palette.nri")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("decode: %s", err)
|
|
|
|
}
|
|
|
|
t.Logf("\n nori: %+v\n gawi: %+v\n palette: %+v\n", nori, nori.Gawi, nori.Gawi.Palette)
|
|
|
|
err = writeZip(nori, "palette")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("export: %s", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func writeZip(n *nori.Nori, name string) error {
|
|
|
|
out := new(bytes.Buffer)
|
2022-03-26 06:52:59 +00:00
|
|
|
frames, err := renderer.RenderAnimationsApng(n)
|
2022-03-25 22:19:32 +00:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
if err := ZipApngs(out, frames); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
os.WriteFile(fmt.Sprintf("./zip_test/%s.zip", name), out.Bytes(), 0740)
|
|
|
|
return nil
|
|
|
|
}
|