Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 32 additions & 28 deletions src/BaselineOfMolecule/BaselineOfMolecule.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,32 @@ Class {

{ #category : #baselines }
BaselineOfMolecule >> baseline: spec [

<baseline>
spec for: #common do: [ self baselineForCommon: spec ]
]

{ #category : #baselines }
BaselineOfMolecule >> baselineForCommon: spec [
<baseline>
spec
for: #common
do: [
"Pre and post load scripts"
spec preLoadDoIt: #'preload:package:'.
spec postLoadDoIt: #'postload:package:'.

"Pre and post load scripts"
spec preLoadDoIt: #'preload:package:'.
spec postLoadDoIt: #'postload:package:'.

"Packages"
spec
package: 'Molecule';
package: 'Molecule-IDE' with: [ spec requires: #('Molecule') ];
package: 'Molecule-Examples' with: [ spec requires: #('Molecule') ];
package: 'Molecule-Tests' with: [ spec requires: #('Molecule') ];
package: 'Molecule-IDE-Tests' with: [ spec requires: #('Molecule-IDE') ].
"Packages"
spec
package: 'Molecule';
package: 'Molecule-IDE' with: [ spec requires: #('Molecule') ];
package: 'Molecule-Examples' with: [ spec requires: #('Molecule') ];
package: 'Molecule-Tests' with: [ spec requires: #('Molecule') ];
package: 'Molecule-IDE-Tests' with: [ spec requires: #('Molecule-IDE') ].

"Pharo backward compatibility: to preserve running from Pharo 11"
spec
for: #'pharo11.x'
do:[
spec
baseline: 'PharoBackwardCompatibility'
with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:v1.11.0/src' ]
].
]
"Pharo backward compatibility: to preserve running from previous versions of Pharo"
spec
baseline: 'PharoBackwardCompatibility'
with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:master' ].

]

{ #category : #'load scripts' }
Expand Down Expand Up @@ -62,12 +63,15 @@ BaselineOfMolecule >> preload: loader package: packageSpec [
previousDynamicContractUpdateActivated := false.

(Smalltalk globals classNamed: #MolComponentManager) isRunningComponents ifTrue:[
(Smalltalk ui theme
proceedIn: Morph new
text: 'Warning, you are going to modify Molecule then components are started, do you want to continue ?'
title: 'Molecule - Loading a baseline') ifFalse:[
self flag:'PLA : How to stop the loading ? For the moment you should close the debug windows opened when Halt is call'.
Halt now.

(UIManager default confirm:
'Warning, you are going to modify Molecule then components are started, do you want to continue ?

If -NO-, an error window (Halt) will appears, close it to interrupt the loading process.
If -YES- the loading continue anyway.'
label: 'Molecule - Loading a baseline') ifFalse: [
Exception signal:'Cannot continue Molecule loading: just close me.'.
^ self
].
].

Expand Down
37 changes: 37 additions & 0 deletions src/Molecule-IDE-Tests/MolWorldTest.class.st
Original file line number Diff line number Diff line change
@@ -1,9 +1,45 @@
Class {
#name : #MolWorldTest,
#superclass : #TestCase,
#classInstVars : [
'worldMenuItemCheck'
],
#category : #'Molecule-IDE-Tests-Cases'
}

{ #category : #accessing }
MolWorldTest class >> worldMenuItemCheck [

^ worldMenuItemCheck
]

{ #category : #accessing }
MolWorldTest class >> worldMenuItemCheck: anObject [

worldMenuItemCheck := anObject
]

{ #category : #'tests - menu' }
MolWorldTest class >> worldMenuItemTestMethod: anItem [
"This method check if the pragma mecanism to setup a menu item is working"
"Be aware to not inject behavior here because this is just a test method ant it is called when the menu is build!"

<worldMenuItem: #Molecule>
worldMenuItemCheck := true.

anItem ifNil:[ Exception signal: 'Menu item should be not nil' ].
anItem item = (MolWorld menuKey) ifFalse:[ Exception signal: 'Menu item should be equals to ', MolWorld menuKey printString ].
]

{ #category : #running }
MolWorldTest >> setUp [

super setUp.

self class worldMenuItemCheck: false.
self deny: self class worldMenuItemCheck
]

{ #category : #running }
MolWorldTest >> testMenuKey [

Expand Down Expand Up @@ -32,4 +68,5 @@ MolWorldTest >> testWorldMenuBuilding [
MolWorld perform: p with: menuBuilder.
].

self assert: self class worldMenuItemCheck.
]
11 changes: 11 additions & 0 deletions src/Molecule-Tests/MolComponentFactoryTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -269,12 +269,23 @@ MolComponentFactoryTest >> testCollectComponentConnectionTraitsOrder [
"This test check the order of the traits collect: events, services and parameters. This is necessary to control the order to not change generated code in existing components"

| traits |
"Test with an abstract component subclass"
traits := MolComponentFactory default collectComponentConnectionTraits: MolCompleteComponentImpl.
self assert: traits size equals: 3.
self assert: (traits first) equals: MolUsedEvents.
self assert: (traits at: 2) equals: MolUsedServices.
self assert: (traits at: 3) equals: MolUsedParameters.

"Test with an augmented class as a component"
traits := MolComponentFactory default collectComponentConnectionTraits: MolAugmentedClassToAComponent.
self assert: traits size equals: 3.
self assert: (traits first) equals: MolUsedEvents.
self assert: (traits at: 2) equals: MolUsedServices.
self assert: (traits at: 3) equals: MolUsedParameters.

100 milliSeconds wait. "See issue #230, try to wait for removing previous test things"

"Test with an overloaded component class"
traits := MolComponentFactory default collectComponentConnectionTraits: MolCompleteComponentOverloadImpl.
self assert: traits size equals: 6.
self assert: (traits first) equals: MolUsedEvents.
Expand Down
Loading