12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // Copyright 2011 Dmitry Chestnykh. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
- package captcha
- import (
- "bytes"
- "testing"
- )
- func TestNew(t *testing.T) {
- c := New()
- if c == "" {
- t.Errorf("expected id, got empty string")
- }
- }
- func TestVerify(t *testing.T) {
- id := New()
- if Verify(id, []byte{0, 0}) {
- t.Errorf("verified wrong captcha")
- }
- id = New()
- d := globalStore.Get(id, false) // cheating
- if !Verify(id, d) {
- t.Errorf("proper captcha not verified")
- }
- }
- func TestReload(t *testing.T) {
- id := New()
- d1 := globalStore.Get(id, false) // cheating
- Reload(id)
- d2 := globalStore.Get(id, false) // cheating again
- if bytes.Equal(d1, d2) {
- t.Errorf("reload didn't work: %v = %v", d1, d2)
- }
- }
- func TestRandomDigits(t *testing.T) {
- d1 := RandomDigits(10)
- for _, v := range d1 {
- if v > 9 {
- t.Errorf("digits not in range 0-9: %v", d1)
- }
- }
- d2 := RandomDigits(10)
- if bytes.Equal(d1, d2) {
- t.Errorf("digits seem to be not random")
- }
- }
|