@@ -660,9 +660,39 @@ func TestHelloWorldAes(t *testing.T) {
660
660
t .Errorf ("Expected to open readcloser: %v" , err )
661
661
}
662
662
defer rc .Close ()
663
- io .Copy (& b , rc )
663
+ if _ , err := io .Copy (& b , rc ); err != nil {
664
+ t .Errorf ("Expected to copy bytes to buffer: %v" , err )
665
+ }
664
666
}
665
667
if ! bytes .Equal ([]byte (expecting ), b .Bytes ()) {
666
668
t .Errorf ("Expected ending content to be %s instead of %s" , expecting , b .Bytes ())
667
669
}
668
670
}
671
+
672
+ func TestMacbethAct1 (t * testing.T ) {
673
+ file := "macbeth-act1.zip"
674
+ expecting := "Exeunt"
675
+ var b bytes.Buffer
676
+ r , err := OpenReader (filepath .Join ("testdata" , file ))
677
+ if err != nil {
678
+ t .Errorf ("Expected %s to open: %v" , file , err )
679
+ }
680
+ defer r .Close ()
681
+ for _ , f := range r .File {
682
+ if ! f .IsEncrypted () {
683
+ t .Errorf ("Expected %s to be encrypted." , f .Name )
684
+ }
685
+ f .SetPassword ([]byte ("golang" ))
686
+ rc , err := f .Open ()
687
+ if err != nil {
688
+ t .Errorf ("Expected to open readcloser: %v" , err )
689
+ }
690
+ defer rc .Close ()
691
+ if _ , err := io .Copy (& b , rc ); err != nil {
692
+ t .Errorf ("Expected to copy bytes to buffer: %v" , err )
693
+ }
694
+ }
695
+ if ! bytes .Contains (b .Bytes (), []byte (expecting )) {
696
+ t .Errorf ("Expected to find %s in the buffer %v" , expecting , b .Bytes ())
697
+ }
698
+ }
0 commit comments