michael@0: michael@0: var cases = [ michael@0: function (obj) { michael@0: return obj["ab"]; michael@0: }, michael@0: function (obj) { michael@0: return obj["a" + "b"]; michael@0: }, michael@0: function (obj) { michael@0: return obj[0 ? "cd" : "ab"]; michael@0: }, michael@0: function (obj) { michael@0: return obj[true ? "ab" : "cd"]; michael@0: }, michael@0: function (obj) { michael@0: return obj[(1 + 0) ? "ab" : "cd"]; michael@0: } michael@0: ] michael@0: michael@0: for (var i = 0; i < cases.length; i++) { michael@0: assertEq(cases[i]({ab: 42}), 42); michael@0: assertEq(cases[i]({cd: 120}), undefined); michael@0: }