mirror of https://github.com/golang/go.git
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package hooks
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
"unicode/utf8"
|
|
|
|
"golang.org/x/tools/internal/lsp/diff/difftest"
|
|
)
|
|
|
|
func TestDiff(t *testing.T) {
|
|
difftest.DiffTest(t, ComputeEdits)
|
|
}
|
|
|
|
func TestRepl(t *testing.T) {
|
|
t.Skip("just for checking repl by looking at it")
|
|
repl := initrepl(800)
|
|
t.Errorf("%q", string(repl))
|
|
t.Errorf("%d", len(repl))
|
|
}
|
|
|
|
func TestDisaster(t *testing.T) {
|
|
a := "This is a string,(\u0995) just for basic functionality"
|
|
b := "Ths is another string, (\u0996) to see if disaster will store stuff correctly"
|
|
fname := disaster(a, b)
|
|
buf, err := ioutil.ReadFile(fname)
|
|
if err != nil {
|
|
t.Errorf("error %v reading %s", err, fname)
|
|
}
|
|
var x, y string
|
|
n, err := fmt.Sscanf(string(buf), "%s\n%s\n", &x, &y)
|
|
if n != 2 {
|
|
t.Errorf("got %d, expected 2", n)
|
|
t.Logf("read %q", string(buf))
|
|
}
|
|
if a == x || b == y {
|
|
t.Error("failed to encrypt")
|
|
}
|
|
err = os.Remove(fname)
|
|
if err != nil {
|
|
t.Errorf("%v removing %s", err, fname)
|
|
}
|
|
alen, blen := utf8.RuneCount([]byte(a)), utf8.RuneCount([]byte(b))
|
|
xlen, ylen := utf8.RuneCount([]byte(x)), utf8.RuneCount([]byte(y))
|
|
if alen != xlen {
|
|
t.Errorf("a; got %d, expected %d", xlen, alen)
|
|
}
|
|
if blen != ylen {
|
|
t.Errorf("b: got %d expected %d", ylen, blen)
|
|
}
|
|
}
|