view tests/doctest.txt @ 10:b02420253bfd default tip

add recomposition and a test for it
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 28 Jun 2011 18:39:18 -0700
parents 0cd69fa6751c
children
line wrap: on
line source

Test urlmatch
=============

The obligatory imports::

    >>> from urlmatch import UrlMatcher

Test matching::

    >>> matcher = UrlMatcher('http://www.example.com/foo/bar/fleem')
    >>> matcher.add('http://www.example.com/foo/blah')
    >>> matcher.add('https://www.example.com/foo/')
    >>> matcher.add('https://www.example.net/foo/')
    >>> sorted(matcher.match('example.com/foo/bar'))
    ['http://www.example.com/foo/bar/fleem']
    >>> sorted(matcher.match('http://example.com/foo'))
    ['http://www.example.com/foo/bar/fleem', 'http://www.example.com/foo/blah']
    >>> sorted(matcher.match('example.com'))
    ['http://www.example.com/foo/bar/fleem', 'http://www.example.com/foo/blah', 'https://www.example.com/foo/']
    >>> sorted(matcher.match('example')) # -> example.*
    ['http://www.example.com/foo/bar/fleem', 'http://www.example.com/foo/blah', 'https://www.example.com/foo/', 'https://www.example.net/foo/']

Test decomposition and recomposition::
   
    >>> matcher = UrlMatcher()
    >>> decomposed = matcher.decompose('http://www.example.com/foo')
    >>> sorted(decomposed.items())
    [('domain', ['example', 'com', 'www']), ('path', ['foo']), ('scheme', 'http')]
    >>> matcher.recompose(decomposed)
    'http://www.example.com/foo'

Test url diffs::

    >>> matcher = UrlMatcher()