diff tests/test-fix-clang-format.t @ 37183:ded5ea279a93

fix: new extension for automatically modifying file contents This change implements most of the corresponding proposal as discussed at the 4.4 and 4.6 sprints: https://www.mercurial-scm.org/wiki/AutomaticFormattingPlan This change notably does not include parallel execution of the formatter/fixer tools. It does allow for implementing that without affecting other areas of the code. I believe the test coverage to be good, but this is a hotbed of corner cases. Differential Revision: https://phab.mercurial-scm.org/D2897
author Danny Hooper <hooper@google.com>
date Sat, 03 Mar 2018 14:08:44 -0800
parents
children 2ecf5c24d0cd
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-fix-clang-format.t	Sat Mar 03 14:08:44 2018 -0800
@@ -0,0 +1,34 @@
+#require clang-format
+
+Test that a simple "hg fix" configuration for clang-format works.
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > fix =
+  > [experimental]
+  > evolution.createmarkers=True
+  > evolution.allowunstable=True
+  > [fix]
+  > clang-format:command=clang-format --style=Google --assume-filename={rootpath}
+  > clang-format:linerange=--lines={first}:{last}
+  > clang-format:fileset=set:**.cpp or **.hpp
+  > EOF
+
+  $ hg init repo
+  $ cd repo
+
+  $ printf "void foo(){int x=2;}\n" > foo.cpp
+  $ printf "void\nfoo();\n" > foo.hpp
+  $ hg commit -Am "foo commit"
+  adding foo.cpp
+  adding foo.hpp
+  $ hg cat -r tip *
+  void foo(){int x=2;}
+  void
+  foo();
+  $ hg fix -r tip
+  $ hg cat -r tip *
+  void foo() { int x = 2; }
+  void foo();
+
+  $ cd ..