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

Unified Diff: test/mjsunit/harmony/collections.js

Issue 8372027: Implement Harmony sets and maps. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/harmony/collections.js
diff --git a/test/mjsunit/harmony/proxies-hash.js b/test/mjsunit/harmony/collections.js
similarity index 62%
copy from test/mjsunit/harmony/proxies-hash.js
copy to test/mjsunit/harmony/collections.js
index 2bf1830134d2b0f73ed6e25c68643190af2a3ae1..e400dafaacda79db69f24848b0e8dc6e7a0b0e23 100644
--- a/test/mjsunit/harmony/proxies-hash.js
+++ b/test/mjsunit/harmony/collections.js
@@ -25,42 +25,39 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --harmony-proxies --harmony-weakmaps
+// Flags: --harmony-collections --expose-gc
-// Helper.
-
-function TestWithProxies(test, handler) {
- test(handler, Proxy.create)
- test(handler, function(h) {return Proxy.createFunction(h, function() {})})
+// Test expected set behavior
+function TestSetBehavior(set, key) {
+ assertFalse(set.has(key));
+ set.add(key);
+ assertTrue(set.has(key));
+ set.delete(key);
+ assertFalse(set.has(key));
}
-
-
-// Weak maps.
-
-function TestWeakMap(fix) {
- TestWithProxies(TestWeakMap2, fix)
+function TestSet(set) {
+ for (i = 0; i < 20; i++) {
+ TestSetBehavior(set, new Object);
+ }
}
-
-function TestWeakMap2(fix, create) {
- var handler = {fix: function() { return {} }}
- var p1 = create(handler)
- var p2 = create(handler)
- var p3 = create(handler)
- fix(p3)
-
- var m = new WeakMap
- m.set(p1, 123);
- m.set(p2, 321);
- assertSame(123, m.get(p1));
- assertSame(321, m.get(p2));
-
- fix(p1)
- fix(p2)
- assertSame(123, m.get(p1));
- assertSame(321, m.get(p2));
-}
-
-TestWeakMap(Object.seal)
-TestWeakMap(Object.freeze)
-TestWeakMap(Object.preventExtensions)
+TestSetBehavior(new Set, 23);
+TestSetBehavior(new Set, 'foo');
+TestSet(new Set);
+
+
+//Test some common JavaScript idioms for Sets
+var s = new Set;
+assertTrue(s instanceof Set);
+assertTrue(Set.prototype.add instanceof Function)
+assertTrue(Set.prototype.has instanceof Function)
+assertTrue(Set.prototype.delete instanceof Function)
+
+
+// Test some common JavaScript idioms for Maps
+var m = new Map;
+assertTrue(m instanceof Map);
+assertTrue(Map.prototype.set instanceof Function)
+assertTrue(Map.prototype.get instanceof Function)
+assertTrue(Map.prototype.has instanceof Function)
+assertTrue(Map.prototype.delete instanceof Function)
rossberg 2011/10/24 15:44:11 I don't see any proper test cases for maps (especi
Michael Starzinger 2011/10/25 11:17:26 Done.

Powered by Google App Engine
This is Rietveld 408576698