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

Side by Side Diff: LayoutTests/fast/dom/Window/atob-btoa.html

Issue 58143002: WindowBase64::atob() does not remove space characters from input (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix style issue Created 7 years, 1 month 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
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../../resources/js-test.js"></script> 4 <script src="../../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <script> 7 <script>
8 shouldBe('window.atob("YQ==")', '"a"'); 8 shouldBe('window.atob("YQ==")', '"a"');
9 shouldBe('window.atob("YWI=")', '"ab"'); 9 shouldBe('window.atob("YWI=")', '"ab"');
10 shouldBe('window.atob("YWJj")', '"abc"'); 10 shouldBe('window.atob("YWJj")', '"abc"');
11 shouldBe('window.atob("YWJjZA==")', '"abcd"'); 11 shouldBe('window.atob("YWJjZA==")', '"abcd"');
12 shouldBe('window.atob("YWJjZGU=")', '"abcde"'); 12 shouldBe('window.atob("YWJjZGU=")', '"abcde"');
13 shouldBe('window.atob("YWJjZGVm")', '"abcdef"'); 13 shouldBe('window.atob("YWJjZGVm")', '"abcdef"');
14
14 shouldBe('window.btoa("a")', '"YQ=="'); 15 shouldBe('window.btoa("a")', '"YQ=="');
15 shouldBe('window.btoa("ab")', '"YWI="'); 16 shouldBe('window.btoa("ab")', '"YWI="');
16 shouldBe('window.btoa("abc")', '"YWJj"'); 17 shouldBe('window.btoa("abc")', '"YWJj"');
17 shouldBe('window.btoa("abcd")', '"YWJjZA=="'); 18 shouldBe('window.btoa("abcd")', '"YWJjZA=="');
18 shouldBe('window.btoa("abcde")', '"YWJjZGU="'); 19 shouldBe('window.btoa("abcde")', '"YWJjZGU="');
19 shouldBe('window.btoa("abcdef")', '"YWJjZGVm"'); 20 shouldBe('window.btoa("abcdef")', '"YWJjZGVm"');
20 21
21 shouldBe('typeof window.btoa', '"function"'); 22 shouldBe('typeof window.btoa', '"function"');
22 shouldThrow('window.btoa()', '"TypeError: Failed to execute \'btoa\' on \'Window \': 1 argument required, but only 0 present."'); 23 shouldThrow('window.btoa()', '"TypeError: Failed to execute \'btoa\' on \'Window \': 1 argument required, but only 0 present."');
23 shouldBe('window.btoa("")', '""'); 24 shouldBe('window.btoa("")', '""');
24 shouldBe('window.btoa(null)', '"bnVsbA=="'); // Gets converted to "null" string. 25 shouldBe('window.btoa(null)', '"bnVsbA=="'); // Gets converted to "null" string.
25 shouldBe('window.btoa(undefined)', '"dW5kZWZpbmVk"'); 26 shouldBe('window.btoa(undefined)', '"dW5kZWZpbmVk"');
26 shouldBe('window.btoa(window)', '"W29iamVjdCBXaW5kb3dd"'); // "[object Window]" 27 shouldBe('window.btoa(window)', '"W29iamVjdCBXaW5kb3dd"'); // "[object Window]"
27 shouldBe('window.btoa("éé")', '"6ek="'); 28 shouldBe('window.btoa("éé")', '"6ek="');
28 shouldBe('window.btoa("\\u0080\\u0081")', '"gIE="'); 29 shouldBe('window.btoa("\\u0080\\u0081")', '"gIE="');
29 shouldThrow('window.btoa("тест")'); 30 shouldThrow('window.btoa("тест")');
30 window.btoa = 0; 31 window.btoa = 0;
31 shouldBe('window.btoa', '0'); 32 shouldBe('window.btoa', '0');
32 shouldBe('typeof window.btoa', '"number"'); 33 shouldBe('typeof window.btoa', '"number"');
33 34
34 shouldBe('typeof window.atob', '"function"'); 35 shouldBe('typeof window.atob', '"function"');
35 shouldThrow('window.atob()', '"TypeError: Failed to execute \'atob\' on \'Window \': 1 argument required, but only 0 present."'); 36 shouldThrow('window.atob()', '"TypeError: Failed to execute \'atob\' on \'Window \': 1 argument required, but only 0 present."');
36 shouldBe('window.atob("")', '""'); 37 shouldBe('window.atob("")', '""');
37 shouldBe('window.atob(null)', '"\x9Eée"'); // Gets converted to "null" string. 38 shouldBe('window.atob(null)', '"\x9Eée"'); // Gets converted to "null" string.
38 shouldThrow('window.atob(undefined)'); 39 shouldThrow('window.atob(undefined)');
39 shouldThrow('window.atob(" YQ==")'); 40
40 shouldThrow('window.atob("YQ==\\u000a")'); 41 // HTML space characters in input.
42 shouldBe('window.atob(" YQ==")', '"a"');
tkent 2013/11/05 21:39:07 nit: You can avoid nested quotes by shouldBeEqualT
Inactive 2013/11/05 21:55:57 I know, I was too lazy to fix all of the pre-exist
43 shouldBe('window.atob("YQ== ")', '"a"');
44 shouldBe('window.atob("YQ== ")', '"a"');
45 shouldBe('window.atob("YQ==\\u000a")', '"a"');
46 shouldBe('window.atob("YQ ==")', '"a"');
47 shouldBe('window.atob("YQ\\t==")', '"a"');
48 shouldBe('window.atob("YQ\\n==")', '"a"');
49 shouldBe('window.atob("YQ\\f==")', '"a"');
50 shouldBe('window.atob("YQ\\r==")', '"a"');
51 shouldBe('window.atob("YQ\\t\\n\\f\\r ==")', '"a"');
52
41 shouldBe('window.atob("6ek=")', '"éé"'); 53 shouldBe('window.atob("6ek=")', '"éé"');
42 shouldBe('window.atob("6ek")', '"éé"'); 54 shouldBe('window.atob("6ek")', '"éé"');
43 shouldBe('window.atob("gIE=")', '"\u0080\u0081"'); 55 shouldBe('window.atob("gIE=")', '"\u0080\u0081"');
44 shouldThrow('window.atob("тест")'); 56 shouldThrow('window.atob("тест")');
45 shouldThrow('window.atob("z")'); 57 shouldThrow('window.atob("z")');
46 shouldBe('window.atob("zz")', '"Ï"'); 58 shouldBe('window.atob("zz")', '"Ï"');
47 shouldBe('window.atob("zzz")', '"Ï\u003C"'); 59 shouldBe('window.atob("zzz")', '"Ï\u003C"');
48 shouldBe('window.atob("zzz=")', '"Ï\u003C"'); 60 shouldBe('window.atob("zzz=")', '"Ï\u003C"');
49 shouldThrow('window.atob("zzz==")'); // excess pad characters. 61 shouldThrow('window.atob("zzz==")'); // excess pad characters.
50 shouldThrow('window.atob("zzz===")'); // excess pad characters. 62 shouldThrow('window.atob("zzz===")'); // excess pad characters.
51 shouldThrow('window.atob("zzz====")'); // excess pad characters. 63 shouldThrow('window.atob("zzz====")'); // excess pad characters.
52 shouldThrow('window.atob("zzz=====")'); // excess pad characters. 64 shouldThrow('window.atob("zzz=====")'); // excess pad characters.
53 shouldBe('window.atob("zzzz")', '"Ï\u003Có"'); 65 shouldBe('window.atob("zzzz")', '"Ï\u003Có"');
54 shouldThrow('window.atob("zzzzz")'); 66 shouldThrow('window.atob("zzzzz")');
55 shouldThrow('window.atob("z=zz")'); 67 shouldThrow('window.atob("z=zz")');
56 shouldThrow('window.atob("=")'); 68 shouldThrow('window.atob("=")');
57 shouldThrow('window.atob("==")'); 69 shouldThrow('window.atob("==")');
58 shouldThrow('window.atob("===")'); 70 shouldThrow('window.atob("===")');
59 shouldThrow('window.atob("====")'); 71 shouldThrow('window.atob("====")');
60 shouldThrow('window.atob("=====")'); 72 shouldThrow('window.atob("=====")');
61 window.atob = 0; 73 window.atob = 0;
62 shouldBe('window.atob', '0'); 74 shouldBe('window.atob', '0');
63 shouldBe('typeof window.atob', '"number"'); 75 shouldBe('typeof window.atob', '"number"');
64 76
65 </script> 77 </script>
66 </body> 78 </body>
67 </html> 79 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/dom/Window/atob-btoa-expected.txt » ('j') | Source/wtf/text/Base64.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698