# The contents of this file are subject to the Mozilla Public License # (MPL) Version 1.1 (the "License"); you may not use this file except # in compliance with the License. You may obtain a copy of the License # at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and # limitations under the License. # # The Original Code is LEPL (http://www.acooke.org/lepl) # The Initial Developer of the Original Code is Andrew Cooke. # Portions created by the Initial Developer are Copyright (C) 2009-2010 # Andrew Cooke. All Rights Reserved. # # Alternatively, the contents of this file may be used under the terms # of the LGPL license (the GNU Lesser General Public License, # http://www.gnu.org/licenses/lgpl.html), in which case the provisions # of the LGPL License are applicable instead of those above. # # If you wish to allow use of your version of this file only under the # terms of the LGPL License and not to allow others to use your version # of this file under the MPL, indicate your decision by deleting the # provisions above and replace them with the notice and other provisions # required by the LGPL License. If you do not delete the provisions # above, a recipient may use your version of this file under either the # MPL or the LGPL License. from __future__ import print_function from sys import version from lepl._test.base import BaseTest from lepl.lexer.matchers import Token from lepl.support.lib import str from tempfile import TemporaryFile class FileTest(BaseTest): def test_file(self): if version[0] == '3': f = TemporaryFile('w+', encoding='utf8') else: f = TemporaryFile('w+') print("hello world\n", file=f) f.flush() # f.seek(0) # print(f.readlines()) f.seek(0) w = Token('[a-z]+') s = Token(' +') v = w & s & w v.parse_iterable(f) def test_default(self): w = Token('[a-z]+') s = Token(' +') v = w & s & w v.parse_string("hello world\n")