зеркало из https://github.com/mozilla/gecko-dev.git
Bug 581067 - U+FEFF should be a WhiteSpace character (change in ES5 from ES3). r=cdleary
--HG-- extra : rebase_source : 38947caa8d4f21d0867137d0933495061a88d052
This commit is contained in:
Родитель
49ded6d0df
Коммит
fe367b4bb1
|
@ -752,15 +752,18 @@ extern const bool js_alnum[];
|
||||||
|
|
||||||
#define JS_ISDIGIT(c) (JS_CTYPE(c) == JSCT_DECIMAL_DIGIT_NUMBER)
|
#define JS_ISDIGIT(c) (JS_CTYPE(c) == JSCT_DECIMAL_DIGIT_NUMBER)
|
||||||
|
|
||||||
|
const jschar BYTE_ORDER_MARK = 0xFEFF;
|
||||||
|
const jschar NO_BREAK_SPACE = 0x00A0;
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
JS_ISSPACE(jschar c)
|
JS_ISSPACE(jschar c)
|
||||||
{
|
{
|
||||||
unsigned w = c;
|
unsigned w = c;
|
||||||
|
|
||||||
if (w < 256)
|
if (w < 256)
|
||||||
return (w <= ' ' && (w == ' ' || (9 <= w && w <= 0xD))) || w == 0xA0;
|
return (w <= ' ' && (w == ' ' || (9 <= w && w <= 0xD))) || w == NO_BREAK_SPACE;
|
||||||
|
|
||||||
return (JS_CCODE(w) & 0x00070000) == 0x00040000;
|
return w == BYTE_ORDER_MARK || (JS_CCODE(w) & 0x00070000) == 0x00040000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define JS_ISPRINT(c) ((c) < 128 && isprint(c))
|
#define JS_ISPRINT(c) ((c) < 128 && isprint(c))
|
||||||
|
|
|
@ -218,6 +218,8 @@ for ( var space = " ", HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0;
|
||||||
HEX_VALUE += Math.pow(16,POWER)*15;
|
HEX_VALUE += Math.pow(16,POWER)*15;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
new TestCase(SECTION, "parseInt(BOM + '123', 10)", 123, parseInt("\uFEFF" + "123", 10));
|
||||||
|
|
||||||
// a few tests with negative numbers
|
// a few tests with negative numbers
|
||||||
for ( HEX_STRING = "-0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) {
|
for ( HEX_STRING = "-0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) {
|
||||||
new TestCase( SECTION, "parseInt("+HEX_STRING+")", HEX_VALUE, parseInt(HEX_STRING) );
|
new TestCase( SECTION, "parseInt("+HEX_STRING+")", HEX_VALUE, parseInt(HEX_STRING) );
|
||||||
|
|
Загрузка…
Ссылка в новой задаче