tests/test-revset.t
changeset 31800 c63cb2d10d6d
parent 31024 0b8356705de6
child 31920 a98540ea1e42
equal deleted inserted replaced
31796:e0dc40530c5a 31800:c63cb2d10d6d
  1418       ('symbol', '2')
  1418       ('symbol', '2')
  1419       ('symbol', '0')
  1419       ('symbol', '0')
  1420       define)
  1420       define)
  1421     (or
  1421     (or
  1422       (list
  1422       (list
       
  1423         ('symbol', '2')
  1423         (range
  1424         (range
  1424           ('symbol', '0')
  1425           ('symbol', '0')
  1425           ('symbol', '1')
  1426           ('symbol', '1')
  1426           follow)
  1427           follow))
  1427         ('symbol', '2'))
       
  1428       follow)
  1428       follow)
  1429     define)
  1429     define)
  1430   * set:
  1430   * set:
  1431   <filteredset
  1431   <filteredset
  1432     <spanset- 0:2>,
  1432     <spanset- 0:2>,
  1433     <addset
  1433     <addset
  1434       <spanset+ 0:1>,
  1434       <baseset [2]>,
  1435       <baseset [2]>>>
  1435       <spanset+ 0:1>>>
  1436   2
  1436   2
  1437   1
  1437   1
  1438   0
  1438   0
  1439 
  1439 
  1440  '_intlist(a b)' should behave like 'a + b':
  1440  '_intlist(a b)' should behave like 'a + b':
  1914     <baseset- [0, 1, 2]>,
  1914     <baseset- [0, 1, 2]>,
  1915     <contains 'glob:*'>>
  1915     <contains 'glob:*'>>
  1916   2
  1916   2
  1917   1
  1917   1
  1918   0
  1918   0
       
  1919 
       
  1920  'A + B' can be rewritten to 'B + A' by weight only when the order doesn't
       
  1921  matter (e.g. 'X & (A + B)' can be 'X & (B + A)', but '(A + B) & X' can't):
       
  1922 
       
  1923   $ try -p optimized '0:2 & (reverse(contains("a")) + 2)'
       
  1924   * optimized:
       
  1925   (and
       
  1926     (range
       
  1927       ('symbol', '0')
       
  1928       ('symbol', '2')
       
  1929       define)
       
  1930     (or
       
  1931       (list
       
  1932         ('symbol', '2')
       
  1933         (func
       
  1934           ('symbol', 'reverse')
       
  1935           (func
       
  1936             ('symbol', 'contains')
       
  1937             ('string', 'a')
       
  1938             define)
       
  1939           follow))
       
  1940       follow)
       
  1941     define)
       
  1942   * set:
       
  1943   <filteredset
       
  1944     <spanset+ 0:2>,
       
  1945     <addset
       
  1946       <baseset [2]>,
       
  1947       <filteredset
       
  1948         <fullreposet+ 0:9>,
       
  1949         <contains 'a'>>>>
       
  1950   0
       
  1951   1
       
  1952   2
       
  1953 
       
  1954   $ try -p optimized '(reverse(contains("a")) + 2) & 0:2'
       
  1955   * optimized:
       
  1956   (and
       
  1957     (range
       
  1958       ('symbol', '0')
       
  1959       ('symbol', '2')
       
  1960       follow)
       
  1961     (or
       
  1962       (list
       
  1963         (func
       
  1964           ('symbol', 'reverse')
       
  1965           (func
       
  1966             ('symbol', 'contains')
       
  1967             ('string', 'a')
       
  1968             define)
       
  1969           define)
       
  1970         ('symbol', '2'))
       
  1971       define)
       
  1972     define)
       
  1973   * set:
       
  1974   <addset
       
  1975     <filteredset
       
  1976       <spanset- 0:2>,
       
  1977       <contains 'a'>>,
       
  1978     <baseset [2]>>
       
  1979   1
       
  1980   0
       
  1981   2
  1919 
  1982 
  1920 test sort revset
  1983 test sort revset
  1921 --------------------------------------------
  1984 --------------------------------------------
  1922 
  1985 
  1923 test when adding two unordered revsets
  1986 test when adding two unordered revsets