| 
					
				 | 
			
			
				@@ -40,6 +40,81 @@ smalltalk.AnnouncementSubscriptionTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addClass('AnnouncerTest', smalltalk.TestCase, [], 'Kernel-Tests'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "testOnDo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'not yet classified', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var counter,announcer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $SystemAnnouncement(){return smalltalk.SystemAnnouncement||(typeof SystemAnnouncement=="undefined"?nil:SystemAnnouncement)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+counter=(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+announcer=_st($Announcer())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["new"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(announcer)._on_do_($SystemAnnouncement(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+counter=_st(counter).__plus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return counter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=announcer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($SystemAnnouncement())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["new"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._announce_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["announce:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_(counter,(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["assert:equals:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(announcer)._announce_(_st($SystemAnnouncement())._new()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_(counter,(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"testOnDo",{counter:counter,announcer:announcer},smalltalk.AnnouncerTest)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "testOnDo\x0a\x09| counter announcer |\x0a\x09\x0a\x09counter := 0.\x0a\x09announcer := Announcer new.\x0a\x09announcer on: SystemAnnouncement do: [ counter := counter + 1 ].\x0a\x0a\x09announcer announce: (SystemAnnouncement new).\x0a\x09self assert: counter equals: 1.\x0a\x0a\x09announcer announce: (SystemAnnouncement new).\x0a\x09self assert: counter equals: 2.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["new", "on:do:", "+", "announce:", "assert:equals:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["Announcer", "SystemAnnouncement"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.AnnouncerTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "testOnDoOnce", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'not yet classified', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var counter,announcer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $SystemAnnouncement(){return smalltalk.SystemAnnouncement||(typeof SystemAnnouncement=="undefined"?nil:SystemAnnouncement)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+counter=(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+announcer=_st($Announcer())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["new"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(announcer)._on_doOnce_($SystemAnnouncement(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+counter=_st(counter).__plus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return counter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=announcer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($SystemAnnouncement())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["new"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._announce_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["announce:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_(counter,(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["assert:equals:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(announcer)._announce_(_st($SystemAnnouncement())._new()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_(counter,(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"testOnDoOnce",{counter:counter,announcer:announcer},smalltalk.AnnouncerTest)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "testOnDoOnce\x0a\x09| counter announcer |\x0a\x09\x0a\x09counter := 0.\x0a\x09announcer := Announcer new.\x0a\x09announcer on: SystemAnnouncement doOnce: [ counter := counter + 1 ].\x0a\x0a\x09announcer announce: (SystemAnnouncement new).\x0a\x09self assert: counter equals: 1.\x0a\x0a\x09announcer announce: (SystemAnnouncement new).\x0a\x09self assert: counter equals: 1.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["new", "on:doOnce:", "+", "announce:", "assert:equals:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["Announcer", "SystemAnnouncement"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.AnnouncerTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addClass('BlockClosureTest', smalltalk.TestCase, [], 'Kernel-Tests'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 |