From 11e058a5956faa2af8220a4519e3a849803e8f6f Mon Sep 17 00:00:00 2001 From: Nicolas Potel Date: Tue, 24 Feb 2026 10:30:41 +0100 Subject: [PATCH 1/2] fix: browser tests and git rebase --- .../DSRecordBrowserTest.class.st | 42 ++++++++-- DebuggingSpy-Browser/DSRecordBrowser.class.st | 84 +++++++++++-------- .../DSRecorderWindow.class.st | 2 +- DebuggingSpy/DSSTONFileLogger.class.st | 6 ++ DebuggingSpy/DSSpyInstrumenter.class.st | 3 + 5 files changed, 94 insertions(+), 43 deletions(-) diff --git a/DebuggingSpy-Browser-Tests/DSRecordBrowserTest.class.st b/DebuggingSpy-Browser-Tests/DSRecordBrowserTest.class.st index fa117c6..1669749 100644 --- a/DebuggingSpy-Browser-Tests/DSRecordBrowserTest.class.st +++ b/DebuggingSpy-Browser-Tests/DSRecordBrowserTest.class.st @@ -19,11 +19,10 @@ DSRecordBrowserTest >> filesPresenter [ DSRecordBrowserTest >> generateRecordFile: aNumberOfRecords [ | recordFileRef records | - recordFileRef := logger ensureCreateLoggingFileReference. - Transcript - show: recordFileRef; - cr. + browser startRecording. + recordFileRef := self updateLoggerFileName. records := OrderedCollection new. + 1 to: aNumberOfRecords do: [ :i | records add: (DSMouseEnterWindowRecord new windowId: 'test' , i asString; @@ -47,6 +46,8 @@ DSRecordBrowserTest >> setUp [ DSSpy testingSession: true. logger := DSSpy logger loggingDirectory: self temporaryDirectory. + self updateLoggerFileName. + browser := DSRecordBrowser new ] @@ -54,6 +55,7 @@ DSRecordBrowserTest >> setUp [ DSRecordBrowserTest >> tearDown [ DSRecordRegistry current reset. + browser stopRecording. super tearDown ] @@ -113,17 +115,33 @@ DSRecordBrowserTest >> testGetHistoryOf [ self assert: (DSRecordBrowser getHistoryOf: fileRef) records size equals: 5 ] +{ #category : 'tests' } +DSRecordBrowserTest >> testRemoveFile [ + + | fileRef1 fileRef2 | + fileRef1 := self generateRecordFile: 42. + fileRef2 := self generateRecordFile: 42. + + browser addFile: fileRef1. + browser addFile: fileRef2. + browser removeFile: fileRef1. + + self assert: browser files size equals: 1. + self assert: self filesPresenter items size equals: 1. + self assert: self filesPresenter selectedItem equals: fileRef2 +] + { #category : 'tests' } DSRecordBrowserTest >> testStartRecording [ self assert: browser recorderWindow isNil. + self deny: DSRecordRegistry autoSerialize. self deny: DSSpy recordingSession. browser startRecording. self assert: DSSpy recordingSession. + self assert: DSRecordRegistry autoSerialize. self deny: browser recorderWindow isNil. - - browser stopRecording ] { #category : 'helpers' } @@ -137,3 +155,15 @@ DSRecordBrowserTest >> toolbarPresenter [ ^ browser presenterAt: #toolbar ] + +{ #category : 'helpers' } +DSRecordBrowserTest >> updateLoggerFileName [ + "Changes the logging file name, needs to be called everytime a new file is created for the logger to be updated for future logs. +Using a UUID ensures that multiple files created at the same date and time dont have the same file name." + + | fr | + logger loggingFileName: UUID new asString. + fr := logger ensureCreateLoggingFileReference. + logger loggingFileReference: fr. + ^ fr +] diff --git a/DebuggingSpy-Browser/DSRecordBrowser.class.st b/DebuggingSpy-Browser/DSRecordBrowser.class.st index 375f187..ada4041 100644 --- a/DebuggingSpy-Browser/DSRecordBrowser.class.st +++ b/DebuggingSpy-Browser/DSRecordBrowser.class.st @@ -19,12 +19,18 @@ Class { 'recordsFilter' ], #classInstVars : [ - 'presenterWindow' + 'presenter' ], #category : 'DebuggingSpy-Browser', #package : 'DebuggingSpy-Browser' } +{ #category : 'accessing' } +DSRecordBrowser class >> browser [ + + ^ presenter ifNil: [ presenter := self new ] +] + { #category : 'color' } DSRecordBrowser class >> getColoredRecordsOf: aWindowRecordCollection [ @@ -83,40 +89,24 @@ DSRecordBrowser class >> menuCommandOn: aBuilder [ action: [ self toggleBrowser ] ] -{ #category : 'accessing' } -DSRecordBrowser class >> presenterWindow [ - - ^ presenterWindow -] - -{ #category : 'accessing' } -DSRecordBrowser class >> presenterWindow: aWindow [ - - presenterWindow := aWindow -] - { #category : 'initialization' } DSRecordBrowser class >> resetBrowser [