From fbf2e4bfb1a53710fa1f93c5c91f68628b5f68e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 3 Jan 2022 22:49:47 +0100 Subject: [PATCH] Return default value when evaluating undefined value issue11089 review374511002 (grafted from 21cc9ddb278906609bbdee15aaa17d03422476e6) --HG-- branch : 6.0 --- src/pyson.js | 2 +- tests/sao.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pyson.js b/src/pyson.js index f775c98dbf..43aad4f2bd 100644 --- a/src/pyson.js +++ b/src/pyson.js @@ -179,7 +179,7 @@ 'd': value.d, }, context[value.v.substring(0, idx)] || {}); } - if (value.v in context) { + if ((value.v in context) && (context[value.v] !== undefined)) { return context[value.v]; } else { return value.d; diff --git a/tests/sao.js b/tests/sao.js index 5f587b7718..98a358ab96 100644 --- a/tests/sao.js +++ b/tests/sao.js @@ -102,6 +102,9 @@ "decode(Eval('test', 0))"); QUnit.strictEqual(new Sao.PYSON.Decoder().decode(eval_), 0, "decode(Eval('test', 0))"); + QUnit.strictEqual( + new Sao.PYSON.Decoder({test: undefined}).decode(eval_), 0, + "decode(Eval('test', 0))"); }); QUnit.test('PYSON Not', function() {