first working version
This commit is contained in:
parent
dc421f035e
commit
84e26d7f6c
50 changed files with 6145 additions and 182 deletions
96
pkg/encoder/encoder_test.go
Normal file
96
pkg/encoder/encoder_test.go
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
// Copyright (C) 2019 ston1th
|
||||
|
||||
package encoder
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestComment(t *testing.T) {
|
||||
var (
|
||||
in = bytes.NewBufferString(`
|
||||
REM Hello World
|
||||
`)
|
||||
out = new(bytes.Buffer)
|
||||
)
|
||||
err := NewEncoder(out, "de").Encode(in)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if !bytes.Equal(out.Bytes(), nil) {
|
||||
t.Error("bytes not equal")
|
||||
}
|
||||
}
|
||||
|
||||
func TestString(t *testing.T) {
|
||||
var (
|
||||
in = bytes.NewBufferString(`
|
||||
STRING Hello World
|
||||
`)
|
||||
out = new(bytes.Buffer)
|
||||
want = []byte{0xb, 0x2, 0x8, 0x0, 0xf, 0x0, 0xf, 0x0,
|
||||
0x12, 0x0, 0x2c, 0x0, 0x1a, 0x2, 0x12, 0x0,
|
||||
0x15, 0x0, 0xf, 0x0, 0x7, 0x0}
|
||||
)
|
||||
err := NewEncoder(out, "de").Encode(in)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if !bytes.Equal(out.Bytes(), want) {
|
||||
t.Error("bytes not equal")
|
||||
}
|
||||
}
|
||||
|
||||
func TestExample(t *testing.T) {
|
||||
var (
|
||||
in = bytes.NewBufferString(`
|
||||
REM Type Hello World into Windows notepad. Target: Windows 95 and beyond. Author: Darren
|
||||
DELAY 1000
|
||||
GUI r
|
||||
DELAY 100
|
||||
STRING c:\windows\notepad.exe
|
||||
ENTER
|
||||
DELAY 1000
|
||||
STRING Hello World
|
||||
`)
|
||||
out = new(bytes.Buffer)
|
||||
want = []byte{0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xeb,
|
||||
0x15, 0x8, 0x0, 0x64, 0x6, 0x0, 0x37, 0x2,
|
||||
0x2d, 0x40, 0x1a, 0x0, 0xc, 0x0, 0x11, 0x0,
|
||||
0x7, 0x0, 0x12, 0x0, 0x1a, 0x0, 0x16, 0x0,
|
||||
0x2d, 0x40, 0x11, 0x0, 0x12, 0x0, 0x17, 0x0,
|
||||
0x8, 0x0, 0x13, 0x0, 0x4, 0x0, 0x7, 0x0,
|
||||
0x37, 0x0, 0x8, 0x0, 0x1b, 0x0, 0x8, 0x0,
|
||||
0x28, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,
|
||||
0x0, 0xeb, 0xb, 0x2, 0x8, 0x0, 0xf, 0x0,
|
||||
0xf, 0x0, 0x12, 0x0, 0x2c, 0x0, 0x1a, 0x2,
|
||||
0x12, 0x0, 0x15, 0x0, 0xf, 0x0, 0x7, 0x0}
|
||||
)
|
||||
err := NewEncoder(out, "de").Encode(in)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if !bytes.Equal(out.Bytes(), want) {
|
||||
t.Error("bytes not equal")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkExample(b *testing.B) {
|
||||
var in = bytes.NewBufferString(`
|
||||
REM Type Hello World into Windows notepad. Target: Windows 95 and beyond. Author: Darren
|
||||
DELAY 1000
|
||||
GUI r
|
||||
DELAY 100
|
||||
STRING c:\windows\notepad.exe
|
||||
ENTER
|
||||
DELAY 1000
|
||||
STRING Hello World
|
||||
`)
|
||||
e := NewEncoder(ioutil.Discard, "de")
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
e.Encode(in)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue