X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=perl%2Ft%2F560-regedit-import.t;h=0dca8dfd2e5c4ce38571a3be3c4f3343a2f6a7e5;hb=c22ed5a6cb58aff70bf74df5b7c1edd33d796ef4;hp=b0c52549ba8903f5f752171517135be39efe35c5;hpb=3b713ed4f5d6ccb06660da1c0ff34762b1627669;p=hivex.git diff --git a/perl/t/560-regedit-import.t b/perl/t/560-regedit-import.t index b0c5254..0dca8df 100644 --- a/perl/t/560-regedit-import.t +++ b/perl/t/560-regedit-import.t @@ -18,7 +18,6 @@ use strict; use warnings; -use Encode qw(from_to); use IO::Scalar; use Test::More tests => 16; @@ -55,7 +54,7 @@ $expected = '[\] [\C] "Key1"=hex(2):48,00,65,00,6c,00,6c,00,6f,00 -"Key2"=hex(2):48,00,65,00,6c,00,6c,00,6f,00 +"Key2"=hex(2):48,00,65,00,6c,00,6c,00,6f,00,00,00 "Key3"=hex(3):48,00,65,00,6c,00,6c,00,6f,00,48,00,65,00,6c,00,6c,00,6f,00 "Key4"=dword:ff123456 @@ -72,11 +71,11 @@ $data = ' $expected = '[\] [\A] -@=hex(1):48,00,65,00,6c,00,6c,00,6f,00 +@=hex(1):48,00,65,00,6c,00,6c,00,6f,00,00,00 [\C] "Key1"=hex(2):48,00,65,00,6c,00,6c,00,6f,00 -"Key2"=hex(2):48,00,65,00,6c,00,6c,00,6f,00 +"Key2"=hex(2):48,00,65,00,6c,00,6c,00,6f,00,00,00 "Key3"=hex(3):48,00,65,00,6c,00,6c,00,6f,00,48,00,65,00,6c,00,6c,00,6f,00 "Key4"=dword:ff123456 @@ -102,12 +101,18 @@ $expected = '[\] run_test ($data, $expected); +# In the next test, the value of ValueContainingEscapes in the +# imported data is \\W\\, which will become \W\ in the final hive. +# However Perl has complex and inconsistent rules on quoting +# backslashes. See: +# http://en.wikibooks.org/wiki/Perl_Programming/Strings#Single_Quoted_Strings $data = ' [\A] "NotExistant"=- [\A\B] "Key\"Containing\"Quotes"=hex(0): +"ValueContainingEscapes"="\\\\W\\\\" '; $expected = '[\] @@ -115,6 +120,7 @@ $expected = '[\] [\A\B] "Key\"Containing\"Quotes"=hex(0): +"ValueContainingEscapes"=hex(1):5c,00,57,00,5c,00,00,00 '; @@ -123,6 +129,7 @@ run_test ($data, $expected); $data = ' [\A\B] "Key\"Containing\"Quotes"=- +"ValueContainingEscapes"=- -[\A] ';