Skip to content

Commit 6815292

Browse files
committed
Adds that self in method example scripts refers to the enclosed class. Allows for inheriting examples.
1 parent 72a049f commit 6815292

File tree

5 files changed

+14
-4
lines changed

5 files changed

+14
-4
lines changed

packages/Babylonian-Core.package/BPMethodExample.class/instance/newArguments.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ newArguments
55
collect: [:script |
66
script isLiveSpecimenReference
77
ifTrue: [self resolveLiveSpecimen: script]
8-
ifFalse: [Compiler evaluate: script]]
8+
ifFalse: [Compiler evaluate: script for: self method methodClass]]

packages/Babylonian-Core.package/BPMethodExample.class/instance/newReceiver.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ newReceiver
88
^ self method methodClass perform: self receiverConstructor].
99
self receiverConstructor isLiveSpecimenReference ifTrue: [
1010
^ self resolveLiveSpecimen: self receiverConstructor].
11-
result := Compiler evaluate: self receiverConstructor.
11+
result := Compiler evaluate: self receiverConstructor for: self method methodClass.
1212
result isSymbol
1313
ifTrue: [self method methodClass perform: result]
1414
ifFalse: [result]]

packages/Babylonian-Core.package/BPMethodExample.class/methodProperties.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
"liveSpecimen" : "pre 1/10/2023 16:19",
1515
"liveSpecimenAt:" : "pre 1/10/2023 16:20",
1616
"morphClass" : "pre 9/30/2020 10:40",
17-
"newArguments" : "pre 1/10/2023 16:25",
17+
"newArguments" : "pre 1/11/2023 15:15",
1818
"newArgumentsDictionary" : "pre 8/6/2021 18:27",
19-
"newReceiver" : "pre 1/10/2023 16:20",
19+
"newReceiver" : "pre 1/11/2023 15:13",
2020
"prepareRunState" : "pre 8/6/2021 18:05",
2121
"receiverConstructor" : "pre 5/17/2019 14:06",
2222
"receiverConstructor:" : "pre 5/17/2019 14:06",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
tests - running
2+
testMethodExamplesCanAccessTheEnclosingClassAsSelf
3+
4+
| example |
5+
example := self createExamples first.
6+
example receiverConstructor: 'self'.
7+
example argumentScripts: #('self' '').
8+
self assert: BPTestExamplesClass equals: example newReceiver.
9+
self assert: {BPTestExamplesClass. BPTestExamplesClass} equals: example newArguments.

packages/Babylonian-Tests.package/BPExampleTest.class/methodProperties.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"testLiveSpecimenExample" : "pre 1/10/2023 16:30",
2626
"testMethodExamplesCanAccessArgumentsInTheSetup" : "pre 8/6/2021 18:21",
2727
"testMethodExamplesCanAccessArgumentsInTheTeardown" : "pre 8/6/2021 18:21",
28+
"testMethodExamplesCanAccessTheEnclosingClassAsSelf" : "pre 1/11/2023 15:17",
2829
"testMethodExamplesCanChangeArgumentsInTheSetup" : "pre 8/6/2021 18:20",
2930
"testNewExample" : "pre 6/7/2021 15:12",
3031
"testNewExampleArePartOfTheirMethod" : "pre 1/6/2021 19:06",

0 commit comments

Comments
 (0)