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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/html/infrastructure/common-dom-interfaces/collections/domstringlist.html

Issue 2634323002: Import wpt@aae3e1b6ffb8b24acb777450933ceeafd97e3655 (Closed)
Patch Set: Modify TestExpectations or download new baselines for tests. Created 3 years, 11 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
OLDNEW
(Empty)
1 <!doctype html>
2 <title>DOMStringList</title>
3 <script src="/resources/testharness.js"></script>
4 <script src="/resources/testharnessreport.js"></script>
5 <script>
6
7 // Returns a promise that resolves to a DOMStringList with
8 // the requested entries. Relies on Indexed DB.
9 function createDOMStringList(entries) {
10 return new Promise((resolve, reject) => {
11 const dbname = String(self.location + Math.random());
12 const request = indexedDB.open(dbname);
13 request.onerror = () => reject(request.error);
14 request.onupgradeneeded = () => {
15 const db = request.result;
16 entries.forEach(entry => db.createObjectStore(entry));
17 const dsl = db.objectStoreNames;
18 resolve(dsl);
19 request.transaction.abort();
20 }
21 });
22 }
23
24 function dsl_test(entries, func, description) {
25 promise_test(t => createDOMStringList(entries).then(dsl => func(t, dsl)),
26 description);
27 }
28
29 dsl_test(['a', 'b', 'c'], (t, dsl) => {
30 assert_equals(dsl.length, 3, 'length attribute');
31 }, 'DOMStringList: length attribute');
32
33 dsl_test(['a', 'b', 'c'], (t, dsl) => {
34 assert_equals(dsl.item(0), 'a', 'item method');
35 assert_equals(dsl.item(1), 'b', 'item method');
36 assert_equals(dsl.item(2), 'c', 'item method');
37 assert_equals(dsl.item(3), null, 'item method out of range');
38 assert_equals(dsl.item(-1), null, 'item method out of range');
39 assert_throws(TypeError(), () => dsl.item(),
40 'item method should throw if called without enough args');
41 }, 'DOMStringList: item() method');
42
43 dsl_test(['a', 'b', 'c'], (t, dsl) => {
44 assert_equals(dsl[0], 'a', 'indexed getter');
45 assert_equals(dsl[1], 'b', 'indexed getter');
46 assert_equals(dsl[2], 'c', 'indexed getter');
47 assert_equals(dsl[3], undefined, 'indexed getter out of range');
48 assert_equals(dsl[-1], undefined, 'indexed getter out of range');
49 }, 'DOMStringList: indexed getter');
50
51 dsl_test(['a', 'b', 'c'], (t, dsl) => {
52 assert_true(dsl.contains('a'), 'contains method matched');
53 assert_true(dsl.contains('b'), 'contains method matched');
54 assert_true(dsl.contains('c'), 'contains method matched');
55 assert_false(dsl.contains(''), 'contains method unmatched');
56 assert_false(dsl.contains('d'), 'contains method unmatched');
57 assert_throws(TypeError(), () => dsl.contains(),
58 'contains method should throw if called without enough args');
59 }, 'DOMStringList: contains() method');
60
61 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698