Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clearing debugger subscriptions and subcomponents in StDebuggerExtensionMechanismTest>>#tearDown #712

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ StDebuggerExtensionMechanismTest >> setUp [
StDebuggerExtensionMechanismTest >> tearDown [

| allDebuggerExtensions |
debugger ifNotNil: [
debugger close.
debugger unsubscribeFromSystemAnnouncer.
debugger unsubscribeFromActionModel.
debugger clearDebugSession.
debugger clearDebuggerActionModel ].
allDebuggerExtensions := StDebugger extensionToolsClasses.
allDebuggerExtensions do: [ :extension |
| wasActivated |
Expand All @@ -63,26 +69,30 @@ StDebuggerExtensionMechanismTest >> tearDown [
{ #category : 'tests' }
StDebuggerExtensionMechanismTest >> testDynamicLayoutWithAndWithoutExtension [

| dbg toolPage session |
| toolPage session |
session := StTestDebuggerProvider new sessionForDebuggerTests.
self debuggerClass extensionToolsClasses do: [ :extension |
extension showInDebugger: false ].
dbg := self debugger
session: session;
application: self debuggerClass currentApplication;
initialize;
yourself.

self assertEmpty: dbg extensionTools.
self assertEmpty: dbg extensionToolNotebook pages.
self denyCollection: dbg stackAndCodeContainer children includesAny: {#extensionToolsNotebook }.
debugger := self debugger
session: session;
application: self debuggerClass currentApplication;
initialize;
yourself.

self assertEmpty: debugger extensionTools.
self assertEmpty: debugger extensionToolNotebook pages.
self
denyCollection: debugger stackAndCodeContainer children
includesAny: { #extensionToolsNotebook }.

"We activate an extension"
StDummyDebuggerPresenter showInDebugger: true.
self assert: dbg extensionToolNotebook pages size equals: 1.
self assert: dbg extensionTools size equals: 1.
self assertCollection: dbg stackAndCodeContainer children includesAny: {#extensionToolsNotebook }.
toolPage := dbg extensionToolNotebook pages first.
self assert: debugger extensionToolNotebook pages size equals: 1.
self assert: debugger extensionTools size equals: 1.
self
assertCollection: debugger stackAndCodeContainer children
includesAny: { #extensionToolsNotebook }.
toolPage := debugger extensionToolNotebook pages first.
self assert: toolPage class identicalTo: SpNotebookPage.
self
assert: toolPage presenterProvider value class
Expand All @@ -92,16 +102,18 @@ StDebuggerExtensionMechanismTest >> testDynamicLayoutWithAndWithoutExtension [
equals: StDummyDebuggerPresenter new debuggerExtensionToolName.
self
assert: toolPage presenterProvider value debugger
identicalTo: dbg.
identicalTo: debugger.
self
assertCollection: dbg extensionTools
assertCollection: debugger extensionTools
includesAll: { toolPage presenterProvider value }.

"We remove the extension"
StDummyDebuggerPresenter showInDebugger: false.
self assertEmpty: dbg extensionTools.
self assertEmpty: dbg extensionToolNotebook pages.
self denyCollection: dbg stackAndCodeContainer children includesAny: {#extensionToolsNotebook }
self assertEmpty: debugger extensionTools.
self assertEmpty: debugger extensionToolNotebook pages.
self
denyCollection: debugger stackAndCodeContainer children
includesAny: { #extensionToolsNotebook }
]

{ #category : 'tests - extensions' }
Expand All @@ -123,15 +135,24 @@ StDebuggerExtensionMechanismTest >> testHasAnyActivatedExtensions [

{ #category : 'tests - extensions' }
StDebuggerExtensionMechanismTest >> testInstantiateExtensionToolsPage [
|dbg toolPage|

| dbg toolPage |
dbg := self debugger.
toolPage := dbg instantiateExtensionToolsPage: StDummyDebuggerPresenter.
toolPage := dbg instantiateExtensionToolsPage:
StDummyDebuggerPresenter.
self assert: toolPage class identicalTo: SpNotebookPage.
self assert: toolPage presenterProvider value class identicalTo: StDummyDebuggerPresenter.
self assert: toolPage title equals: StDummyDebuggerPresenter new debuggerExtensionToolName.
self assert: toolPage presenterProvider value debugger identicalTo: dbg.
self assertCollection: dbg extensionTools includesAll: { toolPage presenterProvider value}.

self
assert: toolPage presenterProvider value class
identicalTo: StDummyDebuggerPresenter.
self
assert: toolPage title
equals: StDummyDebuggerPresenter new debuggerExtensionToolName.
self
assert: toolPage presenterProvider value debugger
identicalTo: dbg.
self
assertCollection: dbg extensionTools
includesAll: { toolPage presenterProvider value }
]

{ #category : 'tests - extensions' }
Expand Down