[Seaside] GRSlimeTest>>#run:do: question
pdebruic at gmail.com
Thu Jan 12 22:47:13 UTC 2012
I'm made some Amber specific portability Slime rules using the
Grease-Slime package as a model of how-to-do-it. They are here:
In GRSlimeTest>>#run:do: After the RBSmalllintChecker runs the composite
rule it checks the validity of the results by testing
do: [ :each |
assert: (rule = each or: [ each result isEmpty and: [ each changes
isEmpty ] ])
description: each name , ' should not report errors' ].
In Amber there aren't globals so each reference to 'Smalltalk' must be
rewritten to 'Smalltalk current'. I've written two rules that address
this: #AMSmalltalkGlobalRule & #AMSmalltalkToSmalltalkCurrentRule.
#AMSmalltalkGlobalRule compiles a list of the #references: to #Smalltalk
and #AMSmalltalkToSmalltalkCurrentRule rewrites those references if the
subsequent message send is not #current.
When running the test suite the above bit of code in #run:do: causes the
tests for #AMSmalltalkToSmalltalkCurrentRule to fail because
#AMSmalltalkGlobalRule always has a result for the test as I've written it.
How can I rewrite the test for #AMSmalltalkToSmalltalkCurrentRule or
rule for #AMSmalltalkGlobalRule so that it doesn't raise an error when
testing another method?
I could always just remove the error checking mechanism.
Thanks in advance.
More information about the seaside