tests/test-eol-hook.t
changeset 12423 10c3385fa89e
parent 11249 0bb67503ad4b
child 13501 50b825c1adb1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-eol-hook.t	Sun Sep 26 13:41:32 2010 -0500
@@ -0,0 +1,63 @@
+Test the EOL hook
+
+  $ cat > $HGRCPATH <<EOF
+  > [diff]
+  > git = True
+  > EOF
+  $ hg init main
+  $ cat > main/.hg/hgrc <<EOF
+  > [extensions]
+  > eol =
+  > 
+  > [hooks]
+  > pretxnchangegroup = python:hgext.eol.hook
+  > EOF
+  $ hg clone main fork
+  updating to branch default
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd fork
+
+Create repo
+  $ cat > .hgeol <<EOF
+  > [patterns]
+  > mixed.txt = BIN
+  > **.txt = native
+  > EOF
+  $ hg add .hgeol
+  $ hg commit -m 'Commit .hgeol'
+
+  $ printf "first\nsecond\nthird\n" > a.txt
+  $ hg add a.txt
+  $ hg commit -m 'LF a.txt'
+  $ hg push ../main
+  pushing to ../main
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 2 changesets with 2 changes to 2 files
+
+  $ printf "first\r\nsecond\r\nthird\n" > a.txt
+  $ hg commit -m 'CRLF a.txt'
+  $ hg push ../main
+  pushing to ../main
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  error: pretxnchangegroup hook failed: a.txt should not have CRLF line endings
+  transaction abort!
+  rollback completed
+  abort: a.txt should not have CRLF line endings
+  [255]
+
+  $ printf "first\nsecond\nthird\n" > a.txt
+  $ hg commit -m 'LF a.txt (fixed)'
+  $ hg push ../main
+  pushing to ../main
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 2 changesets with 2 changes to 1 files