2.2.2 Rules for JavaServer Pages Products
The following rules apply for each version of an operating system,
software component, and hardware platform Documented as supporting the
Product:
JSP1 The Product must be able to satisfy all applicable compatibility
requirements, including passing all Conformance Tests, in every Product
Configuration and in every combination of Product Configurations, except
only as specifically exempted by these Rules.
For example, if a Product provides distinct Operating Modes to optimize
performance, then that Product must satisfy all applicable compatibility
requirements for a Product in each Product Configuration, and
combination of Product Configurations, of those Operating Modes.
JSP1.1 If an Operating Mode controls a Resource necessary for the
basic execution of the Test Suite, testing may always use a Product
Configuration of that Operating Mode providing that Resource, even if
other Product Configurations do not provide that Resource.
Notwithstanding such exceptions, each Product must have at least one set
of Product Configurations of such Operating Modes that is able to pass
all the Conformance Tests.
For example, a Product with an Operating Mode that controls a security
policy (i.e., Security Resource) which has one or more Product
Configurations that cause Conformance Tests to fail may be tested using
a Product Configuration that allows all Conformance Tests to pass.
JSP1.2 A Product Configuration of an Operating Mode that causes the
Product to report only version, usage, or diagnostic information is
exempted from these compatibility rules.
JSP1.3 An API Definition Product is exempt from all functional
testing requirements defined here, except the signature tests.
JSP2 Some Conformance Tests may have properties that may be changed.
Properties that can be changed are identified in the configuration
interview. Properties that can be changed are identified in the JavaTest
Environment (.jte) files in the Test Suite
installation. Apart from changing such properties and other allowed
modifications described in this User’s Guide (if any), no source or
binary code for a Conformance Test may be altered in any way without
prior written permission. Any such allowed alterations to the
Conformance Tests would be posted to the Java Licensee Engineering web
site and apply to all licensees.
JSP3 The testing tools supplied as part of the Test Suite or as
updated by the Maintenance Lead must be used to certify compliance.
JSP4 The Exclude List associated with the Test Suite cannot be
modified.
JSP5 The Maintenance Lead can define exceptions to these Rules. Such
exceptions would be made available to and apply to all licensees.
JSP6 All hardware and software component additions, deletions, and
modifications to a Documented supporting hardware/software platform,
that are not part of the Product but required for the Product to satisfy
the compatibility requirements, must be Documented and available to
users of the Product.
For example, if a patch to a particular version of a supporting
operating system is required for the Product to pass the Conformance
Tests, that patch must be Documented and available to users of the
Product.
JSP7 The Product must contain the full set of public and protected
classes and interfaces for all the Libraries. Those classes and
interfaces must contain exactly the set of public and protected methods,
constructors, and fields defined by the Specifications for those
Libraries. No subsetting, supersetting, or modifications of the public
and protected API of the Libraries are allowed except only as
specifically exempted by these Rules.
JSP7.1 If a Product includes Technologies in addition to the
Technology Under Test, then it must contain the full set of combined
public and protected classes and interfaces. The API of the Product
must contain the union of the included Technologies. No further
modifications to the APIs of the included Technologies are allowed.
JSP8 Except for tests specifically required by this TCK to be rebuilt
(if any), the binary Conformance Tests supplied as part of the Test
Suite or as updated by the Maintenance Lead must be used to certify
compliance.
JSP9 The functional programmatic behavior of any binary class or
interface must be that defined by the Specifications.
JSP10 Each Container must make technically accessible all Java SE
Runtime interfaces and functionality, as defined by the Specifications,
to programs running in the Container, except only as specifically
exempted by these Rules.
JSP10.1 Containers may impose security constraints, as defined by
the Specifications.
JSP11 A web Container must report an error, as defined by the
Specifications, when processing a JSP Page that does not conform to the
Specifications.
JSP12 The presence of a Java language comment or Java language
directive in a JSP Page that specifies ”java” as the scripting
language, when processed by a web Container, must not cause the
functional programmatic behavior of that JSP Page to vary from the
functional programmatic behavior of that JSP Page in the absence of
that Java language comment or Java language directive.
JSP13 The contents of any fixed template data (defined by the
Specifications) in a JSP Page, when processed by a web Container, must
not affect the functional programmatic behavior of that JSP Page,
except as defined by the Specifications.
JSP14 The functional programmatic behavior of a JSP Page that
specifies ”java” as the scripting language must be equivalent to the
functional programmatic behavior of the JSP Page Implementation Class
constructed from that JSP Page.