Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: third_party/cython/src/Cython/Tests/TestStringIOTree.py

Issue 385073004: Adding cython v0.20.2 in third-party. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reference cython dev list thread. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 import unittest
2
3 from Cython import StringIOTree as stringtree
4
5 code = """
6 cdef int spam # line 1
7
8 cdef ham():
9 a = 1
10 b = 2
11 c = 3
12 d = 4
13
14 def eggs():
15 pass
16
17 cpdef bacon():
18 print spam
19 print 'scotch'
20 print 'tea?'
21 print 'or coffee?' # line 16
22 """
23
24 linemap = dict(enumerate(code.splitlines()))
25
26 class TestStringIOTree(unittest.TestCase):
27
28 def setUp(self):
29 self.tree = stringtree.StringIOTree()
30
31 def test_markers(self):
32 assert not self.tree.allmarkers()
33
34 def test_insertion(self):
35 self.write_lines((1, 2, 3))
36 line_4_to_6_insertion_point = self.tree.insertion_point()
37 self.write_lines((7, 8))
38 line_9_to_13_insertion_point = self.tree.insertion_point()
39 self.write_lines((14, 15, 16))
40
41 line_4_insertion_point = line_4_to_6_insertion_point.insertion_point()
42 self.write_lines((5, 6), tree=line_4_to_6_insertion_point)
43
44 line_9_to_12_insertion_point = (
45 line_9_to_13_insertion_point.insertion_point())
46 self.write_line(13, tree=line_9_to_13_insertion_point)
47
48 self.write_line(4, tree=line_4_insertion_point)
49 self.write_line(9, tree=line_9_to_12_insertion_point)
50 line_10_insertion_point = line_9_to_12_insertion_point.insertion_point()
51 self.write_line(11, tree=line_9_to_12_insertion_point)
52 self.write_line(10, tree=line_10_insertion_point)
53 self.write_line(12, tree=line_9_to_12_insertion_point)
54
55 self.assertEqual(self.tree.allmarkers(), range(1, 17))
56 self.assertEqual(code.strip(), self.tree.getvalue().strip())
57
58
59 def write_lines(self, linenos, tree=None):
60 for lineno in linenos:
61 self.write_line(lineno, tree=tree)
62
63 def write_line(self, lineno, tree=None):
64 if tree is None:
65 tree = self.tree
66 tree.markers.append(lineno)
67 tree.write(linemap[lineno] + '\n')
OLDNEW
« no previous file with comments | « third_party/cython/src/Cython/Tests/TestCodeWriter.py ('k') | third_party/cython/src/Cython/Tests/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698