From 88643f14914b7b934be1b0b6099ca7e11fd9c433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 7 Sep 2017 21:03:12 +0200 Subject: [PATCH] Use valueOf Number to convert to Boolean issue6746 review37671002 --- src/pyson.js | 2 ++ tests/sao.js | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/pyson.js b/src/pyson.js index 266ec882bf..21ac3ac734 100644 --- a/src/pyson.js +++ b/src/pyson.js @@ -218,6 +218,8 @@ value.v.second() || value.v.millisecond()); } else if (moment.isDuration(value.v)) { return Boolean(value.v.valueOf()); + } else if (value.v instanceof Number) { + return Boolean(value.v.valueOf()); } else if (value.v instanceof Object) { return !jQuery.isEmptyObject(value.v); } else { diff --git a/tests/sao.js b/tests/sao.js index 6b00031245..194f90f5f9 100644 --- a/tests/sao.js +++ b/tests/sao.js @@ -173,6 +173,10 @@ .decode(eval_), false, "decode(Bool(Sao.TimeDelta()))"); QUnit.strictEqual(new Sao.PYSON.Decoder({value: Sao.TimeDelta(1)}) .decode(eval_), true, "decode(Bool(Sao.TimeDelta(1)))"); + QUnit.strictEqual(new Sao.PYSON.Decoder({value: new Sao.Decimal(0)}) + .decode(eval_), false, "decode(Bool(Sao.Decimal(0)))"); + QUnit.strictEqual(new Sao.PYSON.Decoder({value: new Sao.Decimal(1)}) + .decode(eval_), true, "decode(Bool(Sao.Decimal(1)))"); QUnit.strictEqual(new Sao.PYSON.Bool('test').toString(), "Bool(\"test\")");