// WeakMap should throw if argument is not iterable object.

load(libdir + "asserts.js");
load(libdir + "iteration.js");

var non_iterable1 = {};
non_iterable1[Symbol.iterator] = {};
assertThrowsInstanceOf(() => new WeakMap(non_iterable1), TypeError);

var non_iterable2 = {};
non_iterable2[Symbol.iterator] = function() {
};
assertThrowsInstanceOf(() => new WeakMap(non_iterable2), TypeError);