/runtime/Python2/src/antlr4/FileStream.py
Python | 32 lines | 14 code | 8 blank | 10 comment | 1 complexity | 0cd7fea2f03a2ed46ed0ce67789e9d25 MD5 | raw file
Possible License(s): BSD-3-Clause
- #
- # Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
- # Use of this file is governed by the BSD 3-clause license that
- # can be found in the LICENSE.txt file in the project root.
- #
- #
- # This is an InputStream that is loaded from a file all at once
- # when you construct the object.
- #
- import codecs
- import unittest
- from antlr4.InputStream import InputStream
- class FileStream(InputStream):
- def __init__(self, fileName, encoding='ascii', errors='strict'):
- self.fileName = fileName
- # read binary to avoid line ending conversion
- with open(fileName, 'rb') as file:
- bytes = file.read()
- data = codecs.decode(bytes, encoding, errors)
- super(type(self), self).__init__(data)
- class TestFileStream(unittest.TestCase):
- def testStream(self):
- stream = FileStream("FileStream.py")
- self.assertTrue(stream.size>0)