Browse Source

Merge branch 'master' into helios-sunit

Nicolas Petton 10 years ago
parent
commit
e0e75b5e5a
4 changed files with 38 additions and 16 deletions
  1. 4 4
      src/Kernel-Infrastructure.js
  2. 1 1
      src/Kernel-Infrastructure.st
  3. 28 10
      src/Kernel-Tests.js
  4. 5 1
      src/Kernel-Tests.st

+ 4 - 4
src/Kernel-Infrastructure.js

@@ -1502,19 +1502,19 @@ protocol: 'accessing',
 fn: function (){
 var self=this;
 function $SystemAnnouncer(){return globals.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
-function $PackageClean(){return globals.PackageClean||(typeof PackageClean=="undefined"?nil:PackageClean)}
+function $PackageDirty(){return globals.PackageDirty||(typeof PackageDirty=="undefined"?nil:PackageDirty)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 self["@dirty"]=true;
-$1=_st($PackageClean())._new();
+$1=_st($PackageDirty())._new();
 _st($1)._package_(self);
 $2=_st($1)._yourself();
 _st(_st($SystemAnnouncer())._current())._announce_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"beDirty",{},globals.Package)})},
 args: [],
-source: "beDirty\x0a\x09dirty := true.\x0a\x09\x0a\x09SystemAnnouncer current announce: (PackageClean new\x0a\x09\x09package: self;\x0a\x09\x09yourself)",
+source: "beDirty\x0a\x09dirty := true.\x0a\x09\x0a\x09SystemAnnouncer current announce: (PackageDirty new\x0a\x09\x09package: self;\x0a\x09\x09yourself)",
 messageSends: ["announce:", "current", "package:", "new", "yourself"],
-referencedClasses: ["SystemAnnouncer", "PackageClean"]
+referencedClasses: ["SystemAnnouncer", "PackageDirty"]
 }),
 globals.Package);
 

+ 1 - 1
src/Kernel-Infrastructure.st

@@ -559,7 +559,7 @@ beClean
 beDirty
 	dirty := true.
 	
-	SystemAnnouncer current announce: (PackageClean new
+	SystemAnnouncer current announce: (PackageDirty new
 		package: self;
 		yourself)
 !

+ 28 - 10
src/Kernel-Tests.js

@@ -10,22 +10,40 @@ selector: "testAddExtensionMethod",
 protocol: 'tests',
 fn: function (){
 var self=this;
-var method;
+var method,dirty;
 return smalltalk.withContext(function($ctx1) { 
-var $1,$4,$3,$2;
-$1=self._class();
+var $2,$1,$4,$3,$5,$8,$7,$6,$9,$10;
+$2=self._class();
 $ctx1.sendIdx["class"]=1;
-method=_st($1)._compile_protocol_("doNothing","**not-a-package");
+$1=_st($2)._package();
+$ctx1.sendIdx["package"]=1;
+dirty=_st($1)._isDirty();
+$ctx1.sendIdx["isDirty"]=1;
 $4=self._class();
 $ctx1.sendIdx["class"]=2;
 $3=_st($4)._package();
-$2=_st($3)._isDirty();
-self._deny_($2);
-_st(self._class())._removeCompiledMethod_(method);
-return self}, function($ctx1) {$ctx1.fill(self,"testAddExtensionMethod",{method:method},globals.AnnouncementSubscriptionTest)})},
+$ctx1.sendIdx["package"]=2;
+_st($3)._beClean();
+$5=self._class();
+$ctx1.sendIdx["class"]=3;
+method=_st($5)._compile_protocol_("doNothing","**not-a-package");
+$8=self._class();
+$ctx1.sendIdx["class"]=4;
+$7=_st($8)._package();
+$ctx1.sendIdx["package"]=3;
+$6=_st($7)._isDirty();
+self._deny_($6);
+$9=self._class();
+$ctx1.sendIdx["class"]=5;
+_st($9)._removeCompiledMethod_(method);
+$10=dirty;
+if(smalltalk.assert($10)){
+_st(_st(self._class())._package())._beDirty();
+};
+return self}, function($ctx1) {$ctx1.fill(self,"testAddExtensionMethod",{method:method,dirty:dirty},globals.AnnouncementSubscriptionTest)})},
 args: [],
-source: "testAddExtensionMethod\x0a\x09| method |\x0a\x09method := self class compile: 'doNothing' protocol: '**not-a-package'.\x0a\x09self deny: self class package isDirty.\x0a\x09self class removeCompiledMethod: method.",
-messageSends: ["compile:protocol:", "class", "deny:", "isDirty", "package", "removeCompiledMethod:"],
+source: "testAddExtensionMethod\x0a\x09| method dirty |\x0a\x09dirty := self class package isDirty.\x0a\x09self class package beClean.\x0a\x09method := self class compile: 'doNothing' protocol: '**not-a-package'.\x0a\x09self deny: self class package isDirty.\x0a\x09\x0a\x09self class removeCompiledMethod: method.\x0a\x09dirty ifTrue: [ self class package beDirty ]",
+messageSends: ["isDirty", "package", "class", "beClean", "compile:protocol:", "deny:", "removeCompiledMethod:", "ifTrue:", "beDirty"],
 referencedClasses: []
 }),
 globals.AnnouncementSubscriptionTest);

+ 5 - 1
src/Kernel-Tests.st

@@ -6,10 +6,14 @@ TestCase subclass: #AnnouncementSubscriptionTest
 !AnnouncementSubscriptionTest methodsFor: 'tests'!
 
 testAddExtensionMethod
-	| method |
+	| method dirty |
+	dirty := self class package isDirty.
+	self class package beClean.
 	method := self class compile: 'doNothing' protocol: '**not-a-package'.
 	self deny: self class package isDirty.
+	
 	self class removeCompiledMethod: method.
+	dirty ifTrue: [ self class package beDirty ]
 !
 
 testHandlesAnnouncement