Package lepl :: Package matchers :: Package _test :: Module variables
[hide private]
[frames] | no frames]

Source Code for Module lepl.matchers._test.variables

 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  Tests for the lepl.matchers.variables module. 
32  ''' 
33   
34  #from logging import basicConfig, DEBUG 
35  from unittest import TestCase 
36   
37  from lepl._test.base import assert_str 
38  from lepl.matchers.core import Any 
39  from lepl.matchers.variables import NamedResult, TraceVariables 
40  from lepl.support.lib import StringIO 
41   
42   
43 -class ExplicitTest(TestCase):
44
45 - def test_wrapper(self):
46 output = StringIO() 47 matcher = NamedResult('foo', Any()[:], out=output) 48 repr(matcher) 49 matcher.config.clear() 50 parser = matcher.get_match_string() 51 list(parser('abc')) 52 text = output.getvalue() 53 assert_str(text, '''foo = ['a', 'b', 'c'] 54 'abc' -> <EOS> 55 foo (2) = ['a', 'b'] 56 'abc' -> 'c' 57 foo (3) = ['a'] 58 'abc' -> 'bc' 59 foo (4) = [] 60 'abc' -> 'abc' 61 ! foo (after 4 matches) 62 'abc' 63 ''')
64
65 - def test_context(self):
66 #basicConfig(level=DEBUG) 67 output = StringIO() 68 with TraceVariables(out=output): 69 bar = Any() 70 bar.config.no_full_first_match() 71 repr(bar) 72 list(bar.match('abc')) 73 text = output.getvalue() 74 assert_str(text, ''' bar = ['a'] stream = 'bc' 75 bar failed stream = 'abc' 76 ''')
77