diff options
author | nyamatongwe <unknown> | 2009-05-27 01:21:59 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2009-05-27 01:21:59 +0000 |
commit | 27042b42199acb91f9f1c34aab6e98924f408a64 (patch) | |
tree | 09067b85aea5dd13020b8ae73f9152668d0b2465 /test/lexTests.py | |
parent | dca8a735518e2be631d72045a5da8cfd114e9481 (diff) | |
download | scintilla-mirror-27042b42199acb91f9f1c34aab6e98924f408a64.tar.gz |
Handles BOM on input files by removing.
Fixed for UTF-8 input.
Added D test.
Diffstat (limited to 'test/lexTests.py')
-rw-r--r-- | test/lexTests.py | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/test/lexTests.py b/test/lexTests.py index b4caa95f6..c90f22e9b 100644 --- a/test/lexTests.py +++ b/test/lexTests.py @@ -24,18 +24,17 @@ class TestLexers(unittest.TestCase): self.ed.EmptyUndoBuffer() def AsStyled(self): - data = io.StringIO() - len = 0 + text = self.ed.Contents() + data = io.BytesIO() prevStyle = -1 for o in range(self.ed.Length): - styleNow = self.ed.GetStyleAt(len) + styleNow = self.ed.GetStyleAt(o) if styleNow != prevStyle: styleBuf = "{%0d}" % styleNow - data.write(styleBuf) + data.write(styleBuf.encode('utf-8')) prevStyle = styleNow - data.write(chr(self.ed.GetCharAt(len))) - len += 1 - return data.getvalue( ) + data.write(text[o:o+1]) + return data.getvalue() def LexExample(self, name, lexerName, keywords=None): if keywords is None: @@ -52,13 +51,16 @@ class TestLexers(unittest.TestCase): nameNew = nameExample +".new" with open(nameExample, "rb") as f: prog = f.read() + BOM = b"\xEF\xBB\xBF" + if prog.startswith(BOM): + prog = prog[len(BOM):] lenDocument = len(prog) self.ed.AddText(lenDocument, prog) self.ed.Colourise(0, lenDocument) self.assertEquals(self.ed.EndStyled, lenDocument) with open(namePrevious, "rb") as f: prevStyled = f.read() - progStyled = self.AsStyled().encode('utf-8') + progStyled = self.AsStyled() if progStyled != prevStyled: with open(nameNew, "wb") as f: f.write(progStyled) @@ -75,7 +77,7 @@ class TestLexers(unittest.TestCase): self.ed.StartStyling(lineStart, mask) self.assertEquals(self.ed.EndStyled, lineStart) self.ed.Colourise(0, lenDocument) - progStyled = self.AsStyled().encode('utf-8') + progStyled = self.AsStyled() if progStyled != prevStyled: with open(nameNew, "wb") as f: f.write(progStyled) @@ -102,5 +104,10 @@ class TestLexers(unittest.TestCase): def testVB(self): self.LexExample("x.vb", b"vb", [b"as dim or string"]) + def testD(self): + self.LexExample("x.d", b"d", + [b"keyword1", b"keyword2", b"", b"keyword4", b"keyword5", + b"keyword6", b"keyword7"]) + if __name__ == '__main__': XiteWin.main("lexTests") |