Fixed an issue in chapter 6 where window repeatedly listened to popstate event. #26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the section 6.4.2 of the book it is written:
The current code looks like this:
But this is a bit strange, currently
detachPopstateHandlers
will only detach the popstate event registered in the test, but each timebeforeEach
will re-executemain.js
so the window will also register the popstate event again but without first removing the previous registration? So I think we should spy onwindow.addEvenetListener
beforemain.js
has been executed.I wrote a test based on the current implementation to verify this problem, this program simply prints out where popstate event is triggered, and after execution, it can be found that window has registered the popstate event multiple times.