@@ -5784,6 +5784,28 @@ FamixPythonProject1Test >> testReadAccessInDictionarySplat [
57845784 self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
57855785]
57865786
5787+ { #category : 'tests - accesses' }
5788+ FamixPythonProject1Test >> testReadAccessInExpressionList [
5789+ " same as tuple but it becomes an expression_list node in some cases like in a return:
5790+ def func():
5791+ return a, b
5792+ "
5793+ | local function access |
5794+ local := self localVariableNamed: 'variableToAccessInTuple'.
5795+ function := self functionNamed: 'variable_to_access_in_tuple_return'.
5796+
5797+ access := (local incomingAccesses select: [ :anAccess | anAccess accessor = function ]) detectMax: [ :anAccess | anAccess sourceAnchor startPos ].
5798+
5799+ self assert: access class equals: FamixPythonAccess.
5800+ self assert: access source equals: function.
5801+ self assert: access accessor equals: function.
5802+ self assert: access target equals: local.
5803+ self assert: access variable equals: local.
5804+ self deny: access isWrite.
5805+ self assert: access isRead.
5806+ self assert: (function accesses anySatisfy: [ :anAccess | anAccess variable = local ])
5807+ ]
5808+
57875809{ #category : 'tests - accesses' }
57885810FamixPythonProject1Test >> testReadAccessInGeneratorExpression [
57895811
@@ -5967,6 +5989,25 @@ FamixPythonProject1Test >> testReadAccessInPair [
59675989 self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
59685990]
59695991
5992+ { #category : 'tests - accesses' }
5993+ FamixPythonProject1Test >> testReadAccessInTuple [
5994+
5995+ | global module access |
5996+ global := self globalVariableNamed: 'variableToAccessInTuple'.
5997+ module := self moduleNamed: 'moduleAtRoot13'.
5998+
5999+ access := (global incomingAccesses select: [ :anAccess | anAccess accessor = module ]) detectMax: [ :anAccess | anAccess sourceAnchor startPos ].
6000+
6001+ self assert: access class equals: FamixPythonAccess.
6002+ self assert: access source equals: module.
6003+ self assert: access accessor equals: module.
6004+ self assert: access target equals: global.
6005+ self assert: access variable equals: global.
6006+ self deny: access isWrite.
6007+ self assert: access isRead.
6008+ self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
6009+ ]
6010+
59706011{ #category : 'tests - accesses' }
59716012FamixPythonProject1Test >> testReadAccessInTypedDefaultParameter [
59726013
0 commit comments