summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-05-13 11:23:50 +0100
committerRichard Jones <rjones@redhat.com>2010-05-13 11:23:50 +0100
commit2ac6c95ca69cc649b6c4e45291d2c9764bcf2dee (patch)
treefb1ebf4bd4dd8e6cc7849c2d8a4e01c6d2cbcf7c
parent77bb0e7a3cca5e41509ad45fd764171ddc2e56ef (diff)
downloadhivex-2ac6c95ca69cc649b6c4e45291d2c9764bcf2dee.tar.gz
hivex-2ac6c95ca69cc649b6c4e45291d2c9764bcf2dee.tar.xz
hivex-2ac6c95ca69cc649b6c4e45291d2c9764bcf2dee.zip
Include a test for regimport of values containing backslash chars.
-rw-r--r--perl/t/560-regedit-import.t9
1 files changed, 8 insertions, 1 deletions
diff --git a/perl/t/560-regedit-import.t b/perl/t/560-regedit-import.t
index 163a46e..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;
@@ -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]
';