WMLScript Test Specification


ISSUE : wmlscript12ts_15-01-2002

Copyright © 1999-2002 Wireless Application Forum. Ltd. All Rights Reserved.


Preface

This document contains the assertion specification for the WAP June 2000 release of the: WMLScript technical specification.

The following specifications and SINs were used to generate the assertions:

The specification is organized such that there is a section for each section of the WMLScript specification in which assertions can be found.

For each assertion in the specifications, a corresponding entry in this test specification contains the following elements:

ID: The name by which the test is known
Class: An assertion Class as defined in IEEE Std 1003.3. These types are:
A A mandatory, testable assertion.
B A mandatory, but untestable assertion.
C An optional, testable assertion.
D An optional, but untestable assertion.
Scope: If an assertion is type C or D, this entry describes the option that needs to be supported in order to activate the test.
Text: The text of the assertion and a reference to the source specification from which the assertion is derived.
Note: Any supplementary information associated with the assertion. For example it may suggest a strategy for the test implementation of the assertion or it may propose rationale as to why a test is classified as untestable.

This specification uses the following conventions for convenience:


Table of Contents

   6 WMLScript Core
      6.1 Lexical Structure
         6.1.1 Case Sensitivity
         6.1.2 Whitespace and Line Breaks
         6.1.3 Usage of Semicolons
         6.1.4 Comments
         6.1.5 Literals
            6.1.5.1 Integer Literals
            6.1.5.2 Floating-Point Literals
            6.1.5.3 String Literals
            6.1.5.4 Boolean Literals
            6.1.5.5 Invalid Literal
         6.1.6 Identifiers
         6.1.7 Reserved Words
         6.1.8 Name Spaces
      6.2 Variables and Data Types
         6.2.1 Variable Declaration
         6.2.2 Variables Scope and Lifetime
         6.2.3 Variable Access
         6.2.4 Variable Type
         6.2.5 L-Values
         6.2.6 Type Equivalency
         6.2.7 Numeric Values
            6.2.7.1 Integer Size
            6.2.7.2 Floating-point Size
         6.2.8 String Values
         6.2.9 Boolean Values
      6.3 Operators and Expressions
         6.3.1 Assignment Operators
         6.3.2 Arithmetic Operators
         6.3.3 Logical Operators
         6.3.4 String Operators
         6.3.5 Comparison Operators
         6.3.6 Array Operators
         6.3.7 Comma Operator
         6.3.8 Conditional Operators
         6.3.9 typeof Operator
         6.3.10 invalid Operator
         6.3.11 Expressions
         6.3.12 Expression Bindings
      6.4 Functions
         6.4.1 Declaration
         6.4.2 Function Calls
            6.4.2.1 Local Script Functions
            6.4.2.2 External Functions
            6.4.2.3 Library Functions
         6.4.3 Default Return Value
      6.5 Statements
         6.5.1 Empty Statement
         6.5.2 Expression Statement
         6.5.3 Block Statement
         6.5.4 Variable Statement
         6.5.5 if Statement
         6.5.6 while Statement
         6.5.7 for Statement
         6.5.8 break Statement
         6.5.9 continue Statement
         6.5.10 return Statement
      6.6 Libraries
      6.7 Pragmas
         6.7.1 External Compliation Units
         6.7.2 Access Control
         6.7.3 Meta-Information
      6.8 Automatic Data Type Conversion Rules
         6.8.1 General Conversion Rules
         6.8.2 Conversions to String
         6.8.3 Conversions to Integer
         6.8.4 Conversions to Floating-point
         6.8.5 Conversions to Boolean
         6.8.6 Conversions to Invalid
         6.8.7 Summary
      6.9 Operator Data Type Conversion Rules
      6.10 Summary of Operators and Conversions

   7 WMLScript Grammar

   8 WMLScript Bytecode Interpreter
      8.1 Interpreter Architecture
      8.2 Character Set
      8.3 WMLScript and URLs
         8.3.1 URL Schemes
         8.3.2 Fragment Anchors
         8.3.3 URL Call Syntax
         8.3.4 URL Calls and Parameter Passing
         8.3.5 Character Escaping
         8.3.6 Relative URLs
      8.4 Bytecode Semantics
      8.5 Access Controls

   9 WMLScript Binary Format

   10 WMLScript Instruction Set

   11 Bytecode Verification

   12 Run-time Error Detection and Handling

   13 Support for Integer only Devices

   14 Content Types

6 WMLScript Core

6.1 Lexical Structure

6.1.1 Case Sensitivity

ID: wmlscript/core/lexical/case/1
Class: A
Text: WMLScript variables are case-sensitive. [WMLScript Specification section 6.1.1]

ID: wmlscript/core/lexical/case/2
Class: A
Text: When incorrect syntax is used for the keyword "break" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/3
Class: A
Text: When incorrect syntax is used for the keyword "continue" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/4
Class: A
Text: When incorrect syntax is used for the keyword "div" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/5
Class: A
Text: When incorrect syntax is used for the keyword "div=" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/6
Class: A
Text: When incorrect syntax is used for the keyword "else" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/7
Class: A
Text: When incorrect syntax is used for the keyword "access" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/8
Class: A
Text: When incorrect syntax is used for the keyword "agent" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]

ID: wmlscript/core/lexical/case/9
Class: A
Text: When incorrect syntax is used for the keyword "domain" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/10
Class: A
Text: When incorrect syntax is used for the keyword "equiv" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/11
Class: A
Text: When incorrect syntax is used for the keyword "extern" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/12
Class: A
Text: When incorrect syntax is used for the keyword "for" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/13
Class: A
Text: When incorrect syntax is used for the keyword "function" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/14
Class: A
Text: When incorrect syntax is used for the keyword "http" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/15
Class: A
Text: When incorrect syntax is used for the keyword "if" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/16
Class: A
Text: When incorrect syntax is used for the keyword "isvalid" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/17
Class: A
Text: When incorrect syntax is used for the keyword "meta" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/18
Class: A
Text: When incorrect syntax is used for the keyword "name" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/19
Class: A
Text: When incorrect syntax is used for the keyword "path" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/20
Class: A
Text: When incorrect syntax is used for the keyword "return" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/21
Class: A
Text: When incorrect syntax is used for the keyword "typeof" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/22
Class: A
Text: When incorrect syntax is used for the keyword "use" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/23
Class: A
Text: When incorrect syntax is used for the keyword "user" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/24
Class: A
Text: When incorrect syntax is used for the keyword "var" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/25
Class: A
Text: When incorrect syntax is used for the keyword "while" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/26
Class: A
Text: When incorrect syntax is used for the keyword "url" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/case/27
Class: A
Text: WMLScript function names are case-sensitive. [WMLScript Specification section 6.1.1]

6.1.2 Whitespace and Line Breaks

ID: wmlscript/core/lexical/whitespace/1
Class: A
Text: Ensure that whitespace tokens <TAB>, <VT>, <FF>, <SP>, <LF> and <CR> are ignored between program tokens. [WMLScript Specification section 6.1.2]
Note: This test has been modified (as of VSWAPJun00.2b2) to only have a <CR> character present. This is now a partial test, the <TAB>, <VT>, <FF>, <SP>, <LF> whitespace tokens are NOT tested.

6.1.3 Usage of Semicolons

ID: wmlscript/core/lexical/semicolons/1
Class: A
Text: When an empty statement is defined without a terminating semicolon (;) the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/semicolons/2
Class: A
Text: When an expression statement is defined without a terminating semicolon (;) the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/semicolons/3
Class: A
Text: When a variable statement is defined without a terminating semicolon (;) the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/semicolons/4
Class: A
Text: When a break statement is defined without a terminating semicolon (;) the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/semicolons/5
Class: A
Text: When a continue statement is defined without a terminating semicolon (;) the Encoder will not encode the script and the Server will send an error indication to the Client. Ensure that a continue statement is terminated by a semicolon (;). [WMLScript Specification section 6.1.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/semicolons/6
Class: A
Text: When a return statement is defined without a terminating semicolon (;) the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.1.4 Comments

ID: wmlscript/core/lexical/comments/1
Class: A
Text: When a line starts with a double-slash (//), it is a single line comment. This comment is ignored by the script processor. [WMLScript Specification section 6.1.4]

ID: wmlscript/core/lexical/comments/2
Class: A
Text: When a line starts with a multi-line comment delimiter (/*), the block between that delimiter and the closing comment delimiter (*/) is ignored by the script processor. [WMLScript Specification section 6.1.4]

ID: wmlscript/core/lexical/comments/3
Class: A
Text: When block comments are nested the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.4]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.1.5 Literals

6.1.5.1 Integer Literals

ID: wmlscript/core/lexical/literals/integer/1
Class: A
Text: When an integer literal is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/integer/2
Class: A
Text: When an Decimal Integer literal is defined with a value greater than 0 with one or more leading 0's the Encoder will not encode the script and the Server will send an error indication the Client. [WMLScript Specification section 6.1.5.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/integer/3
Class: B
Text: When an Integer literal of value 0 is defined with more than a single 0 the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/integer/4
Class: A
Text: When a Hexadecimal literal is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/integer/5
Class: A
Text: When a Hexadecimal literal is defined without leading characters of either 0x or 0X the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/integer/6
Class: A
Text: When an Octal literal is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.1.5.2 Floating-Point Literals

ID: wmlscript/core/lexical/literals/floating/1
Class: A
Text: When a Floating point literal is defined using alphabetic characters as the DecimalIntegerLiteral part the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.2]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/floating/2
Class: A
Text: Floating point literals can be defined using the syntax "DecimalIntegerLiteral . DecimalDigits ExponentPart". [WMLScript Specification section 6.1.5.2]
Note: New for June 2000.

ID: wmlscript/core/lexical/literals/floating/3
Class: A
Text: Floating point literals can be defined using the syntax ". DecimalDigits ExponentPart". [WMLScript Specification section 6.1.5.2]
Note: New for June 2000

ID: wmlscript/core/lexical/literals/floating/4
Class: A
Text: Floating point literals can be defined using the syntax "DecimalIntegerLiteral ExponentPart". [WMLScript Specification section 6.1.5.2]
Note: New for June 2000

ID: wmlscript/core/lexical/literals/floating/5
Class: A
Text: Floating point literals can be defined using the syntax "DecimalIntegerLiteral . ExponentPart". [WMLScript Specification section 6.1.5.2]
Note: New for June 2000

ID: wmlscript/core/lexical/literals/floating/6
Class: A
Text: When a Floating point literal is defined using alphabetic characters as the DecimalDigits part the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.2]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/floating/7
Class: A
Text: When a Floating point literal is defined using alphabetic characters as the DecimalDigits part of the ExponentPart the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.2]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.1.5.3 String Literals

ID: wmlscript/core/lexical/literals/string/1
Class: A
Text: When an escape sequence (as described in the table in 6.1.5.3) is encountered within a string literal, it is replaced with its character equivalent in the literal. [WMLScript Specification section 5.1.5.3]

ID: wmlscript/core/lexical/literals/string/2
Class: A
Text: When a string literal is started with a " character and terminated with a ' character the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/string/3
Class: A
Text: When a string literal is started with a ' character and terminated with a " character the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/string/4
Class: A
Text: String literals of length 0 can be defined. [WMLScript Specification section 6.1.5.3]
Note: New for June 2000

ID: wmlscript/core/lexical/literals/string/5
Class: A
Text: Escape sequences using the Latin-1 ISO8859-1 encoding specification must contain 2 digits for the character definition when defined using hexadecimal digits. [WMLScript Specification section 6.1.5.3]
Note: New for June 2000

ID: wmlscript/core/lexical/literals/string/6
Class: A
Text: Escape sequences using the Latin-1 ISO8859-1 encoding specification must contain 3 digits for the character definition when defined using octal digits. [WMLScript Specification section 6.1.5.3]
Note: New for June 2000

ID: wmlscript/core/lexical/literals/string/7
Class: A
Text: Escape sequences using Unicode encoding specification must contain 4 digits for the character definition when defined using hexadecimal digits. [WMLScript Specification section 6.1.5.3]
Note: New for June 2000

6.1.5.4 Boolean Literals

ID: wmlscript/core/lexical/literals/boolean/1
Class: A
Text: When a boolean literal "true" is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.4]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/boolean/2
Class: A
Text: When a boolean literal "false" is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.4]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/boolean/3
Class: A
Text: Boolean literals of true and false can be defined using "true" and "false". [WMLScript Specification section 6.1.5.4]
Note: New for June 2000

6.1.5.5 Invalid Literal

ID: wmlscript/core/lexical/literals/invalid/1
Class: A
Text: When an "invalid" literal is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.5.5]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/literals/invalid/2
Class: A
Text: An invalid literal can be defined using "invalid". [WMLScript Specification section 6.1.5.5]
Note: New for June 2000

6.1.6 Identifiers

ID: wmlscript/core/lexical/identifiers/1
Class: A
Text: When the reserved word "access" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/2
Class: A
Text: When the reserved word "agent" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/3
Class: A
Text: When the reserved word "break" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/4
Class: A
Text: When the reserved word "continue" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/5
Class: A
Text: When the reserved word "div" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/6
Class: A
Text: When the reserved word "div=" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/7
Class: A
Text: When the reserved word "domain" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/8
Class: A
Text: When the reserved word "else" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/9
Class: A
Text: When the reserved word "equiv" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/10
Class: A
Text: When the reserved word "extern" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/11
Class: A
Text: When the reserved word "for" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/12
Class: A
Text: When the reserved word "function" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/13
Class: A
Text: When the reserved word "header" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/14
Class: A
Text: When the reserved word "http" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/15
Class: A
Text: When the reserved word "if" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/16
Class: A
Text: When the reserved word "isvalid" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/17
Class: A
Text: When the reserved word "meta" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/18
Class: A
Text: When the reserved word "name" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/19
Class: A
Text: When the reserved word "path" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/20
Class: A
Text: When the reserved word "return" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/21
Class: A
Text: When the reserved word "typeof" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/22
Class: A
Text: When the reserved word "use" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/23
Class: A
Text: When the reserved word "user" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/24
Class: A
Text: When the reserved word "var" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/25
Class: A
Text: When the reserved word "while" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/26
Class: A
Text: When the reserved word "url" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/27
Class: A
Text: When the reserved word "delete" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/28
Class: A
Text: When the reserved word "in" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/29
Class: A
Text: When the reserved word "lib" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/30
Class: A
Text: When the reserved word "new" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/31
Class: A
Text: When the reserved word "null" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/32
Class: A
Text: When the reserved word "this" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/33
Class: A
Text: When the reserved word "void" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/34
Class: A
Text: When the reserved word "with" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/35
Class: A
Text: When the reserved word "case" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/36
Class: A
Text: When the reserved word "catch" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/37
Class: A
Text: When the reserved word "class" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/38
Class: A
Text: When the reserved word "const" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/39
Class: A
Text: When the reserved word "debugger" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/40
Class: A
Text: When the reserved word "default" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/41
Class: A
Text: When the reserved word "do" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/42
Class: A
Text: When the reserved word "enum" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/43
Class: A
Text: When the reserved word "export" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/44
Class: A
Text: When the reserved word "extends" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/45
Class: A
Text: When the reserved word "finally" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/46
Class: A
Text: When the reserved word "import" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/47
Class: A
Text: When the reserved word "private" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/48
Class: A
Text: When the reserved word "public" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/49
Class: A
Text: When the reserved word "sizeof" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/50
Class: A
Text: When the reserved word "struct" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/51
Class: A
Text: When the reserved word "super" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/52
Class: A
Text: When the reserved word "switch" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/53
Class: A
Text: When the reserved word "throw" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/54
Class: A
Text: When the reserved word "try" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/55
Class: A
Text: When the reserved word "true" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/56
Class: A
Text: When the reserved word "false" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/57
Class: A
Text: When the reserved word "invalid" is used as an identifier the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/58
Class: A
Text: When an identifer is defined with a leading character that is a special character that is not a "_" the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/lexical/identifiers/59
Class: A
Text: When an indentifier is defined with a numeric character as the first character the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.1.6]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.1.7 Reserved Words

Reserved words testing is covered by the tests in section 6.1.6 Identifiers since reserved words cannot be used as identifiers.

6.1.8 Name Spaces

ID: wmlscript/core/lexical/namespaces/1
Class: A
Text: Function names have their own name space. [WMLScript Specification section 6.1.8]

ID: wmlscript/core/lexical/namespaces/2
Class: A
Text: Function parameters have their own name space. [WMLScript Specification section 6.1.8]

ID: wmlscript/core/lexical/namespaces/3
Class: A
Text: Variables have their own name space. [WMLScript Specification section 6.1.8]

ID: wmlscript/core/lexical/namespaces/4
Class: A
Text: Pragmas have their own name space. [WMLScript Specification section 6.1.8]

6.2 Variables and Data Types

6.2.1 Variable Declaration

There are no testable assertions in this section.

6.2.2 Variables Scope and Lifetime

ID: wmlscript/core/variables/scope/1
Class: A
Text: The scope of a WMLScript variable starts where it is declared and is limited to the function in which it is declared. [WMLScript Specification section 6.2.2]

ID: wmlscript/core/variables/scope/2
Class: A
Text: Within the function where it is declared, a WMLScript variable is visible outside of the block statement where it has been declared. [WMLScript Specification section 6.2.2]

ID: wmlscript/core/variables/scope/3
Class: A
Text: A WMLScript variable has a value from its declaration up to the end of the function. [WMLScript Specification section 6.2.2]

6.2.3 Variable Access

There are no testable assertions in this section.

6.2.4 Variable Type

There are no testable assertions in this section.

6.2.5 L-Values

There are no testable assertions in this section.

6.2.6 Type Equivalency

There are no testable assertions in this section.

6.2.7 Numeric Values

6.2.7.1 Integer Size

ID: wmlscript/core/variables/integer/size/1
Class: A
Text: A WMLScript variable can hold integer values ranging from Lang.minInt() to Lang.maxInt(). [WMLScript Specification section 6.2.7.1]

ID: wmlscript/core/variables/integer/size/2
Class: A
Text: If an operation results in an integer value outside the range of supported integer values then the result is 'invalid'. [WMLScript Specification section 12.4.1.2]

6.2.7.2 Floating-point Size

ID: wmlscript/core/variables/float/size/1
Class: C
Scope: "The client DOES support floating-point operations"
Text: A WMLScript variable can hold floating-point positive values ranging from Float.minFloat() to Float.maxFloat(). [WMLScript Specification section 6.2.7.2]

ID: wmlscript/core/variables/float/size/2
Class: C
Scope: "The client DOES support floating-point operations"
Text: If an operation results in a floating-point number outside the range of supported floating-point values then the result is 'invalid'. [WMLScript Specification section 6.2.7.2]

ID: wmlscript/core/variables/float/size/3
Class: C
Scope: "The client DOES support floating-point operations"
Text: A WMLScript variable which is initialized to, or assigned, a positive floating-point value lower than Float.minFloat() gets set to 0.0. [WMLScript Specification section 6.2.7.2]

ID: wmlscript/core/variables/float/size/4
Class: C
Scope: "The client DOES support floating-point operations"
Text: A WMLScript variable of value '-0.0' is equal to a variable of value '+0.0'. [WMLScript Specification section 6.2.7.2]

6.2.8 String Values

There are no testable assertions in this section.

6.2.9 Boolean Values

There are no testable assertions in this section.

6.3 Operators and Expressions

6.3.1 Assignment Operators

ID: wmlscript/core/operators/assignment/1
Class: A
Text: The '=' operator assigns the rhs value to the WMLScript variable on the lhs. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/2
Class: A
Text: The '+=' operator applies the '+' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/3
Class: A
Text: The '-=' operator applies the '-' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/4
Class: A
Text: The '*=' operator applies the '*' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/5
Class: C
Scope: "The client DOES support floating-point operations"
Text: The '/=' operator applies the '/' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/6
Class: A
Text: The 'div=' operator applies the 'div' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/7
Class: A
Text: The '%=' operator applies the '%' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/8
Class: A
Text: The '<<=' operator applies the '<<' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/9
Class: A
Text: The '>>=' operator applies the '>>' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/10
Class: A
Text: The '>>>=' operator applies the '>>>' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/11
Class: A
Text: The '&=' operator applies the '&' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/12
Class: A
Text: The '^=' operator applies the '^' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/13
Class: A
Text: The '|=' operator applies the '|' operator with the value of the WMLScript variable on the lhs as the first operand and the value on the rhs as the second operand and assigns the result to this variable. [WMLScript Specification section 6.3.1]

ID: wmlscript/core/operators/assignment/14
Class: A
Text: An assignment operator of one variable does not change the binding of any other variable. [WMLScript Specification section 6.3.1]

6.3.2 Arithmetic Operators

ID: wmlscript/core/operators/arithmetic/1
Class: A
Text: When both operands are numbers (integer or floating-point values), the '+' operator adds the value of the first operand to the value of the second operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/2
Class: A
Text: The '-' operator subtracts the value of the second operand from the value of the first operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/3
Class: A
Text: The '*' operator multiplies the value of the first operand by the value of the second operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/4
Class: C
Scope: "The client DOES support floating-point operations"
Text: The '/' operator divides the value of the first operand by the value of the second operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/5
Class: A
Text: The 'div' operator divides the value of the first operand by the value of the second operand and returns the integral part of the result. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/6
Class: A
Text: The '%' operator integer divides the value of the first operand by the value of the second operand and returns the remainder part of the result. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/7
Class: A
Text: The '<<' operator left shifts the bits of the value of the first operand by the number of bits specified by the value of the second operand, filling the shifted bits with a zero bit. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/8
Class: A
Text: The '>>' operator right shifts the bits of the value of the first operand by the number of bits specified by the value of the second operand, filling the shifted bits with the sign bit of the first operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/9
Class: A
Text: The '>>>' operator right shifts the bits of the value of the first operand by the number of bits specified by the value of the second operand, filling the shifted bits with a zero bit. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/10
Class: A
Text: The '&' operator performs a bitwise logical AND operation on the bits of the value of the first operand and the bits of the value of the second operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/11
Class: A
Text: The '|' operator performs a bitwise logical OR operation on the bits of the value of the first operand and the bits of the value of the second operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/12
Class: A
Text: The '^' operator performs a bitwise logical XOR operation on the bits of the value of the first operand and the bits of the value of the second operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/13
Class: A
Text: The '~' operator performs a bitwise logical NOT operation on the bits of the value of the operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/14
Class: A
Text: The unary '+' operator does not change the value of its operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/15
Class: A
Text: The unary '-' operator changes the sign bit of its operand. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/16
Class: A
Text: When a prefix '++' operator is used, the value of the variable is incremented by 1 before the evaluation of the complete expression. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/17
Class: A
Text: When a postfix '++' operator is used, the value of the variable is incremented by 1 after the evaluation of the complete expression. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/18
Class: C
Scope: "The client DOES NOT support floating-point operations"
Text: When the device does not support floating-point operations, the '/' operation always returns 'invalid'. [WMLScript Specification section 13.Notes:]

ID: wmlscript/core/operators/arithmetic/19
Class: A
Text: When a prefix '--' operator is used, the value of the variable is decremented by 1 before the evaluation of the complete expression. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/20
Class: A
Text: When a postfix '--' operator is used, the value of the variable is decremented by 1 after the evaluation of the complete expression. [WMLScript Specification section 6.3.2]

ID: wmlscript/core/operators/arithmetic/22
Class: A
Text: When both operands are strings, the '+' operator concatentates the strings together. [WMLScript Specification section 6.3.2]

6.3.3 Logical Operators

ID: wmlscript/core/operators/logical/1
Class: A
Text: If the first operand of the '&&' operator evaluates to 'true' then the result of the operation is the result of the evaluation of the second operand. [WMLScript Specification section 6.3.3]

ID: wmlscript/core/operators/logical/2
Class: A
Text: If the first operand of the '&&' operator evaluates to 'false' then the result of the operation is 'false' and the second operand is not evaluated. [WMLScript Specification section 6.3.3]

ID: wmlscript/core/operators/logical/3
Class: A
Text: If the first operand of the '||' operator evaluates to 'false' then the result of the operation is the result of the evaluation of the second operand. [WMLScript Specification section 6.3.3]

ID: wmlscript/core/operators/logical/4
Class: A
Text: If the first operand of the '||' operator evaluates to 'true' then the result of the operation is 'true' and the second operand is not evaluated. [WMLScript Specification section 6.3.3]

ID: wmlscript/core/operators/logical/5
Class: A
Text: If the operand of the unary '!' operator evaluates to 'true', then the result of the operation is 'false'. If the operand evaluates to 'false', then the result is 'true'. [WMLScript Specification section 6.3.3]

ID: wmlscript/core/operators/logical/6
Class: A
Text: If the first operand of the '&&' operator evaluates to 'invalid' then the result of the operation is 'invalid' and the second operand is not evaluated. [WMLScript Specification section 6.3.3]

ID: wmlscript/core/operators/logical/7
Class: A
Text: If the first operand of the '||' operator evaluates to 'invalid' then the result of the operation is 'invalid' and the second operand is not evaluated. [WMLScript Specification section 6.3.3]

6.3.4 String Operators

ID: wmlscript/core/operators/string/1
Class: A
Text: When the '+' operator is applied to string operands, the result of the operation is the concatenation of both operands. [WMLScript Specification section 6.3.4]

ID: wmlscript/core/operators/string/2
Class: A
Text: When the '+=' operator is applied to string operands, the result of the operation is the concatenation of both operands. [WMLScript Specification section 6.3.4]
Note: New for June 2000

6.3.5 Comparison Operators

ID: wmlscript/core/operators/comparison/1
Class: A
Text: The boolean literal 'true' is larger than 'false'. [WMLScript Specification section 6.3.5]

ID: wmlscript/core/operators/comparison/2
Class: A
Text: Comparison of integer values is based on the given integer values. [WMLScript Specification section 6.3.5]

ID: wmlscript/core/operators/comparison/3
Class: C
Scope: "The client DOES support floating-point operations"
Text: Comparison of floating-point values is based on the given floating-point values. [WMLScript Specification section 6.3.5]

ID: wmlscript/core/operators/comparison/4
Class: A
Text: Comparison of string operands is based on the order of character codes of the given string values, as defined by the character set supported by the device. [WMLScript Specification section 6.3.5]

ID: wmlscript/core/operators/comparison/5
Class: A
Text: When at least one of the operands of a comparison operator is 'invalid' then the result is 'invalid'. [WMLScript Specification section 6.3.5]

6.3.6 Array Operators

There are no testable assertions in this section.

6.3.7 Comma Operator

ID: wmlscript/core/operators/comma/1
Class: A
Text: The result of the comma operator is the result of the evaluation of the second operand. [WMLScript Specification section 6.3.7]

ID: wmlscript/core/operators/comma/2
Class: B
Text: Commas ',' used in argument lists or variable declaration lists are not comma operators. [WMLScript Specification section 6.3.7]

6.3.8 Conditional Operators

ID: wmlscript/core/operators/conditional/1
Class: A
Text: If the first operand of a conditional operator '?:' evaluates to 'true', then the result of the operation is the result of the evaluation of the second operand and the third operand is not evaluated. [WMLScript Specification section 6.3.8]

ID: wmlscript/core/operators/conditional/2
Class: A
Text: If the first operand of a conditional operator '?:' evaluates to 'false' or 'invalid', then the result of the operation is the result of the evaluation of the third operand and the second operand is not evaluated. [WMLScript Specification section 6.3.8]

6.3.9 typeof Operator

ID: wmlscript/core/operators/typeof/1
Class: A
Text: If the operand of the 'typeof' operator evaluates to an integer value, then the result of the operation is '0'. [WMLScript Specification section 6.3.9]

ID: wmlscript/core/operators/typeof/2
Class: C
Scope: "The client DOES support floating-point operations"
Text: If the operand of the 'typeof' operator evaluates to a floating-point value, then the result of the operation is '1'. [WMLScript Specification section 6.3.9]

ID: wmlscript/core/operators/typeof/3
Class: A
Text: If the operand of the 'typeof' operator evaluates to a string value, then the result of the operation is '2'. [WMLScript Specification section 6.3.9]

ID: wmlscript/core/operators/typeof/4
Class: A
Text: If the operand of the 'typeof' operator evaluates to a boolean value, then the result of the operation is '3'. [WMLScript Specification section 6.3.9]

ID: wmlscript/core/operators/typeof/5
Class: A
Text: If the operand of the 'typeof' operator evaluates to the 'invalid' value, then the result of the operation is '4'. [WMLScript Specification section 6.3.9]

ID: wmlscript/core/operators/typeof/6
Class: A
Text: When the typeof operator is used to identify the type of an expression an integer value is returned. [WMLScript Specification section 6.3.9]
Note: New for June 2000

6.3.10 invalid Operator

There are no testable assertions in this section.

6.3.11 Expressions

There are no testable assertions in this section.

6.3.12 Expression Bindings

ID: wmlscript/core/operators/bindings/1
Class: A
Text: The WMLScript operators respect the operator precedence rules defined in the table of section 6.3.12. [WMLScript Specification section 6.3.12]

ID: wmlscript/core/operators/bindings/2
Class: B
Text: The WMLScript operators respect the operator associativity rules defined in the table of section 6.3.12. These are tested as a result of the individual operator tests. [WMLScript Specification section 6.3.12]

ID: wmlscript/core/operators/bindings/3
Class: A
Text: The WMLScript operators return 'invalid' when one of the operands is 'invalid'. [WMLScript Specification section 6.3.12]

ID: wmlscript/core/operators/bindings/4
Class: A
Text: The WMLScript operators return 'invalid' when type conversions fail. [WMLScript Specification section 6.3.12]

ID: wmlscript/core/operators/bindings/5
Class: C
Scope: "The client DOES support floating-point operations"
Text: The result type of the WMLScript operators is correct according to the table in section 7.3.12. [WMLScript Specification section 6.3.12]
Note: New for June 2000

6.4 Functions

6.4.1 Declaration

ID: wmlscript/core/functions/declaration/1
Class: A
Text: All parameters to functions are passed by value. A modification to the value of a parameter does not affect the value of the calling argument. [WMLScript Specification section 6.4.1]

ID: wmlscript/core/functions/declaration/2
Class: A
Text: Function parameters are local variables that have been initialized before the execution of the function body. As for any other variable, they loose their value at the end of the function. [WMLScript Specification section 6.4.1]

ID: wmlscript/core/functions/declaration/3
Class: B
Text: When a function is declared without the 'extern' keyword it is not accessible from outside the compilation unit in which it is declared. [WMLScript Specification section 6.4.1]

ID: wmlscript/core/functions/declaration/4
Class: A
Text: When a function declaration is defined within the declaration of another function the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.4.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/functions/declaration/5
Class: A
Text: When two functions defined within one compilation unit with exactly the same name the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.4.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/functions/declaration/6
Class: A
Text: When a function call is made with a different number of arguments than specified in the function declaration then the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.4.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/functions/declaration/7
Class: A
Text: When a function call returns a return value is always returned to the calling function. [WMLScript Specification section 6.4.1]
Note: New for June 2000.

6.4.2 Function Calls

6.4.2.1 Local Script Functions

ID: wmlscript/core/functions/call/local/1
Class: A
Text: Functions defined in the same compilation unit can be called before they have been declared. [WMLScript Specification section 6.4.2.1]

6.4.2.2 External Functions

ID: wmlscript/core/functions/call/external/1
Class: A
Text: A call to a function using the 'external#function(arguments)' syntax must be resolved by calling the function defined in the external compilation unit used as prefix. [WMLScript Specification section 6.4.2.2]

ID: wmlscript/core/functions/call/external/2
Class: A
Text: When a function call to an external script using the "use url" syntax is syntactically incorrect the Encoder will not encode the script and the Server will send an error indictaion to the Client. [WMLScript Specification section 6.4.2.2]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.4.2.3 Library Functions

There are no testable assertions in this section.

6.4.3 Default Return Value

ID: wmlscript/core/functions/return/1
Class: A
Text: A function returns an empty string "" by default. [WMLScript Specification section 6.4.3]

ID: wmlscript/core/functions/return/2
Class: A
Text: A function can be called as a statement. [WMLScript Specification section 6.4.3]
Note: New for June 2000. A value returned by a function does not have to be assigned to a variable or used by the calling function as part of a conditional statement or a subsequent function call.

6.5 Statements

6.5.1 Empty Statement

There are no testable assertions in this section.

6.5.2 Expression Statement

There are no testable assertions in this section.

6.5.3 Block Statement

ID: wmlscript/core/statements/block/1
Class: A
Text: When a Block statement is defined using incorrect syntax the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.5.3]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.5.4 Variable Statement

ID: wmlscript/core/statements/variable/1
Class: A
Text: When a variable statement does not contain a variable initializer, the variable is initialized to the empty string "" by default. [WMLScript Specification section 6.5.4]

ID: wmlscript/core/statements/variable/2
Class: A
Text: The variable initializer expression is evaluated every time the variable statement is executed. [WMLScript Specification section 6.5.4]

6.5.5 if Statement

ID: wmlscript/core/statements/if/1
Class: A
Text: If the condition expression of an if statement evaluates to 'true', then only the first statement is executed. [WMLScript Specification section 6.5.5]

ID: wmlscript/core/statements/if/2
Class: A
Text: If the condition expression of an if statement evaluates to 'false' or 'invalid', then only the second optional 'else' statement is executed. [WMLScript Specification section 6.5.5]

ID: wmlscript/core/statements/if/3
Class: A
Text: When 'if' statements are nested, an 'else' statement is always tied to the closest 'if' statement. [WMLScript Specification section 6.5.5]

6.5.6 while Statement

ID: wmlscript/core/statements/while/1
Class: A
Text: The condition expression of a 'while' statement is evaluated at each iteration of the statement. [WMLScript Specification section 6.5.6]

ID: wmlscript/core/statements/while/2
Class: A
Text: The loop statement of a 'while' statement is executed as long as the condition expression evaluates to 'true'. [WMLScript Specification section 6.5.6]

ID: wmlscript/core/statements/while/3
Class: A
Text: When the condition expression of a 'while' statement evaluates to 'false' or 'invalid', the execution continues with the statement following the loop statement. [WMLScript Specification section 6.5.6]

6.5.7 for Statement

ID: wmlscript/core/statements/for/1
Class: A
Text: The initializer expression of a 'for' statement is evaluated only once for each execution of the statement. [WMLScript Specification section 6.5.7]

ID: wmlscript/core/statements/for/2
Class: A
Text: The optional condition expression of a 'for' statement is evaluated at each iteration of the statement. [WMLScript Specification section 6.5.7]

ID: wmlscript/core/statements/for/3
Class: A
Text: The loop statement of a 'for' statement is executed as long as the optional condition expression evaluates to 'true'. [WMLScript Specification section 6.5.7]

ID: wmlscript/core/statements/for/4
Class: A
Text: When the optional condition expression of a 'for' statement is omitted it always evaluates to 'true'. [WMLScript Specification section 6.5.7]

ID: wmlscript/core/statements/for/5
Class: A
Text: When the condition expression of a 'for' statement evaluates to 'false' or 'invalid', the execution continues with the statement following the loop statement. [WMLScript Specification section 6.5.7]

ID: wmlscript/core/statements/for/6
Class: A
Text: The optional increment expression is evaluated each time and after the loop statement is executed. It is evaluated before the condition expression for the next iteration. [WMLScript Specification section 6.5.7]

6.5.8 break Statement

ID: wmlscript/core/statements/break/1
Class: A
Text: When a 'break' statement is executed as part of the loop statement of a 'while' statement, the execution continues with the statement after the closest enclosing loop statement of the 'while' statement. [WMLScript Specification section 6.5.8]

ID: wmlscript/core/statements/break/2
Class: A
Text: When a 'break' statement is executed as part of the loop statement of a 'for' statement, the execution continues with the statement after the closest enclosing loop statement of the 'for' statement. [WMLScript Specification section 6.5.8]

ID: wmlscript/core/statements/break/3
Class: A
Text: When the break keyword is used outside the scope of a "for" statement the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.5.8]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/statements/break/4
Class: A
Text: When the break keyword is used outside the scope of a "while" statement the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.5.8]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.5.9 continue Statement

ID: wmlscript/core/statements/continue/1
Class: A
Text: When a 'continue' statement is executed as part of the loop statement of a 'while' statement, the execution continues with the condition expression of the closest enclosing 'while' statement. [WMLScript Specification section 6.5.9]

ID: wmlscript/core/statements/continue/2
Class: A
Text: When a 'continue' statement is executed as part of the loop statement of a 'for' statement, the execution continues with the increment expression of the closest enclosing 'for' statement. [WMLScript Specification section 6.5.9]

ID: wmlscript/core/statements/continue/3
Class: A
Text: When the continue keyword is used outside the scope of a "for" statement the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.5.9]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/statements/continue/4
Class: A
Text: When the continue keyword is used outside the scope of a "while" statement the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.5.9]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

6.5.10 return Statement

ID: wmlscript/core/statements/return/1
Class: A
Text: When a return statement is executed, the execution of the function terminates and its return value is the result of the evaluation of the expression specified in the statement. [WMLScript Specification section 6.5.10]

ID: wmlscript/core/statements/return/2
Class: A
Text: When a return statement is executed and there is no return expression, the execution of the function terminates and its return value is the empty string "". [WMLScript Specification section 6.5.10]

6.6 Libraries

There are no testable assertions in this section.

6.7 Pragmas

6.7.1 External Compliation Units

ID: wmlscript/core/pragmas/external/1
Class: B
Text: When multiple url pragma declarations are defined with the same local identifier name within a single compilation unit the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.7.1]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation. This test has now been class B until WAE decide on how multiple URL pragma declarations are to handled, please see PR2361 for the ruling.

ID: wmlscript/core/pragmas/external/2
Class: A
Text: Relative URLs defined without a hash or fragment identifier can be used as the URL for a pragma declaration. [WMLScript Specification section 6.7.1]
Note: New for June 2000.

6.7.2 Access Control

ID: wmlscript/core/pragmas/access/1
Class: A
Text: When an external function is invoked, an access control check is performed to ensure that the destination compilation unit can be accessed from the current compilation unit. [WMLScript Specification section 6.7.2]

ID: wmlscript/core/pragmas/access/2
Class: A
Text: When the 'domain' attribute of the 'access' pragma is not set in the destination compilation unit, it defaults to the domain of the current compilation unit. [WMLScript Specification section 6.7.2]

ID: wmlscript/core/pragmas/access/3
Class: A
Text: When the 'path' attribute of the 'access' pragma is not set in the destination compilation unit, it defaults to the value "/". [WMLScript Specification section 6.7.2]

ID: wmlscript/core/pragmas/access/4
Class: A
Text: When the 'domain' attribute of the 'access' pragma of a destination compilation unit is set to a period separated domain suffix, the domain of the current compilation unit is compared to this suffix - where each element specified must match exactly for access to be granted. [WMLScript Specification section 6.7.2]

ID: wmlscript/core/pragmas/access/5
Class: A
Text: When the 'path' attribute of the 'access' pragma of a destination compilation unit is specified as an absolute path, it defines the path prefix that is permitted access to the compilation unit - where each element of the prefix must match that of the current compilation unit exactly for access to be granted. [WMLScript Specification section 6.7.2]

ID: wmlscript/core/pragmas/access/6
Class: A
Text: When the 'path' attribute of the 'access' pragma of a destination compilation unit is specified as a relative path, it is converted to an absolute path by the user agent. It then defines the path prefix that is permitted access to the compilation unit - where each element of the prefix must match that of the current compilation unit exactly for access to be granted. [WMLScript Specification section 6.7.2]

ID: wmlscript/core/pragmas/access/7
Class: A
Text: When multiple access control pragmas are defined in a single compilation unit the Encoder will not encode the script and the Server will send an error indication to the Client. [WMLScript Specification section 6.7.2]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/core/pragmas/access/8
Class: A
Text: When there is no 'access' pragma in a destination compilation unit, this is equivalent to having an 'access' pragma with the 'public' attribute, and access is granted to any current compilation unit. [WMLScript Specification section 6.7.2]

6.7.3 Meta-Information

There are no testable assertions in this section.

6.8 Automatic Data Type Conversion Rules

ID: wmlscript/type/conversion/1
Class: A
Text: The 'typeof' operator does not perform any type conversion and returns the exact type of a variable or expression. [WMLScript Specification section 6.8.1]

6.8.1 General Conversion Rules

There are no testable assertions in this section.

6.8.2 Conversions to String

ID: wmlscript/type/conversion/string/1
Class: A
Text: An integer value is converted to a string containing the digits that form the decimal representation of its value. [WMLScript Specification section 6.8.2]

ID: wmlscript/type/conversion/string/2
Class: A
Text: A floating-point value is converted to an implementation-dependent string containing the digits that form the decimal representation of its value. The resulting string representation must be equal to the original value. [WMLScript Specification section 6.8.2]

ID: wmlscript/type/conversion/string/3
Class: A
Text: The boolean value 'true' is converted to string "true". The boolean value 'false' is converted to string "false". [WMLScript Specification section 6.8.2]

ID: wmlscript/type/conversion/string/4
Class: A
Text: The value 'invalid' cannot be converted to a string value. [WMLScript Specification section 6.8.2]

6.8.3 Conversions to Integer

ID: wmlscript/type/conversion/integer/1
Class: A
Text: A string can be converted to an integer value only if it contains a decimal representation of an integer number. [WMLScript Specification section 6.8.3]

ID: wmlscript/type/conversion/integer/2
Class: C
Scope: "The client DOES support floating-point operations"
Text: A floating-point value cannot be converted to an integer value. [WMLScript Specification section 6.8.3]

ID: wmlscript/type/conversion/integer/3
Class: A
Text: The boolean value 'true' is converted to integer value '1'. The boolean value 'false' is converted to integer value '0'. [WMLScript Specification section 6.8.3]

ID: wmlscript/type/conversion/integer/4
Class: A
Text: The value 'invalid' cannot be converted to an integer value. [WMLScript Specification section 6.8.3]

6.8.4 Conversions to Floating-point

ID: wmlscript/type/conversion/float/1
Class: C
Scope: "The client DOES support floating-point operations"
Text: A string can be converted to a floating-point value only if it contains a valid decimal representation of a floating-point number. [WMLScript Specification section 6.8.4]

ID: wmlscript/type/conversion/float/2
Class: C
Scope: "The client DOES support floating-point operations"
Text: An integer value is converted to a corresponding floating-point value. [WMLScript Specification section 6.8.4]

ID: wmlscript/type/conversion/float/3
Class: C
Scope: "The client DOES support floating-point operations"
Text: The boolean value 'true' is converted to floating-point value '1.0'. The boolean value 'false' is converted to floating-point value '0.0'. [WMLScript Specification section 6.8.4]

ID: wmlscript/type/conversion/float/4
Class: C
Scope: "The client DOES support floating-point operations"
Text: The value 'invalid' cannot be converted to a floating-point value. [WMLScript Specification section 6.8.4]

6.8.5 Conversions to Boolean

ID: wmlscript/type/conversion/boolean/1
Class: A
Text: The empty string is converted to boolean value 'false'. All other strings are converted to boolean value 'true'. [WMLScript Specification section 6.8.5]

ID: wmlscript/type/conversion/boolean/2
Class: A
Text: An integer value '0' is converted to boolean value 'false'. All other integer numbers are converted to boolean value 'true'. [WMLScript Specification section 6.8.5]

ID: wmlscript/type/conversion/boolean/3
Class: C
Scope: "The client DOES support floating-point operations"
Text: A floating-point value '0.0' is converted to boolean value 'false'. All other floating-point numbers are converted to boolean value 'true'. [WMLScript Specification section 6.8.5]

ID: wmlscript/type/conversion/boolean/4
Class: A
Text: The value 'invalid' cannot be converted to a boolean value. [WMLScript Specification section 6.8.5]

6.8.6 Conversions to Invalid

There are no testable assertions in this section.

6.8.7 Summary

There are no testable assertions in this section.

6.9 Operator Data Type Conversion Rules

ID: wmlscript/type/operator/1
Class: A
Text: When an operator expects operands of type boolean, if the operand is of type boolean or can be converted to a boolean value, then the operation is performed on the boolean values and its result is returned. [WMLScript Specification section 6.9]

ID: wmlscript/type/operator/2
Class: A
Text: When an operator expects operands of type Integer, if the operand is of type Integer or can be converted to an Integer value, then the operation is performed on the Integer values and its result is returned. [WMLScript Specification section 6.9]

ID: wmlscript/type/operator/3
Class: C
Scope: "The client DOES support floating-point operations"
Text: When an operator expects operands of type Float, if the operand is of type Float or can be converted to a Float value, then the operation is performed on the Float values and its result is returned. [WMLScript Specification section 6.9]

ID: wmlscript/type/operator/4
Class: A
Text: When a unary operator expects operands of either Integer or Floating Point, if the operand is of type Integer or Floating Point or can be converted to a Integer or Floating Point value, then the operation is performed on the Integer or Floating Point values and its result is returned. [WMLScript Specification section 6.9]

6.10 Summary of Operators and Conversions

There are no testable assertions in this section.

7 WMLScript Grammar

There are no testable assertions in this section.

8 WMLScript Bytecode Interpreter

8.1 Interpreter Architecture

There are no testable assertions in this section.

8.2 Character Set

ID: wmlscript/interpreter/charset/1
Class: B
Text: The interpreter must use only one character set for all its string operations. [WMLScript Specification section 8.2]

ID: wmlscript/interpreter/charset/2
Class: A
Text: The interpreter charset can be requested by using the Lang.characterSet() library function. [WMLScript Specification section 8.2]

8.3 WMLScript and URLs

There are no testable assertions in this section.

8.3.1 URL Schemes

There are no testable assertions in this section.

8.3.2 Fragment Anchors

There are no testable assertions in this section.

8.3.3 URL Call Syntax

There are no testable assertions in this section.

8.3.4 URL Calls and Parameter Passing

ID: wmlscript/interpreter/urls/calls/2
Class: A
Text: When a call to an external WMLScript function is made via the use of a URL fragment anchor the call will fail if the function does not exist in the external compliation unit. [WMLScript Specification section 8.3.4]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/interpreter/urls/calls/3
Class: A
Text: When a call to an external WMLScript function is made via the use of a URL fragment anchor the call will fail if the function parameter list is defined using an invalid syntax. [WMLScript Specification section 8.3.4]
Note: New for June 2000. It is assumed that the Encoder will not encode the script and the Server will send an error indication to the Client. On receipt of this error the Client shall display an error to the Operator with a means to continue browser navigation.

ID: wmlscript/interpreter/urls/calls/4
Class: A
Text: When a call to an external WMLScript function is made via the use of a URL fragment anchor the parameters list is passed to the external function. [WMLScript Specification section 8.3.4]
Note: New for June 2000.

8.3.5 Character Escaping

There are no testable assertions in this section.

8.3.6 Relative URLs

ID: wmlscript/interpreter/urls/relative/1
Class: A
Text: When a call to an external WMLScript function is made via the use of a relative URL the calling scripts base URL is used as the base URL to identify the external compliation unit location. [WMLScript Specification section 8.3.6]
Note: New for June 2000.

8.4 Bytecode Semantics

There are no testable assertions in this section.

8.5 Access Controls

There are no testable assertions in this section.

9 WMLScript Binary Format

There are no testable assertions in this section.

10 WMLScript Instruction Set

There are no testable assertions in this section.

11 Bytecode Verification

There are no testable assertions in this section.

12 Run-time Error Detection and Handling

There are no testable assertions in this section.

13 Support for Integer only Devices

There are no testable assertions in this section.

14 Content Types

There are no testable assertions in this section.



Valid HTML 4.0!