[Pkg] The Trunk: Tests-nice.450.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Apr 13 16:32:45 UTC 2021


Nicolas Cellier uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-nice.450.mcz

==================== Summary ====================

Name: Tests-nice.450
Author: nice
Time: 13 April 2021, 6:32:38.49942 pm
UUID: 88d71628-1262-524d-bbc0-7489c23848f3
Ancestors: Tests-mt.449

Revises ExceptionTests >> #testCatchingDefaultAction to work when being debugged/simulated as well. This also decouples the test from the implementation details of UnhandledWarnings. Also, Warning may be entirely disabled by a Preference, making the test fail.

Removes #testHandlerFromAction from expectedFailures because it now finally works.

This is same as Tests-ct.448 and Tests-ct.449, with a slightly different test, such that the defaultAction is triggered. Thanks Christoph!

=============== Diff against Tests-mt.449 ===============

Item was removed:
- ----- Method: ExceptionTests>>expectedFailures (in category 'failures') -----
- expectedFailures
- 	"This test is a feature request. For more information on this issue visit:
- 	http://forum.world.st/The-Inbox-Tests-TestRunner-156-mcz-tc4643910.html#a4643987
- 	http://forum.world.st/ExceptionTests-Wrong-error-handler-tc4848699.html
- 	http://forum.world.st/ExceptionTests-gt-testHandlerFromAction-fails-tc4872828.html#a4872958"
- 	
- 	^ #(testHandlerFromAction).!

Item was changed:
  ----- Method: ExceptionTests>>testCatchingDefaultAction (in category 'tests - outer') -----
  testCatchingDefaultAction
  	"The #defaultAction method is executed in the context of the signaling environment.
+ 	It must thus be caught by the handler."
+ 
- 	The defaultAction will raise an UnhandledWarning that should be caught by this handler."
  	| result |
+ 	result := [MyTestNotification signalForAction: [MyTestError signal: '2nd exception']]
+ 		on: MyTestError
+ 		do: [:ex | '2nd exception caught'].
+ 	self assert: '2nd exception caught' equals: result.!
- 	result := [ Warning signal: 'Warning signalled' ] on: UnhandledWarning do: [ :ex | 'UnhandledWarning caught' ].
- 	self assert: 'UnhandledWarning caught' equals: result!

Item was changed:
  Notification subclass: #MyTestNotification
+ 	instanceVariableNames: 'action'
- 	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Tests-Exceptions'!

Item was added:
+ ----- Method: MyTestNotification class>>signalForAction: (in category 'signaling') -----
+ signalForAction: aBlock
+ 
+ 	^ self new
+ 		action: aBlock;
+ 		signal!

Item was added:
+ ----- Method: MyTestNotification>>action (in category 'accessing') -----
+ action
+ 
+ 	^ action!

Item was added:
+ ----- Method: MyTestNotification>>action: (in category 'accessing') -----
+ action: aBlock
+ 
+ 	action := aBlock!

Item was added:
+ ----- Method: MyTestNotification>>defaultAction (in category 'priv handling') -----
+ defaultAction
+ 
+ 	self action ifNotNil: [^ self action cull: self].
+ 	
+ 	^ super defaultAction!



More information about the Packages mailing list