packaging: modify rc detection to work with X.Yrc instead of X.Y-rc
rc detection on CentOS failed without this change,
resulting in upgrades from 4.9rc to 4.9 not working
(4.9rc was considered more recent than 4.9).
Differential Revision: https://phab.mercurial-scm.org/D5876
from __future__ import absolute_import, print_function
import unittest
from mercurial import (
hg,
)
class ParseRequestTests(unittest.TestCase):
def testparse(self):
self.assertEqual(hg.parseurl(b'http://example.com/no/anchor'),
(b'http://example.com/no/anchor', (None, [])))
self.assertEqual(hg.parseurl(b'http://example.com/an/anchor#foo'),
(b'http://example.com/an/anchor', (b'foo', [])))
self.assertEqual(
hg.parseurl(b'http://example.com/no/anchor/branches', [b'foo']),
(b'http://example.com/no/anchor/branches', (None, [b'foo'])))
self.assertEqual(
hg.parseurl(b'http://example.com/an/anchor/branches#bar', [b'foo']),
(b'http://example.com/an/anchor/branches', (b'bar', [b'foo'])))
self.assertEqual(hg.parseurl(
b'http://example.com/an/anchor/branches-None#foo', None),
(b'http://example.com/an/anchor/branches-None', (b'foo', [])))
self.assertEqual(hg.parseurl(b'http://example.com/'),
(b'http://example.com/', (None, [])))
self.assertEqual(hg.parseurl(b'http://example.com'),
(b'http://example.com/', (None, [])))
self.assertEqual(hg.parseurl(b'http://example.com#foo'),
(b'http://example.com/', (b'foo', [])))
if __name__ == '__main__':
import silenttestrunner
silenttestrunner.main(__name__)