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

Side by Side Diff: test/mjsunit/es6/string-html.js

Issue 422543003: Add `CheckObjectCoercible` for the `String.prototype` HTML methods (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Updated as per rossberg’s and aandrey’s feedback Created 6 years, 4 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
« no previous file with comments | « src/string.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Tests taken from:
6 // http://mathias.html5.org/tests/javascript/string/
7
8 assertEquals('_'.anchor('b'), '<a name="b">_</a>');
9 //assertEquals('<'.anchor('<'), '<a name="<"><</a>'); // #2217
10 assertEquals('_'.anchor(0x2A), '<a name="42">_</a>');
11 assertEquals('_'.anchor('\x22'), '<a name="&quot;">_</a>');
12 assertEquals(String.prototype.anchor.call(0x2A, 0x2A), '<a name="42">42</a>');
13 assertThrows(function() {
14 String.prototype.anchor.call(undefined);
15 }, TypeError);
16 assertThrows(function() {
17 String.prototype.anchor.call(null);
18 }, TypeError);
19 assertEquals(String.prototype.anchor.length, 1);
20
21 assertEquals('_'.big(), '<big>_</big>');
22 assertEquals('<'.big(), '<big><</big>');
23 assertEquals(String.prototype.big.call(0x2A), '<big>42</big>');
24 assertThrows(function() {
25 String.prototype.big.call(undefined);
26 }, TypeError);
27 assertThrows(function() {
28 String.prototype.big.call(null);
29 }, TypeError);
30 assertEquals(String.prototype.big.length, 0);
31
32 assertEquals('_'.blink(), '<blink>_</blink>');
33 assertEquals('<'.blink(), '<blink><</blink>');
34 assertEquals(String.prototype.blink.call(0x2A), '<blink>42</blink>');
35 assertThrows(function() {
36 String.prototype.blink.call(undefined);
37 }, TypeError);
38 assertThrows(function() {
39 String.prototype.blink.call(null);
40 }, TypeError);
41 assertEquals(String.prototype.blink.length, 0);
42
43 assertEquals('_'.bold(), '<b>_</b>');
44 assertEquals('<'.bold(), '<b><</b>');
45 assertEquals(String.prototype.bold.call(0x2A), '<b>42</b>');
46 assertThrows(function() {
47 String.prototype.bold.call(undefined);
48 }, TypeError);
49 assertThrows(function() {
50 String.prototype.bold.call(null);
51 }, TypeError);
52 assertEquals(String.prototype.bold.length, 0);
53
54 assertEquals('_'.fixed(), '<tt>_</tt>');
55 assertEquals('<'.fixed(), '<tt><</tt>');
56 assertEquals(String.prototype.fixed.call(0x2A), '<tt>42</tt>');
57 assertThrows(function() {
58 String.prototype.fixed.call(undefined);
59 }, TypeError);
60 assertThrows(function() {
61 String.prototype.fixed.call(null);
62 }, TypeError);
63 assertEquals(String.prototype.fixed.length, 0);
64
65 assertEquals('_'.fontcolor('b'), '<font color="b">_</font>');
66 //assertEquals('<'.fontcolor('<'), '<font color="<"><</font>'); // #2217
67 assertEquals('_'.fontcolor(0x2A), '<font color="42">_</font>');
68 assertEquals('_'.fontcolor('\x22'), '<font color="&quot;">_</font>');
69 assertEquals(String.prototype.fontcolor.call(0x2A, 0x2A),
70 '<font color="42">42</font>');
71 assertThrows(function() {
72 String.prototype.fontcolor.call(undefined);
73 }, TypeError);
74 assertThrows(function() {
75 String.prototype.fontcolor.call(null);
76 }, TypeError);
77 assertEquals(String.prototype.fontcolor.length, 1);
78
79 assertEquals('_'.fontsize('b'), '<font size="b">_</font>');
80 //assertEquals('<'.fontsize('<'), '<font size="<"><</font>'); // #2217
81 assertEquals('_'.fontsize(0x2A), '<font size="42">_</font>');
82 assertEquals('_'.fontsize('\x22'), '<font size="&quot;">_</font>');
83 assertEquals(String.prototype.fontsize.call(0x2A, 0x2A),
84 '<font size="42">42</font>');
85 assertThrows(function() {
86 String.prototype.fontsize.call(undefined);
87 }, TypeError);
88 assertThrows(function() {
89 String.prototype.fontsize.call(null);
90 }, TypeError);
91 assertEquals(String.prototype.fontsize.length, 1);
92
93 assertEquals('_'.italics(), '<i>_</i>');
94 assertEquals('<'.italics(), '<i><</i>');
95 assertEquals(String.prototype.italics.call(0x2A), '<i>42</i>');
96 assertThrows(function() {
97 String.prototype.italics.call(undefined);
98 }, TypeError);
99 assertThrows(function() {
100 String.prototype.italics.call(null);
101 }, TypeError);
102 assertEquals(String.prototype.italics.length, 0);
103
104 assertEquals('_'.link('b'), '<a href="b">_</a>');
105 //assertEquals('<'.link('<'), '<a href="<"><</a>'); // #2217
106 assertEquals('_'.link(0x2A), '<a href="42">_</a>');
107 assertEquals('_'.link('\x22'), '<a href="&quot;">_</a>');
108 assertEquals(String.prototype.link.call(0x2A, 0x2A), '<a href="42">42</a>');
109 assertThrows(function() {
110 String.prototype.link.call(undefined);
111 }, TypeError);
112 assertThrows(function() {
113 String.prototype.link.call(null);
114 }, TypeError);
115 assertEquals(String.prototype.link.length, 1);
116
117 assertEquals('_'.small(), '<small>_</small>');
118 assertEquals('<'.small(), '<small><</small>');
119 assertEquals(String.prototype.small.call(0x2A), '<small>42</small>');
120 assertThrows(function() {
121 String.prototype.small.call(undefined);
122 }, TypeError);
123 assertThrows(function() {
124 String.prototype.small.call(null);
125 }, TypeError);
126 assertEquals(String.prototype.small.length, 0);
127
128 assertEquals('_'.strike(), '<strike>_</strike>');
129 assertEquals('<'.strike(), '<strike><</strike>');
130 assertEquals(String.prototype.strike.call(0x2A), '<strike>42</strike>');
131 assertThrows(function() {
132 String.prototype.strike.call(undefined);
133 }, TypeError);
134 assertThrows(function() {
135 String.prototype.strike.call(null);
136 }, TypeError);
137 assertEquals(String.prototype.strike.length, 0);
138
139 assertEquals('_'.sub(), '<sub>_</sub>');
140 assertEquals('<'.sub(), '<sub><</sub>');
141 assertEquals(String.prototype.sub.call(0x2A), '<sub>42</sub>');
142 assertThrows(function() {
143 String.prototype.sub.call(undefined);
144 }, TypeError);
145 assertThrows(function() {
146 String.prototype.sub.call(null);
147 }, TypeError);
148 assertEquals(String.prototype.sub.length, 0);
149
150 assertEquals('_'.sup(), '<sup>_</sup>');
151 assertEquals('<'.sup(), '<sup><</sup>');
152 assertEquals(String.prototype.sup.call(0x2A), '<sup>42</sup>');
153 assertThrows(function() {
154 String.prototype.sup.call(undefined);
155 }, TypeError);
156 assertThrows(function() {
157 String.prototype.sup.call(null);
158 }, TypeError);
159 assertEquals(String.prototype.sup.length, 0);
OLDNEW
« no previous file with comments | « src/string.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698