diff tests/test-revset.t @ 25094:8b99e9a8db05 stable

revset: map postfix '%' to only() to optimize operand recursively (issue4670) Instead of keeping 'onlypost' as a method, this patch rewrites it to 'only' function. This way, 'x%' always has the same weight as 'only(x)'.
author Yuya Nishihara <yuya@tcha.org>
date Fri, 15 May 2015 22:32:31 +0900
parents b5c227f3e461
children bb2f543b48b5 e16456831516
line wrap: on
line diff
--- a/tests/test-revset.t	Sun May 10 10:57:24 2015 -0400
+++ b/tests/test-revset.t	Fri May 15 22:32:31 2015 +0900
@@ -533,6 +533,29 @@
   8
   9
 
+Test opreand of '%' is optimized recursively (issue4670)
+
+  $ try --optimize '8:9-8%'
+  (onlypost
+    (minus
+      (range
+        ('symbol', '8')
+        ('symbol', '9'))
+      ('symbol', '8')))
+  * optimized:
+  (func
+    ('symbol', 'only')
+    (and
+      (range
+        ('symbol', '8')
+        ('symbol', '9'))
+      (not
+        ('symbol', '8'))))
+  * set:
+  <baseset+ [8, 9]>
+  8
+  9
+
 Test the order of operations
 
   $ log '7 + 9%5 + 2'