@@ -27,69 +27,42 @@ def SINK_F(x):
27
27
print ("OK" )
28
28
29
29
30
- # Preamble
30
+ # ------------------------------------------------------------------------------
31
+ # Actual tests
32
+ # ------------------------------------------------------------------------------
33
+
31
34
class MyObj (object ):
32
35
def __init__ (self , foo ):
33
36
self .foo = foo
34
37
35
38
def setFoo (self , foo ):
36
39
self .foo = foo
37
40
38
-
39
- class NestedObj (object ):
40
- def __init__ (self ):
41
- self .obj = MyObj ("OK" )
42
-
43
- def getObj (self ):
44
- return self .obj
45
-
46
- # Actual tests
47
-
48
41
def setFoo (obj , x ):
49
42
SINK_F (obj .foo )
50
43
obj .foo = x
51
44
52
45
@expects (2 )
53
- def test_example1 ():
46
+ def test_indirect_assign ():
54
47
myobj = MyObj ("OK" )
55
48
56
49
setFoo (myobj , SOURCE )
57
50
SINK (myobj .foo ) # $ flow="SOURCE, l:-1 -> myobj.foo"
58
51
59
52
60
- def test_example1_method ():
53
+ def test_indirect_assign_method ():
61
54
myobj = MyObj ("OK" )
62
55
63
56
myobj .setFoo (SOURCE )
64
57
SINK (myobj .foo ) # $ MISSING: flow
65
58
66
59
67
- def test_example2 ():
68
- x = SOURCE
69
-
70
- a = NestedObj ()
71
-
72
- a .obj .foo = x
73
-
74
- SINK (a .obj .foo ) # $ flow="SOURCE, l:-6 -> a.obj.foo"
75
-
76
-
77
- def test_example2_method ():
78
- x = SOURCE
79
-
80
- a = NestedObj ()
81
-
82
- a .getObj ().foo = x
83
-
84
- SINK (a .obj .foo ) # $ MISSING: flow
85
-
86
-
87
- def test_example3 ():
60
+ def test_constructor_assign ():
88
61
obj = MyObj (SOURCE )
89
62
SINK (obj .foo ) # $ flow="SOURCE, l:-1 -> obj.foo"
90
63
91
64
92
- def test_example3_kw ():
65
+ def test_constructor_assign_kw ():
93
66
obj = MyObj (foo = SOURCE )
94
67
SINK (obj .foo ) # $ flow="SOURCE, l:-1 -> obj.foo"
95
68
@@ -99,6 +72,30 @@ def fields_with_local_flow(x):
99
72
a = obj .foo
100
73
return a
101
74
102
-
103
75
def test_fields ():
104
76
SINK (fields_with_local_flow (SOURCE )) # $ flow="SOURCE -> fields_with_local_flow(..)"
77
+
78
+ # ------------------------------------------------------------------------------
79
+ # Nested Object
80
+ # ------------------------------------------------------------------------------
81
+
82
+ class NestedObj (object ):
83
+ def __init__ (self ):
84
+ self .obj = MyObj ("OK" )
85
+
86
+ def getObj (self ):
87
+ return self .obj
88
+
89
+
90
+ def test_nested_obj ():
91
+ x = SOURCE
92
+ a = NestedObj ()
93
+ a .obj .foo = x
94
+ SINK (a .obj .foo ) # $ flow="SOURCE, l:-3 -> a.obj.foo"
95
+
96
+
97
+ def test_nested_obj_method ():
98
+ x = SOURCE
99
+ a = NestedObj ()
100
+ a .getObj ().foo = x
101
+ SINK (a .obj .foo ) # $ MISSING: flow
0 commit comments