diff options
author | hansmuller <hansmuller@chromium.org> | 2014-10-16 15:21:26 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-16 22:21:38 +0000 |
commit | d1fd54c8da40c9e7c1e7821259c39af947529f77 (patch) | |
tree | e30c78f2fbd1c11562e8a5b656c0c3d89ae380d1 /gin | |
parent | d8ee1714ece7a563f981813381610fd37c37444e (diff) | |
download | chromium_src-d1fd54c8da40c9e7c1e7821259c39af947529f77.zip chromium_src-d1fd54c8da40c9e7c1e7821259c39af947529f77.tar.gz chromium_src-d1fd54c8da40c9e7c1e7821259c39af947529f77.tar.bz2 |
Mojo JS Bindings: add support for associative arrays (Mojo map type)
Currently there's only a limited test for the new type. More complete testing to come in a followup patch.
BUG=423017
Review URL: https://codereview.chromium.org/654843005
Cr-Commit-Position: refs/heads/master@{#299992}
Diffstat (limited to 'gin')
-rw-r--r-- | gin/test/expect.js | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gin/test/expect.js b/gin/test/expect.js index b5e0f21..597b5b1 100644 --- a/gin/test/expect.js +++ b/gin/test/expect.js @@ -82,7 +82,7 @@ define(function() { aStack.push(a); bStack.push(b); var size = 0, result = true; - // Recursively compare objects and arrays. + // Recursively compare Maps, objects and arrays. if (className == '[object Array]' || isArrayBufferClass(className)) { // Compare array lengths to determine if a deep comparison is necessary. size = a.length; @@ -94,6 +94,16 @@ define(function() { break; } } + } else if (className == '[object Map]') { + result = a.size == b.size; + if (result) { + var entries = a.entries(); + for (var e = entries.next(); result && !e.done; e = entries.next()) { + var key = e.value[0]; + var value = e.value[1]; + result = b.has(key) && eq(value, b.get(key), aStack, bStack); + } + } } else { // Deep compare objects. for (var key in a) { |