github.com/mattn/go@v0.0.0-20171011075504-07f7db3ea99f/src/crypto/cipher/xor_test.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package cipher 6 7 import ( 8 "bytes" 9 "testing" 10 ) 11 12 func TestXOR(t *testing.T) { 13 for alignP := 0; alignP < 2; alignP++ { 14 for alignQ := 0; alignQ < 2; alignQ++ { 15 for alignD := 0; alignD < 2; alignD++ { 16 p := make([]byte, 1024)[alignP:] 17 q := make([]byte, 1024)[alignQ:] 18 d1 := make([]byte, 1024+alignD)[alignD:] 19 d2 := make([]byte, 1024+alignD)[alignD:] 20 xorBytes(d1, p, q) 21 safeXORBytes(d2, p, q) 22 if !bytes.Equal(d1, d2) { 23 t.Error("not equal") 24 } 25 } 26 } 27 } 28 }