Commit Graph

63 Commits

Author SHA1 Message Date
jshin
a3db819c9e Add support for DateTimeFormat.formatToParts
Spec discussion:  https://github.com/tc39/ecma402/issues/30

It's in stage 4 and Firefox has already implemented it.

For now, it's added to HARMONY_IN_PROGRESS bucket behind
'--datetime-format-to-parts' flag.

BUG=v8:5244
TEST=intl/date-format/date-format-to-parts.js
TEST=test262/intl402/DateTimeFormat/prototype/formatToParts/*

Review-Url: https://codereview.chromium.org/2273953003
Cr-Commit-Position: refs/heads/master@{#39225}
2016-09-06 22:57:11 +00:00
jshin
520f38fce7 Expose getCanonicalLocales() for Intl object.
Also add a test for the return object of getCanonicalLocaleList().

See https://github.com/tc39/test262/issues/745 for more details.

BUG=v8:5012
TEST=test262/intl402/Intl/getCanonicalLocales/*
TEST=intl/general/getCanonicalLocales

Review-Url: https://codereview.chromium.org/2239523002
Cr-Commit-Position: refs/heads/master@{#38733}
2016-08-18 23:27:23 +00:00
jshin
339f08d2e9 Support language tag extensions with multiple subtags for a key
Language tags with Unicode extensions can have multiple subtags
for a key (e.g. -ca-ismalic-civil has 'islamic-civi' for 'ca').

BUG=v8:4749
TEST=intl/date-format/calendar-with-multiple-type-subtags.js

Review-Url: https://codereview.chromium.org/2248563003
Cr-Commit-Position: refs/heads/master@{#38692}
2016-08-17 17:55:34 +00:00
machenbach
08f7c10e38 Revert of Throw when case mapping result > max string length (patchset #3 id:40001 of https://codereview.chromium.org/2236593002/ )
Reason for revert:
The test is very flaky and made it on many configurations into the top 10 of the slowest tests:

https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm/builds/845
https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/15418
https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/12369/steps/Check/logs/durations

Original issue's description:
> Throw when case mapping result > max string length
>
> Throw 'Range Error: invalid string length' when the result of
> case mapping is longer than the max string length (kMaxLength in
> objects.h = 1 << 28 - 16).
>
> This is for case mapping with ICU.
>
> BUG=v8:5271
> TEST=intl/general/case-mapping.js with --icu_case_mapping
>
> Committed: https://crrev.com/c7a2046670468b900b9dbbb4ce45beb5e0e717fd
> Cr-Commit-Position: refs/heads/master@{#38565}

TBR=littledan@chromium.org,jshin@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5271

Review-Url: https://codereview.chromium.org/2236393002
Cr-Commit-Position: refs/heads/master@{#38582}
2016-08-11 13:39:46 +00:00
jshin
c7a2046670 Throw when case mapping result > max string length
Throw 'Range Error: invalid string length' when the result of
case mapping is longer than the max string length (kMaxLength in
objects.h = 1 << 28 - 16).

This is for case mapping with ICU.

BUG=v8:5271
TEST=intl/general/case-mapping.js with --icu_case_mapping

Review-Url: https://codereview.chromium.org/2236593002
Cr-Commit-Position: refs/heads/master@{#38565}
2016-08-10 21:46:05 +00:00
mstarzinger
c403ab7f57 [test] Fully deprecate NO_IGNITION directive.
R=machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2228853002
Cr-Commit-Position: refs/heads/master@{#38494}
2016-08-09 13:08:09 +00:00
littledan
97e8046e44 Avoid calling the builtin String.prototype.split in Intl
The Intl code previously called the initial value of String.prototype.split
for some internal operations. However, this did not have the intended effect
as Intl only needs to split strings by strings, but String.prototype.split
has integration with Symbol.split for RegExps.

This patch replaces the calls of StringSplit in the Intl implementation
with direct calls to the %StringSplit runtime function to avoid the issue.

R=yangguo@chromium.org
BUG=v8:5179

Review-Url: https://codereview.chromium.org/2126073002
Cr-Commit-Position: refs/heads/master@{#37615}
2016-07-08 16:53:09 +00:00
jshin
72d86e3772 Fix Intl*parsing tests and test status
intl/number-format/parse-percent.js
intl/date-format/parse-mdyhms.js
intl/number-format/parse-decimal.js
intl/date-format/parse-MMMdy.js

Also added a few more test cases.

BUG=v8:3454
TEST=The tests listed above.

Review-Url: https://codereview.chromium.org/1988073003
Cr-Commit-Position: refs/heads/master@{#36555}
2016-05-27 17:59:19 +00:00
littledan
29bd8286ee Use stricter type checks in Intl's bound methods
This patch ensures that Intl bound method getters can't be retargeted
to other Intl types. If that were to happen, then a RUNTIME_ASSERT
would trigger later. This patch throws a TypeError instead, as the
specification requires.

BUG=v8:4870

Review-Url: https://codereview.chromium.org/1986763003
Cr-Commit-Position: refs/heads/master@{#36330}
2016-05-18 14:57:58 +00:00
littledan
0bd50885e8 Remove certain non-standard properties from Intl
This patch removes the following properties, as their use count is
very low, they are V8-only, and not on a standards track.
- v8Parse
- resolved
- pattern

v8BreakIterator is left in as it has significantly more usage.

BUG=v8:3785
R=adamk,jshin@chromium.org

Review-Url: https://codereview.chromium.org/1968893002
Cr-Commit-Position: refs/heads/master@{#36190}
2016-05-12 00:34:48 +00:00
jshin
b348d47bb9 Use ICU case conversion/transliterator for case conversion
When I18N is enabled, use ICU's case conversion API and transliteration
API [1] to implement String.prototype.to{Upper,Lower}Case and
String.prototype.toLocale{Upper,Lower}Case.

* ICU-based case conversion was implemented in runtime-i18n.cc/i18n.js
* The above 4 functions are overridden with those in i18n.js when
  --icu_case_mapping flag is turned on. To control the override by the flag,
  they're overriden in icu-case-mapping.js

Previously, toLocale{U,L}Case just called to{U,L}Case so that they didn't
support locale-sensitive case conversion for Turkic languages (az, tr),
Greek (el) and Lithuanian (lt).

Before ICU APIs for the most general case are called, a fast-path for Latin-1
is tried. It's taken from Blink and adopted as necessary. This fast path
is always tried for to{U,L}Case. For toLocale{U,L}Case, it's only taken
when a locale (explicitly specified or default) is not in {az, el, lt, tr}.

With these changes, a build with --icu_case_mapping=true passes a bunch
of tests in test262/intl402/Strings/* and intl/* that failed before.

Handling of pure ASCII strings (aligned at word boundary) are not as fast
as Unibrow's implementation that uses word-by-word case conversion. OTOH,
Latin-1 input handling is faster than Unibrow. General Unicode input
handling is slower but more accurate.

See https://docs.google.com/spreadsheets/d/1KJCJxKc1FxFXjwmYqABS0_2cNdPetvnd8gY8_HGSbrg/edit?usp=sharing for the benchmark.

This CL started with http://crrev.com/1544023002#ps200001 by littledan@,
but has changed significantly since.

[1] See why transliteration API is needed for uppercasing in Greek.
    http://bugs.icu-project.org/trac/ticket/10582

R=yangguo
BUG=v8:4476,v8:4477
LOG=Y
TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case,
     intl/general/case*

Review-Url: https://codereview.chromium.org/1812673005
Cr-Commit-Position: refs/heads/master@{#36187}
2016-05-11 19:03:04 +00:00
machenbach
78cf397def [Interpreter] Skip some tests that fail with --ignition
BUG=v8:4280
LOG=N
TBR=rmcilroy@chromium.org, rmcilroy@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/1934283002
Cr-Commit-Position: refs/heads/master@{#35931}
2016-05-02 12:17:52 +00:00
machenbach
3bf44848c3 [gn] Move build to gypfiles
This prepares for pulling chromium's build as dependency for
gn. After this, the files in build and gypfiles need to stay
in sync until chromium is updated.

BUG=chromium:474921
LOG=n

Review-Url: https://codereview.chromium.org/1848553003
Cr-Commit-Position: refs/heads/master@{#35898}
2016-04-29 10:11:11 +00:00
machenbach
9c927d0f01 [test] Set default locale in test runner
BUG=v8:4437,v8:2899,chromium:604310
LOG=n

Review URL: https://codereview.chromium.org/1402373002

Cr-Commit-Position: refs/heads/master@{#35614}
2016-04-19 11:27:08 +00:00
clemensh
b4edd2f658 Allow to pass a user message to assert functions
Nothing too important, but it helps localizing the cause of an error
much faster.
By the way, I also changed the output for assertThrows and
assertDoesNotThrow a bit.
All new arguments are optional, so everything is backwards compatible.

R=jfb@chromium.org, titzer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1866693002

Cr-Commit-Position: refs/heads/master@{#35322}
2016-04-07 08:16:04 +00:00
yangguo
4c1d670e98 [regexp, intl] Intl should not cause side effects to the RegExp object.
R=jochen@chromium.org
BUG=v8:4361
LOG=N

Review URL: https://codereview.chromium.org/1819313002

Cr-Commit-Position: refs/heads/master@{#35099}
2016-03-29 11:57:03 +00:00
littledan
a59f62fcd8 Intl: Use private symbols to memoize bound functions
The Intl object used to keep around functions which are bound to the
receiver and memoized in the object (as required by the ECMA-402 spec)
in ordinary properties with names like __boundformat__. This patch
instead stores those methods in private symbol properties, so they are
not exposed to users. A search in GitHub didn't find any uses of
__boundformat__ (whereas the same search found plenty of usages of
other V8 Intl features), so I think this should be fine in terms of
web compatibility.

BUG=v8:3785
R=adamk
LOG=Y

Review URL: https://codereview.chromium.org/1728823002

Cr-Commit-Position: refs/heads/master@{#34230}
2016-02-24 00:05:06 +00:00
littledan
5aa5258e51 Enable some passing, disabled Intl tests
A couple of the Intl tests made calls to getDefaultTimeZone(), which
doesn't exist in V8; however, these were not core to the test. Rather
than marking the whole test as failing, just comment out that
unimportant part of the test.

R=adamk

Review URL: https://codereview.chromium.org/1522533003

Cr-Commit-Position: refs/heads/master@{#32819}
2015-12-12 01:33:52 +00:00
littledan
d67756a775 Set the Gregorian changeover date to the beginning of time in Intl
ECMAScript dates act as if the Gregorian changeover happened at the
beginning of time. This patch fixes up internationalized date
formatting to set that changeover properly, as opposed to the ICU
default which is in the 16th century.

BUG=chromium:537382
R=adamk,cira
LOG=Y

Review URL: https://codereview.chromium.org/1501113002

Cr-Commit-Position: refs/heads/master@{#32669}
2015-12-08 02:13:54 +00:00
littledan
f5e924eb10 Fix user options for fractional digits in Intl.NumberFormatter
The patch in https://crrev.com/ddb5c2d999c5ee6e31c4a9599bb3ddb293cc3f49
moved all fractional digit settings to default values due to a coding
error. These were not even correct default values, and users observed
errors where percentages were written as "23.0%" instead of "23%".

This patch fixes the setting propagation when appropriate and it changes
the default max fractional digits of a percentage to 0, per spec.

BUG=chromium:544122
R=mnita,jochen
CC=hichris123,adamk
LOG=Y

Review URL: https://codereview.chromium.org/1420883002

Cr-Commit-Position: refs/heads/master@{#31468}
2015-10-22 11:31:13 +00:00
machenbach
6628b77d57 [test] Mark intl test as failing on linux.
BUG=v8:2899
LOG=n
TBR=jochen@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/1396293006

Cr-Commit-Position: refs/heads/master@{#31248}
2015-10-14 07:09:36 +00:00
machenbach
ed5b12a5ba [test] Fix status files.
NOTRY=true

Review URL: https://codereview.chromium.org/1395503002

Cr-Commit-Position: refs/heads/master@{#31151}
2015-10-07 13:14:28 +00:00
machenbach
e1743816d3 Reland [swarming] Isolate v8 testing.
This reverts commit 280a6f8ec8.

Reland of https://codereview.chromium.org/1380593002/

BUG=chromium:535160
LOG=n
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel;

Review URL: https://codereview.chromium.org/1390473003

Cr-Commit-Position: refs/heads/master@{#31094}
2015-10-05 09:48:42 +00:00
danno
280a6f8ec8 Revert of [swarming] Isolate v8 testing. (patchset #8 id:140001 of https://codereview.chromium.org/1380593002/ )
Reason for revert:
Prime suspect in breakage of V8 Linux -- no snap

Original issue's description:
> [swarming] Isolate v8 testing.
>
> Add gyp support and isolates for default test suites.
> Add two default isolates, one (default) for using the
> test suite collection we call "default" on the bots. One
> (developer_default) for also supporting the way developers
> call the driver (i.e. without argument, which includes
> the unittests).
>
> BUG=chromium:535160
> LOG=n
>
> Committed: https://crrev.com/9bd83f58f29ab0c7c5b71b00bcb1df3a9e641f05
> Cr-Commit-Position: refs/heads/master@{#31081}

TBR=tandrii@chromium.org,jochen@chromium.org,maruel@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:535160

Review URL: https://codereview.chromium.org/1370993008

Cr-Commit-Position: refs/heads/master@{#31084}
2015-10-02 15:45:13 +00:00
machenbach
9bd83f58f2 [swarming] Isolate v8 testing.
Add gyp support and isolates for default test suites.
Add two default isolates, one (default) for using the
test suite collection we call "default" on the bots. One
(developer_default) for also supporting the way developers
call the driver (i.e. without argument, which includes
the unittests).

BUG=chromium:535160
LOG=n

Review URL: https://codereview.chromium.org/1380593002

Cr-Commit-Position: refs/heads/master@{#31081}
2015-10-02 15:15:39 +00:00
machenbach
9a43b521be [test] Mark test as failing on arm.
BUG=v8:4459
LOG=n
NOTRY=true
NOTREECHECKS=true
TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/1384663004

Cr-Commit-Position: refs/heads/master@{#31077}
2015-10-02 15:03:03 +00:00
machenbach
e514fd3194 [test] Run intl test suite where it should run.
BUG=chromium:535160,v8:4459
LOG=n
NOTRY=true

Review URL: https://codereview.chromium.org/1384683002

Cr-Commit-Position: refs/heads/master@{#31073}
2015-10-02 13:09:26 +00:00
caitpotter88
7b405200b0 [test] Remove FAIL expectation for intl/collator/default-locale on Android and Mac
BUG=v8:2899
LOG=N
R=

Review URL: https://codereview.chromium.org/1364583004

Cr-Commit-Position: refs/heads/master@{#30979}
2015-09-28 14:51:57 +00:00
jkummerow
9516dccd41 Reland "[test] Fix cctest path separators on Windows"
Now run-tests.py understands "suite/foo/bar" with forward slashes for
command-line test selection on all test suites on all platforms.

Previously, file-based suites like mjsunit also accepted "mjsunit/foo\bar";
that behavior is sacrificed here in favor of unification. For the cctest
suite, OTOH, it wasn't possible on Windows to select specific tests at all.

Original review: https://codereview.chromium.org/1348653003/

This reverts commit 5f44a91059.

NOTRY=true

Review URL: https://codereview.chromium.org/1356613002

Cr-Commit-Position: refs/heads/master@{#30798}
2015-09-17 13:01:12 +00:00
jkummerow
5f44a91059 Revert of [test] Fix cctest path separators on Windows (patchset #2 id:20001 of https://codereview.chromium.org/1348653003/ )
Reason for revert:
mozilla tests are failing on Windows

Original issue's description:
> [test] Fix cctest path separators on Windows
>
> Now run-tests.py understands "suite/foo/bar" with forward slashes for
> command-line test selection on all test suites on all platforms.
>
> Previously, file-based suites like mjsunit also accepted "mjsunit/foo\bar";
> that behavior is sacrificed here in favor of unification. For the cctest
> suite, OTOH, it wasn't possible on Windows to select specific tests at all.
>
> Committed: https://crrev.com/b36cfdb39ae648b49a1396c4f669df9b1f57996c
> Cr-Commit-Position: refs/heads/master@{#30794}

TBR=machenbach@google.com,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1349163002

Cr-Commit-Position: refs/heads/master@{#30795}
2015-09-17 12:00:23 +00:00
jkummerow
b36cfdb39a [test] Fix cctest path separators on Windows
Now run-tests.py understands "suite/foo/bar" with forward slashes for
command-line test selection on all test suites on all platforms.

Previously, file-based suites like mjsunit also accepted "mjsunit/foo\bar";
that behavior is sacrificed here in favor of unification. For the cctest
suite, OTOH, it wasn't possible on Windows to select specific tests at all.

Review URL: https://codereview.chromium.org/1348653003

Cr-Commit-Position: refs/heads/master@{#30794}
2015-09-17 11:24:09 +00:00
mathias
e5d5b67005 Ensure String.prototype.normalize.length is 0
TEST=test/intl/string/normalization
BUG=v8:4303
LOG=N

Review URL: https://codereview.chromium.org/1274653002

Cr-Commit-Position: refs/heads/master@{#30030}
2015-08-05 15:13:45 +00:00
yangguo
d508345123 Do not expect verbatim JPY symbol in test.
The choice for the symbol seems to be locale-dependent.

R=jochen@chromium.org
BUG=v8:4314
LOG=N

Review URL: https://codereview.chromium.org/1238133003

Cr-Commit-Position: refs/heads/master@{#29750}
2015-07-20 10:52:51 +00:00
hichris123
ddb5c2d999 Make NumberFormat use the ICU currency data, fix bug in NumberFormat
NumberFormat previously just used a min of 0 digits after the decimal and a max of 3. This CL changes it so that we use the ICU currency data, and set the min and max to the number of numbers after the decimal point for each currency.

This CL also fixes a small bug where if the minimum fraction digits is above 3 but the maximum fraction digits isn't set, then it returns with only three numbers after the decimal point.

BUG=435465,473104,304722
LOG=Y

Review URL: https://codereview.chromium.org/1231613006

Cr-Commit-Position: refs/heads/master@{#29734}
2015-07-17 15:08:08 +00:00
yangguo@chromium.org
0dd69ec439 Allow identifier code points from supplementary multilingual planes.
ES5.1 section 6 ("Source Text"):
"Throughout the rest of this document, the phrase “code unit” and the
word “character” will be used to refer to a 16-bit unsigned value
used to represent a single 16-bit unit of text."

This changed in ES6 draft section 10.1 ("Source Text"):
"The ECMAScript code is expressed using Unicode, version 5.1 or later.
ECMAScript source text is a sequence of code points. All Unicode code
point values from U+0000 to U+10FFFF, including surrogate code points,
may occur in source text where permitted by the ECMAScript grammars."

This patch is to reflect this spec change.

BUG=v8:3617
LOG=Y
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/640193002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:13:46 +00:00
mstarzinger@chromium.org
0d7f69aac5 Enable test cases that no longer timeout.
R=bmeurer@chromium.org
BUG=v8:3522,v8:3526
LOG=N

Review URL: https://codereview.chromium.org/505113002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:44:25 +00:00
Jacob.Bramley@arm.com
2fd20234ce [turbofan] Disable the intl/overrides/string test.
This test times out with Turbo Fan enabled. See issue 3526 for details.

BUG=
R=ulan@chromium.org, wingo@igalia.com

Review URL: https://codereview.chromium.org/494173002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 09:05:04 +00:00
mstarzinger@chromium.org
5c7edb7e2b Enable access check tests that no longer fail with TF.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/473873002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 13:24:57 +00:00
jochen@chromium.org
08be29d8bd Revert r22544: "Rebaseline/update the intl tests with ICU 52"
The intl tests still fail locally.

BUG=v8:3454
LOG=N
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/410083004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 11:39:46 +00:00
jochen@chromium.org
3651a67156 Rebaseline/update the intl tests with ICU 52
Update the following 4 intl tests after ICU 52 roll.

date-format/parse-MMMdy.js
date-format/parse-mdyhms.js
number-format/parse-decimal.js
number-format/parse-percent.js

BUG=v8:3454
TEST=intl/* tests pass.
LOG=Y
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/410733003

Patch from Jungshik Shin <jshin@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 09:00:43 +00:00
jochen@chromium.org
a9462576d6 Update ICU to 5.2 (matching chromium)
BUG=v8:3452
R=svenpanne@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/411493002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 12:27:59 +00:00
jochen@chromium.org
f30452ba40 Store i18n meta data in hidden symbols instead of js accessible properties
There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.

BUG=354967
R=dcarney@chromium.org
LOG=y

Committed: https://code.google.com/p/v8/source/detail?r=20375

Review URL: https://codereview.chromium.org/215293005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 10:56:16 +00:00
machenbach@chromium.org
8806f2d815 Revert r20375.
Store i18n meta data in hidden symbols instead of js accessible properties

BUG=354967
LOG=N
TBR=jochen@chromium.org

Review URL: https://codereview.chromium.org/220673002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 08:05:45 +00:00
jochen@chromium.org
0d04cba759 Store i18n meta data in hidden symbols instead of js accessible properties
There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.

BUG=354967
R=dcarney@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/215293005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 07:21:05 +00:00
ulan@chromium.org
e95bc7eec8 Merge experimental/a64 to bleeding_edge.
BUG=v8:3113
LOG=Y
R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

Review URL: https://codereview.chromium.org/148293020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
svenpanne@chromium.org
0cb5fd3d3e Implements ES6 String.prototype.normalize method.
BUG=v8:2943
LOG=Y
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.

==========================

This is identical to the previous CL
   https://codereview.chromium.org/40133004/
with two differences:
 * Added a dummy implementation of String.prototype.normalize to be used when v8 is compiled without intl support
 * Rebased the the test files for webkit. That was the only reason for the previous failure (and revert).

Thank you,
Mihai

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/68133016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 08:09:17 +00:00
yangguo@chromium.org
aa3518a0f3 Make sure files end with exactly one new line and police this in presubmit.
The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/82803005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:50:39 +00:00
verwaest@chromium.org
c809433941 Revert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due to test failures.
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/62563002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 18:19:26 +00:00
cira@chromium.org
ef05eef033 Landing https://codereview.chromium.org/40133004 for mnita@google.com.
Implements ES6 String.prototype.normalize method.

BUG=v8:2943
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/60013010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:27:31 +00:00
cira@chromium.org
c0ff0b284d Original review https://codereview.chromium.org/25855005.
Reverting reverted r17148 and fixing build (test) breakage by side stepping the Windows vs. Linux issue of different Date object for the same millisecond time stamp.
We do that by using UTC Date methods (they eliminate DST problems).

Windows:
new Date(129193200000);
Sun Feb 03 1974 23:00:00 GMT-0800 (Pacific Standard Time)

Linux:
new Date(129193200000);
Mon Feb 04 1974 00:00:00 GMT-0700 (PST)

BUG=2919
R=dslomov@chromium.org, mnita@google.com

Review URL: https://codereview.chromium.org/26918002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 17:54:31 +00:00