| Home | Trees | Indices | Help |
|---|
|
|
1 2 # The contents of this file are subject to the Mozilla Public License 3 # (MPL) Version 1.1 (the "License"); you may not use this file except 4 # in compliance with the License. You may obtain a copy of the License 5 # at http://www.mozilla.org/MPL/ 6 # 7 # Software distributed under the License is distributed on an "AS IS" 8 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 9 # the License for the specific language governing rights and 10 # limitations under the License. 11 # 12 # The Original Code is LEPL (http://www.acooke.org/lepl) 13 # The Initial Developer of the Original Code is Andrew Cooke. 14 # Portions created by the Initial Developer are Copyright (C) 2009-2010 15 # Andrew Cooke (andrew@acooke.org). All Rights Reserved. 16 # 17 # Alternatively, the contents of this file may be used under the terms 18 # of the LGPL license (the GNU Lesser General Public License, 19 # http://www.gnu.org/licenses/lgpl.html), in which case the provisions 20 # of the LGPL License are applicable instead of those above. 21 # 22 # If you wish to allow use of your version of this file only under the 23 # terms of the LGPL License and not to allow others to use your version 24 # of this file under the MPL, indicate your decision by deleting the 25 # provisions above and replace them with the notice and other provisions 26 # required by the LGPL License. If you do not delete the provisions 27 # above, a recipient may use your version of this file under either the 28 # MPL or the LGPL License. 29 30 ''' 31 Support for matcher tests. 32 ''' 33 34 #from logging import basicConfig, DEBUG 35 from re import sub 36 from unittest import TestCase 37 38 from lepl.support.lib import str 39 from lepl.stream.maxdepth import FullFirstMatchException 40 414367 6845 match.config.no_full_first_match() 46 parser = match.get_parse_all() 47 #print(parser.matcher.tree()) 48 result = list(parser(stream)) 49 assert target == result, result5052 try: 53 match.match_string(stream) 54 assert 'Expected error' 55 except FullFirstMatchException: 56 pass5759 match.config.no_full_first_match() 60 matcher = match.get_parse_list_all() 61 #print(matcher.matcher) 62 result = list(matcher(stream, **kargs)) 63 assert target == result, result6470 ''' 71 Assert two strings are approximately equal, allowing tests to run in 72 Python 3 and 2. 73 ''' 74 def clean(x): 75 x = str(x) 76 x = x.replace("u'", "'") 77 x = x.replace("lepl.matchers.error.Error", "Error") 78 x = x.replace("lepl.stream.maxdepth.FullFirstMatchException", "FullFirstMatchException") 79 x = sub('<(.+) 0x[0-9a-fA-F]*>', '<\\1 0x...>', x) 80 x = sub('(\\d+)L', '\\1', x) 81 return x82 a = clean(a) 83 b = clean(b) 84 assert a == b, '"' + a + '" != "' + b + '"' 85
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Sat Jun 9 21:51:02 2012 | http://epydoc.sourceforge.net |