tests/test-encode.t
changeset 12416 1fcdd9b7f657
parent 12156 4c94b6d0fb1c
child 14182 ec5886db9dc6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-encode.t	Sun Sep 26 13:41:32 2010 -0500
@@ -0,0 +1,61 @@
+Test encode/decode filters
+
+  $ hg init
+  $ cat > .hg/hgrc <<EOF
+  > [encode]
+  > not.gz = tr [:lower:] [:upper:]
+  > *.gz = gzip -d
+  > [decode]
+  > not.gz = tr [:upper:] [:lower:]
+  > *.gz = gzip
+  > EOF
+  $ echo "this is a test" | gzip > a.gz
+  $ echo "this is a test" > not.gz
+  $ hg add *
+  $ hg ci -m "test"
+
+no changes
+
+  $ hg status
+  $ touch *
+
+no changes
+
+  $ hg status
+
+check contents in repo are encoded
+
+  $ hg debugdata .hg/store/data/a.gz.d 0
+  this is a test
+  $ hg debugdata .hg/store/data/not.gz.d 0
+  THIS IS A TEST
+
+check committed content was decoded
+
+  $ gunzip < a.gz
+  this is a test
+  $ cat not.gz
+  this is a test
+  $ rm *
+  $ hg co -C
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+check decoding of our new working dir copy
+
+  $ gunzip < a.gz
+  this is a test
+  $ cat not.gz
+  this is a test
+
+check hg cat operation
+
+  $ hg cat a.gz
+  this is a test
+  $ hg cat --decode a.gz | gunzip
+  this is a test
+  $ mkdir subdir
+  $ cd subdir
+  $ hg -R .. cat ../a.gz
+  this is a test
+  $ hg -R .. cat --decode ../a.gz | gunzip
+  this is a test