@@ -5749,6 +5749,28 @@ FamixPythonProject1Test >> testReadAccessInDictionarySplat [
57495749 self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
57505750]
57515751
5752+ { #category : 'tests - accesses' }
5753+ FamixPythonProject1Test >> testReadAccessInExpressionList [
5754+ " same as tuple but it becomes an expression_list node in some cases like in a return:
5755+ def func():
5756+ return a, b
5757+ "
5758+ | local function access |
5759+ local := self localVariableNamed: 'variableToAccessInTuple'.
5760+ function := self functionNamed: 'variable_to_access_in_tuple_return'.
5761+
5762+ access := (local incomingAccesses select: [ :anAccess | anAccess accessor = function ]) detectMax: [ :anAccess | anAccess sourceAnchor startPos ].
5763+
5764+ self assert: access class equals: FamixPythonAccess.
5765+ self assert: access source equals: function.
5766+ self assert: access accessor equals: function.
5767+ self assert: access target equals: local.
5768+ self assert: access variable equals: local.
5769+ self deny: access isWrite.
5770+ self assert: access isRead.
5771+ self assert: (function accesses anySatisfy: [ :anAccess | anAccess variable = local ])
5772+ ]
5773+
57525774{ #category : 'tests - accesses' }
57535775FamixPythonProject1Test >> testReadAccessInGeneratorExpression [
57545776
@@ -5761,6 +5783,44 @@ FamixPythonProject1Test >> testReadAccessInGeneratorExpression [
57615783 self assert: accesses size equals: 2
57625784]
57635785
5786+ { #category : 'tests - accesses' }
5787+ FamixPythonProject1Test >> testReadAccessInKeywordArgument [
5788+
5789+ | global module access |
5790+ global := self globalVariableNamed: 'variableToAccessInKeywordArgumentCall'.
5791+ module := self moduleNamed: 'moduleAtRoot13'.
5792+
5793+ access := (global incomingAccesses select: [ :anAccess | anAccess accessor = module ]) detectMax: [ :anAccess | anAccess sourceAnchor startPos ].
5794+
5795+ self assert: access class equals: FamixPythonAccess.
5796+ self assert: access source equals: module.
5797+ self assert: access accessor equals: module.
5798+ self assert: access target equals: global.
5799+ self assert: access variable equals: global.
5800+ self deny: access isWrite.
5801+ self assert: access isRead.
5802+ self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
5803+ ]
5804+
5805+ { #category : 'tests - accesses' }
5806+ FamixPythonProject1Test >> testReadAccessInKeywordArgumentInParenthesis [
5807+
5808+ | global module access |
5809+ global := self globalVariableNamed: 'variableToAccessInKeywordArgumentCallInParenthesis'.
5810+ module := self moduleNamed: 'moduleAtRoot13'.
5811+
5812+ access := (global incomingAccesses select: [ :anAccess | anAccess accessor = module ]) detectMax: [ :anAccess | anAccess sourceAnchor startPos ].
5813+
5814+ self assert: access class equals: FamixPythonAccess.
5815+ self assert: access source equals: module.
5816+ self assert: access accessor equals: module.
5817+ self assert: access target equals: global.
5818+ self assert: access variable equals: global.
5819+ self deny: access isWrite.
5820+ self assert: access isRead.
5821+ self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
5822+ ]
5823+
57645824{ #category : 'tests - accesses' }
57655825FamixPythonProject1Test >> testReadAccessInLambdaBody [
57665826
@@ -5923,6 +5983,25 @@ FamixPythonProject1Test >> testReadAccessInPair [
59235983 self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
59245984]
59255985
5986+ { #category : 'tests - accesses' }
5987+ FamixPythonProject1Test >> testReadAccessInTuple [
5988+
5989+ | global module access |
5990+ global := self globalVariableNamed: 'variableToAccessInTuple'.
5991+ module := self moduleNamed: 'moduleAtRoot13'.
5992+
5993+ access := (global incomingAccesses select: [ :anAccess | anAccess accessor = module ]) detectMax: [ :anAccess | anAccess sourceAnchor startPos ].
5994+
5995+ self assert: access class equals: FamixPythonAccess.
5996+ self assert: access source equals: module.
5997+ self assert: access accessor equals: module.
5998+ self assert: access target equals: global.
5999+ self assert: access variable equals: global.
6000+ self deny: access isWrite.
6001+ self assert: access isRead.
6002+ self assert: (module accesses anySatisfy: [ :anAccess | anAccess variable = global ])
6003+ ]
6004+
59266005{ #category : 'tests - accesses' }
59276006FamixPythonProject1Test >> testReadAccessInTypedDefaultParameter [
59286007
0 commit comments