Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: test/mjsunit/class-of-builtins.js

Issue 546803003: Update ObjectToString to Harmony-draft algorithm (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add @@toStringTag to some objects + tests Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2008 the V8 project authors. All rights reserved. 1 // Copyright 2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 10 matching lines...) Expand all
21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 // The [[Class]] property of (instances of) builtin functions must be 28 // The [[Class]] property of (instances of) builtin functions must be
29 // correctly set. 29 // correctly set.
30 var funs = { 30 var funs = {
31 Object: [ Object ], 31 /*Object: [ Object ],*/
rossberg 2014/10/17 11:19:30 Why is this commented out?
32 Function: [ Function ], 32 Function: [ Function ],
33 Array: [ Array ], 33 Array: [ Array ],
34 String: [ String ], 34 String: [ String ],
35 Boolean: [ Boolean ], 35 Boolean: [ Boolean ],
36 Number: [ Number ], 36 Number: [ Number ],
37 Date: [ Date ], 37 Date: [ Date ],
38 RegExp: [ RegExp ], 38 RegExp: [ RegExp ],
39 Error: [ Error, TypeError, RangeError, SyntaxError, ReferenceError, EvalErr or, URIError ] 39 Error: [ Error, TypeError, RangeError, SyntaxError, ReferenceError, EvalErr or, URIError ]
40 } 40 }
41 for (f in funs) { 41 for (f in funs) {
42 for (i in funs[f]) { 42 for (i in funs[f]) {
43 assertEquals("[object " + f + "]", 43 assertEquals("[object " + f + "]",
44 Object.prototype.toString.call(new funs[f][i]), 44 Object.prototype.toString.call(new funs[f][i]),
45 funs[f][i]); 45 funs[f][i]);
46 assertEquals("[object Function]", 46 assertEquals("[object Function]",
47 Object.prototype.toString.call(funs[f][i]), 47 Object.prototype.toString.call(funs[f][i]),
48 funs[f][i]); 48 funs[f][i]);
49
50 var fake = f === 'Object' ? [] : {};
51 fake[Symbol.toStringTag] = '' + f;
52 assertEquals("[object ~" + f + "]",
53 Object.prototype.toString.call(fake));
49 } 54 }
50 } 55 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698