public class Script extends Sequence implements Resolver
This takes a single filename as a constructor argument.
Use ScriptFixture
and
ScriptTestSuite
to generate a suite by auto-generating a collection of Script
s.
StepRunner
,
Fixture
,
Launch
,
Serialized FormModifier and Type | Field and Description |
---|---|
static String |
INTERPRETER |
protected static String |
UNTITLED |
static String |
UNTITLED_FILE |
(package private) static boolean |
validate |
TAG_ACTION, TAG_APPLETVIEWER, TAG_ARCHIVE, TAG_ARGS, TAG_ASSERT, TAG_AWT, TAG_AWTTESTSCRIPT, TAG_BORDER_TITLE, TAG_CALL, TAG_CLASS, TAG_CLASSPATH, TAG_CODE, TAG_CODEBASE, TAG_COMMENT, TAG_COMPONENT, TAG_COUNT, TAG_DELEGATE, TAG_DESC, TAG_DOCBASE, TAG_EVENT, TAG_EXPR, TAG_FILENAME, TAG_FIXTURE, TAG_FORKED, TAG_HEIGHT, TAG_HORDER, TAG_ICON, TAG_ID, TAG_INDEX, TAG_INVERT, TAG_INVOKER, TAG_KEYCHAR, TAG_KEYCODE, TAG_KIND, TAG_LABEL, TAG_LAUNCH, TAG_METHOD, TAG_MODIFIERS, TAG_NAME, TAG_PARAMS, TAG_PARENT, TAG_POLL_INTERVAL, TAG_PROPERTY, TAG_ROOT, TAG_SAMPLE, TAG_SCRIPT, TAG_SEQUENCE, TAG_SLOW, TAG_STOP_ON_ERROR, TAG_STOP_ON_FAILURE, TAG_TAG, TAG_TERMINATE, TAG_TEXT, TAG_THREADED, TAG_TIMEOUT, TAG_TITLE, TAG_TRIGGER, TAG_TYPE, TAG_VALUE, TAG_VMARGS, TAG_VORDER, TAG_WAIT, TAG_WEIGHTED, TAG_WIDTH, TAG_WINDOW, TAG_X, TAG_Y
Constructor and Description |
---|
Script()
Deprecated.
Use an explicit
Hierarchy instead. |
Script(Hierarchy h) |
Script(Resolver parent,
Map attributes) |
Script(String filename)
Deprecated.
Use an explicit
Hierarchy instead. |
Script(String filename,
Hierarchy h)
Create a
Script from the given file. |
Modifier and Type | Method and Description |
---|---|
ComponentReference |
addComponent(Component comp)
Add a new component reference for the given component.
|
void |
addComponentReference(ComponentReference ref)
Add a component reference directly, replacing any existing one with
the same ID.
|
(package private) ComponentReference |
addComponentReference(org.jdom.Element el)
Add a new component reference to the script.
|
org.jdom.Element |
addContent(org.jdom.Element el)
Save component references in addition to everything else.
|
void |
addStep(int index,
Step step)
Inserts a step at the given index in the sequence.
|
void |
addStep(Step step)
Adds a step to the end of the sequence.
|
void |
changeFile(File file)
Deprecated.
Use
setFile(File) . |
void |
clear()
Set up a blank script, discarding any current state.
|
static int |
countLines(Sequence seq,
int index)
Return the number of XML lines in the given sequence that precede the
given index.
|
protected static Map |
createDefaultMap(String filename) |
Map |
getAttributes()
Provide XML attributes for this Step.
|
ComponentReference |
getComponentReference(Component comp)
Return the reference for the given component, or null if none yet
exists.
|
ComponentReference |
getComponentReference(String name)
Convert the given reference ID into a component reference.
|
Collection |
getComponentReferences()
Returns a sorted collection of ComponentReferences.
|
String |
getContext(Step step)
Return a meaningful description of where the Step came from.
|
ClassLoader |
getContextClassLoader()
|
String |
getDefaultDescription()
Return a default description for this
Script . |
File |
getDirectory()
All relative files should be accessed relative to this directory,
which is the directory where the script resides.
|
File |
getFile()
Return the file where this script is saved.
|
static File |
getFile(Step step)
Return the file which defines the given step.
|
String |
getFilename()
Return the (possibly relative) path to this script.
|
protected String |
getFullXMLString() |
Hierarchy |
getHierarchy()
Return the currently effective
Hierarchy of components. |
static int |
getLine(Step step)
Return the approximate line number of the given step.
|
String |
getName() |
Object |
getProperty(String name)
Provide retrieval of values from temporary storage.
|
File |
getRelativeTo()
By default, all pathnames are relative to the current working
directory.
|
UIContext |
getUIContext() |
String |
getUsage()
Returns a string describing the proper XML usage for this class.
|
String |
getVMArgs() |
String |
getXMLTag()
Define the XML tag to use for this script step.
|
boolean |
hasLaunch()
Return whether this
Script is launchable. |
boolean |
hasTerminate() |
boolean |
isAWTMode() |
boolean |
isDirty()
Has this script changed since the last save.
|
boolean |
isForked() |
static boolean |
isScript(File file)
Return whether the given file looks like a valid AWT script.
|
boolean |
isSlowPlayback() |
void |
load()
Read the script from the currently set file.
|
void |
load(Reader reader)
Loads the XML test script.
|
protected void |
parseAttributes(Map map)
Parse XML attributes for the Script.
|
protected void |
parseChild(org.jdom.Element el) |
static File |
resolveRelativeReferences(File file)
It turns out that getAbsolutePath doesn't remove any relative path
entries such as ..
|
protected void |
runStep(StepRunner runner)
Process each event in our list, using the given runner.
|
void |
save()
Write the script to file.
|
void |
save(Writer writer)
Write the current state of the script to file.
|
void |
setAWTMode(boolean awt) |
void |
setFile(File file)
Set the file system basis for this script object.
|
void |
setForked(boolean fork) |
void |
setHierarchy(Hierarchy h) |
void |
setProperty(String name,
Object value)
Provide temporary storage of String values.
|
void |
setRelativeTo(File dir)
Indicate that when invoking toXML, a path relative to the given one
should be shown.
|
void |
setSlowPlayback(boolean slow) |
void |
setStep(int index,
Step step)
Replaces the step at the given index.
|
void |
setVMArgs(String args) |
String |
toEditableString()
Only thing directly editable on a script is its file path.
|
createChildrenFromReader, createSequenceFromString, getStep, indexOf, parseChildren, removeStep, removeStep, runStep, size, steps
addAttributes, createAttributeMap, createStep, createStep, getDescription, getResolver, resolveClass, resolveTester, run, setDescription, setScriptError, simpleClassName, toString, toXML, toXMLString, usage, usage
public static final String INTERPRETER
static boolean validate
public static final String UNTITLED_FILE
protected static final String UNTITLED
public Script()
Hierarchy
instead.public Script(String filename)
Hierarchy
instead.Script
from the given filename. Uses the
default Hierarchy
.public Script(Hierarchy h)
public void setHierarchy(Hierarchy h)
public String getName()
public void setForked(boolean fork)
public boolean isForked()
public void setVMArgs(String args)
public String getVMArgs()
public boolean isSlowPlayback()
public void setSlowPlayback(boolean slow)
public boolean isAWTMode()
public void setAWTMode(boolean awt)
public File getFile()
public void changeFile(File file)
setFile(File)
.public void setFile(File file)
public void save(Writer writer) throws IOException
IOException
public String toEditableString()
toEditableString
in interface XMLifiable
toEditableString
in class Sequence
public boolean isDirty()
public void save() throws IOException
IOException
protected void parseAttributes(Map map)
parseAttributes
in class Step
protected void parseChild(org.jdom.Element el) throws InvalidScriptException
parseChild
in class Sequence
InvalidScriptException
public void load(Reader reader) throws InvalidScriptException, IOException
reader
- Provides the script dataInvalidScriptException
IOException
public void addStep(int index, Step step)
Sequence
public void addStep(Step step)
Sequence
public void setStep(int index, Step step)
public void load() throws IOException
IOException
protected String getFullXMLString()
public String getXMLTag()
Step
public org.jdom.Element addContent(org.jdom.Element el)
addContent
in class Sequence
public String getFilename()
public Map getAttributes()
getAttributes
in class Step
protected void runStep(StepRunner runner) throws Throwable
Sequence
public void clear()
public String getUsage()
Sequence
public String getDefaultDescription()
Script
.getDefaultDescription
in class Sequence
public boolean hasLaunch()
Script
is launchable.public UIContext getUIContext()
UIContext
responsible for setting up
a UI context for this script, or
null
if the script has no UI to speak of.public ClassLoader getContextClassLoader()
getContextClassLoader
in interface Resolver
Thread.getContextClassLoader()
public boolean hasTerminate()
public File getRelativeTo()
public void setRelativeTo(File dir)
public static File resolveRelativeReferences(File file)
file
- The input file to tidy up.IllegalArgumentException
- If the number of ".." entries outnumber
those of the normal path entries.public static boolean isScript(File file)
public File getDirectory()
getDirectory
in interface Resolver
public Collection getComponentReferences()
getComponentReferences
in interface Resolver
public void addComponentReference(ComponentReference ref)
addComponentReference
in interface Resolver
public ComponentReference addComponent(Component comp)
addComponent
in interface Resolver
ComponentReference addComponentReference(org.jdom.Element el) throws InvalidScriptException
InvalidScriptException
public ComponentReference getComponentReference(Component comp)
getComponentReference
in interface Resolver
public ComponentReference getComponentReference(String name)
getComponentReference
in interface Resolver
public void setProperty(String name, Object value)
Resolver
setProperty
in interface Resolver
public Object getProperty(String name)
Resolver
getProperty
in interface Resolver
public Hierarchy getHierarchy()
Hierarchy
of components.getHierarchy
in interface Resolver
public String getContext(Step step)
getContext
in interface Resolver
public static int getLine(Step step)
public static int countLines(Sequence seq, int index)
Abbot is hosted on