notes-server/notes/search_test.go

55 lines
874 B
Go
Executable File

package notes
import (
"fmt"
"io/ioutil"
"os"
"strings"
"testing"
)
func TestSearch(t *testing.T) {
d, err := ioutil.TempDir(os.TempDir(), "pattern*")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(d)
for i := 0; i < 5; i++ {
f, err := ioutil.TempFile(d, fmt.Sprintf("file_%d", i))
if err != nil {
t.Fatal(err)
}
fmt.Fprintf(f, "this file is number %d", i)
f.Close()
}
n := New()
n.root = d
result, err := n.Search("this file")
if err != nil {
t.Fatal(err)
}
if v := len(strings.Split(result, "\n")); v < 7 {
t.Fatal(v, result)
}
result, err = n.Search("number.4")
if err != nil {
t.Fatal(err)
}
if v := len(strings.Split(result, "\n")); v > 4 {
t.Fatal(v, result)
}
}
func TestSearchBigFiles(t *testing.T) {
n := New()
n.root = "/usr/local/bin"
_, err := n.Search("this file")
if err != nil {
t.Fatal(err)
}
}