v8/test/mjsunit/harmony
rossberg@chromium.org 0d34254f8d Upgrade Symbol implementation to match current ES6 behavior.
Refresh the implementation of Symbols to catch up with what the
specification now mandates:

* The global Symbol() function manufactures new Symbol values,
  optionally with a string description attached.

* Invoking Symbol() as a constructor will now throw.

* ToString() over Symbol values still throws, and
  Object.prototype.toString() stringifies like before.

* A Symbol value is wrapped in a Symbol object either implicitly if
  it is the receiver, or explicitly done via Object(symbolValue) or
  (new Object(symbolValue).)

* The Symbol.prototype.toString() method no longer throws on Symbol
  wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf().

* Symbol.prototype.toString() stringifies as "Symbol("<description>"),
  valueOf() returns the wrapper's Symbol value.

* ToPrimitive() over Symbol wrapper objects now throws.

Overall, this provides a stricter separation between Symbol values and
wrapper objects than before, and the explicit fetching out of the
description (nee name) via the "name" property is no longer supported
(by the spec nor the implementation.)

Adjusted existing Symbol test files to fit current, adding some extra
tests for new/changed behavior.

LOG=N
R=arv@chromium.org, rossberg@chromium.org, arv, rossberg
BUG=v8:3053

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:19:42 +00:00
..
array-find.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
array-findindex.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
array-iterator.js Update Array Iterator to use numeric indexes 2013-08-06 13:10:07 +00:00
block-conflicts.js Allocate block-scoped global bindings to global context. 2012-08-28 11:25:08 +00:00
block-const-assign.js Statically check for assignments to const in harmony mode. 2011-12-05 14:43:28 +00:00
block-early-errors.js Make let/const outside of the extended mode early errors (under harmony flag). 2011-11-29 06:38:04 +00:00
block-for.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
block-leave.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-let-crankshaft.js Turn on parallel recompilation for tests that assert optimization status. 2013-07-22 09:16:33 +00:00
block-let-declaration.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-let-semantics.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-scoping.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
collections.js ES6: Map and Set needs to normalize minus zero 2014-01-29 07:27:05 +00:00
dataview-accessors.js Fix data view accessors to throw execptions on offsets bigger than size_t. 2013-11-18 15:16:22 +00:00
debug-blockscopes.js Make sure that names of temporaries do not clash with real variables. 2012-10-05 12:47:34 +00:00
debug-evaluate-blockscopes.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
debug-function-scopes.js Issue 2081: Expose function's (closure's) inner context in debugger. 2012-04-26 20:16:53 +00:00
generators-iteration.js Closed generator returns a completed object instead of throwing a error 2014-01-14 15:19:34 +00:00
generators-objects.js Generator object "next" method takes optional send value 2013-06-10 09:26:18 +00:00
generators-parsing.js Generator objects can suspend 2013-04-19 14:11:23 +00:00
generators-runtime.js GeneratorFunction() makes generator instances 2013-06-12 12:52:16 +00:00
iteration-semantics.js Harmony promises 2013-11-27 17:21:40 +00:00
iteration-syntax.js For-of statements do not permit initializers. 2013-06-12 12:37:44 +00:00
math-cbrt.js Harmony: implement Math.cbrt, Math.expm1 and Math.log1p. 2014-02-19 13:49:59 +00:00
math-clz32.js Harmony: optimize Math.clz32. 2014-02-19 13:51:49 +00:00
math-expm1.js Harmony: implement Math.cbrt, Math.expm1 and Math.log1p. 2014-02-19 13:49:59 +00:00
math-fround.js Harmony: implement Math.fround. 2014-02-18 10:43:06 +00:00
math-hyperbolic.js Harmony: fix spec violation in Math.cosh. 2014-02-11 11:48:32 +00:00
math-hypot.js Harmony: implement math.hypot. 2013-12-23 11:13:39 +00:00
math-log1p.js Harmony: implement Math.cbrt, Math.expm1 and Math.log1p. 2014-02-19 13:49:59 +00:00
math-log2-log10.js Harmony: implement Math.log2 and Math.log10. 2013-12-23 10:54:47 +00:00
math-sign.js Harmony: implement Math.sign. 2013-10-21 09:16:31 +00:00
math-trunc.js Harmony: implement Math.trunc. 2013-10-21 11:15:11 +00:00
microtask-delivery.js V8 Microtask Queue & API 2014-02-12 22:04:19 +00:00
module-linking.js Get rid of static module allocation, do it in code. 2012-11-22 10:25:22 +00:00
module-parsing.js Reject local module declarations. 2012-10-05 09:14:08 +00:00
module-recompile.js Implement proper module linking. 2012-07-09 08:59:03 +00:00
module-resolution.js Implement proper module linking. 2012-07-09 08:59:03 +00:00
numeric-literals-off.js Add support for explicit octal and binary integer literals 2013-07-19 09:57:35 +00:00
numeric-literals.js Add support for explicit octal and binary integer literals 2013-07-19 09:57:35 +00:00
object-observe.js Revert "Make Function.length and Function.name configurable properties." 2014-02-07 15:29:18 +00:00
private.js Upgrade Symbol implementation to match current ES6 behavior. 2014-02-19 14:19:42 +00:00
promises.js Promises: some adaptations to spec 2014-01-09 13:00:56 +00:00
proxies-example-membrane.js Calling Map etc without new should throw TypeError 2013-08-01 09:18:28 +00:00
proxies-for.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies-function.js Make the strict-mode calling convention for contextual calls the default one. 2014-01-14 12:04:10 +00:00
proxies-hash.js Calling Map etc without new should throw TypeError 2013-08-01 09:18:28 +00:00
proxies-json.js Add fast path for FastProperty objects in JSON.stringify. 2012-11-05 12:59:35 +00:00
proxies-symbols.js ES6 symbols: prevent reflection, proxy, and observe APIs from leaking symbols 2013-03-22 17:27:44 +00:00
proxies-with.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies.js Merge experimental/a64 to bleeding_edge. 2014-02-12 09:19:30 +00:00
string-contains.js Add new Harmony methods to String.prototype object. 2013-07-30 16:33:08 +00:00
string-endswith.js Make String.prototype.{starts,ends}With throw when passing a regular expression 2014-01-28 10:31:05 +00:00
string-repeat.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
string-startswith.js Make String.prototype.{starts,ends}With throw when passing a regular expression 2014-01-28 10:31:05 +00:00
symbols.js Upgrade Symbol implementation to match current ES6 behavior. 2014-02-19 14:19:42 +00:00
typedarrays.js Implement ArrayBuffer.isView. 2013-10-10 08:36:44 +00:00
typeof.js Implement Harmony semantics for typeof null (behind a flag). 2011-08-10 12:12:06 +00:00