mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 03:05:34 +00:00
Initital add -
This commit is contained in:
parent
e2ed4bdb69
commit
6284dfe441
161
js/tests/js1_5/LexicalConventions/lexical-001.js
Normal file
161
js/tests/js1_5/LexicalConventions/lexical-001.js
Normal file
@ -0,0 +1,161 @@
|
||||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s): pschwartau@netscape.com
|
||||
* 26 November 2000
|
||||
*
|
||||
*
|
||||
*SUMMARY: Testing numeric literals that begin with 0.
|
||||
*This test arose from Bugzilla bug 49233.
|
||||
*The best explanation is from jsscan.c:
|
||||
*
|
||||
* "We permit 08 and 09 as decimal numbers, which makes
|
||||
* our behaviour a superset of the ECMA numeric grammar.
|
||||
* We might not always be so permissive, so we warn about it."
|
||||
*
|
||||
*Thus an expresion 010 will evaluate, as always, as an octal (to 8).
|
||||
*However, 018 will evaluate as a decimal, to 18. Even though the
|
||||
*user began the expression as an octal, he later used a non-octal
|
||||
*digit. We forgive this and assume he intended a decimal. If the
|
||||
*JavaScript "strict" option is set though, we will give a warning.
|
||||
*/
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
var bug = '49233';
|
||||
var summary = 'Testing numeric literals that begin with 0';
|
||||
var statprefix = 'Testing ';
|
||||
var quote = "'";
|
||||
var status = new Array();
|
||||
var actual = new Array();
|
||||
var expect = new Array();
|
||||
|
||||
|
||||
status[0]=showStatus('01')
|
||||
actual[0]=01
|
||||
expect[0]=1
|
||||
|
||||
status[1]=showStatus('07')
|
||||
actual[1]=07
|
||||
expect[1]=7
|
||||
|
||||
status[2]=showStatus('08')
|
||||
actual[2]=08
|
||||
expect[2]=8
|
||||
|
||||
status[3]=showStatus('09')
|
||||
actual[3]=09
|
||||
expect[3]=9
|
||||
|
||||
status[4]=showStatus('010')
|
||||
actual[4]=010
|
||||
expect[4]=8
|
||||
|
||||
status[5]=showStatus('017')
|
||||
actual[5]=017
|
||||
expect[5]=15
|
||||
|
||||
status[6]=showStatus('018')
|
||||
actual[6]=018
|
||||
expect[6]=18
|
||||
|
||||
status[7]=showStatus('019')
|
||||
actual[7]=019
|
||||
expect[7]=19
|
||||
|
||||
status[8]=showStatus('079')
|
||||
actual[8]=079
|
||||
expect[8]=79
|
||||
|
||||
status[9]=showStatus('0079')
|
||||
actual[9]=0079
|
||||
expect[9]=79
|
||||
|
||||
status[10]=showStatus('099')
|
||||
actual[10]=099
|
||||
expect[10]=99
|
||||
|
||||
status[11]=showStatus('0099')
|
||||
actual[11]=0099
|
||||
expect[11]=99
|
||||
|
||||
status[12]=showStatus('000000000077')
|
||||
actual[12]=000000000077
|
||||
expect[12]=63
|
||||
|
||||
status[13]=showStatus('000000000078')
|
||||
actual[13]=000000000078
|
||||
expect[13]=78
|
||||
|
||||
status[14]=showStatus('0000000000770000')
|
||||
actual[14]=0000000000770000
|
||||
expect[14]=258048
|
||||
|
||||
status[15]=showStatus('0000000000780000')
|
||||
actual[15]=0000000000780000
|
||||
expect[15]=780000
|
||||
|
||||
status[16]=showStatus('0765432198')
|
||||
actual[16]=0765432198
|
||||
expect[16]=765432198
|
||||
|
||||
status[17]=showStatus('00076543219800')
|
||||
actual[17]=00076543219800
|
||||
expect[17]=76543219800
|
||||
|
||||
status[18]=showStatus('0000001001007')
|
||||
actual[18]=0000001001007
|
||||
expect[18]=262663
|
||||
|
||||
status[19]=showStatus('0000001001009')
|
||||
actual[19]=0000001001009
|
||||
expect[19]=1001009
|
||||
|
||||
status[20]=showStatus('070')
|
||||
actual[20]=070
|
||||
expect[20]=56
|
||||
|
||||
status[21]=showStatus('080')
|
||||
actual[21]=080
|
||||
expect[21]=80
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
test();
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function showStatus(msg)
|
||||
{
|
||||
return (statprefix + quote + msg + quote);
|
||||
}
|
||||
|
||||
|
||||
function test()
|
||||
{
|
||||
enterFunc ('test');
|
||||
printBugNumber (bug);
|
||||
printStatus (summary);
|
||||
|
||||
|
||||
for (i=0; i !=status.length; i++)
|
||||
{
|
||||
reportCompare (expect[i], actual[i], status[i]);
|
||||
}
|
||||
|
||||
exitFunc ('test');
|
||||
}
|
Loading…
Reference in New Issue
Block a user