diff --git a/tests/test-phases.t b/tests/test-phases.t
index c51c9dc13a586926a1398f51e65a26167a033688_dGVzdHMvdGVzdC1waGFzZXMudA==..06b8b74720d6d32b338eb133992664ba621a0e9e_dGVzdHMvdGVzdC1waGFzZXMudA== 100644
--- a/tests/test-phases.t
+++ b/tests/test-phases.t
@@ -2,7 +2,9 @@
   $ mkcommit() {
   >    echo "$1" > "$1"
   >    hg add "$1"
-  >    hg ci -m "$1"
+  >    message="$1"
+  >    shift
+  >    hg ci -m "$message" $*
   > }
 
   $ hg init initialrepo
@@ -37,3 +39,52 @@
   2 1 C
   1 0 B
   0 0 A
+
+Test creating changeset as secret
+
+  $ mkcommit E --config phases.new-commit=2
+  $ hglog
+  4 2 E
+  3 1 D
+  2 1 C
+  1 0 B
+  0 0 A
+
+Test the secret property is inherited
+
+  $ mkcommit H
+  $ hglog
+  5 2 H
+  4 2 E
+  3 1 D
+  2 1 C
+  1 0 B
+  0 0 A
+
+Even on merge
+
+  $ hg up -q 1
+  $ mkcommit "B'"
+  created new head
+  $ hglog
+  6 1 B'
+  5 2 H
+  4 2 E
+  3 1 D
+  2 1 C
+  1 0 B
+  0 0 A
+  $ hg merge 4 # E
+  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -m "merge B' and E"
+  $ hglog
+  7 2 merge B' and E
+  6 1 B'
+  5 2 H
+  4 2 E
+  3 1 D
+  2 1 C
+  1 0 B
+  0 0 A
+