Hello community, here is the log from the commit of package kjs for openSUSE:Factory checked in at 2020-01-14 21:02:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kjs (Old) and /work/SRC/openSUSE:Factory/.kjs.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjs" Tue Jan 14 21:02:36 2020 rev:74 rq:763472 version:5.66.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kjs/kjs.changes 2019-12-18 14:43:01.209793213 +0100 +++ /work/SRC/openSUSE:Factory/.kjs.new.6675/kjs.changes 2020-01-14 21:05:15.554706654 +0100 @@ -1,0 +2,13 @@ +Sun Jan 5 09:15:36 UTC 2020 - Christophe Giboudeaux <[email protected]> + +- Update to 5.66.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.66.0.php +- Changes since 5.65.0: + * Update the obsolete projects.kde.org URL + * Added tests for Math.exp() + * Added tests for various assignment operators. + * Test special cases of multiplicate operators (*, / and %). + +------------------------------------------------------------------- Old: ---- kjs-5.65.0.tar.xz kjs-5.65.0.tar.xz.sig New: ---- kjs-5.66.0.tar.xz kjs-5.66.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjs.spec ++++++ --- /var/tmp/diff_new_pack.CIezn7/_old 2020-01-14 21:05:16.646707159 +0100 +++ /var/tmp/diff_new_pack.CIezn7/_new 2020-01-14 21:05:16.646707159 +0100 @@ -1,7 +1,7 @@ # # spec file for package kjs # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,14 @@ %define sonum 5 -%define _tar_path 5.65 +%define _tar_path 5.66 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kjs -Version: 5.65.0 +Version: 5.66.0 Release: 0 Summary: KDE Javascript engine License: LGPL-2.1-or-later ++++++ kjs-5.65.0.tar.xz -> kjs-5.66.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.65.0/CMakeLists.txt new/kjs-5.66.0/CMakeLists.txt --- old/kjs-5.65.0/CMakeLists.txt 2019-12-07 22:45:33.000000000 +0100 +++ new/kjs-5.66.0/CMakeLists.txt 2020-01-04 11:10:32.000000000 +0100 @@ -1,15 +1,15 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.65.0") # handled by release scripts +set(KF5_VERSION "5.66.0") # handled by release scripts project(KJS VERSION ${KF5_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.65.0 NO_MODULE) -set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") +find_package(ECM 5.66.0 NO_MODULE) +set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) include(GenerateExportHeader) @@ -30,7 +30,7 @@ # Most of KJS doesn't even require Qt, thus we can't use override string(REPLACE "-Wsuggest-override" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -set(REQUIRED_QT_VERSION 5.11.0) +set(REQUIRED_QT_VERSION 5.12.0) find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) find_package(Perl) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.65.0/tests/math.js new/kjs-5.66.0/tests/math.js --- old/kjs-5.65.0/tests/math.js 2019-12-07 22:45:33.000000000 +0100 +++ new/kjs-5.66.0/tests/math.js 2020-01-04 11:10:32.000000000 +0100 @@ -5,6 +5,11 @@ return n == 0 && 1 / n < 0; } +function isPositiveZero(n) +{ + return n == 0 && 1 / n > 0; +} + // self tests shouldBeTrue("isNegativeZero(negativeZero)"); shouldBeFalse("isNegativeZero(0)"); @@ -30,6 +35,12 @@ shouldBe("Math.ceil(1.1)", "2"); shouldBe("String()+Math.sqrt(2)", "String()+Math.SQRT2"); shouldBe("Math.ceil(1.6)", "2"); +shouldBe("Math.round(Math.exp(3))", "20"); +shouldBeTrue("isNaN(Math.exp(NaN))"); +shouldBe("Math.exp(+0)", "1"); +shouldBe("Math.exp(-0)", "1"); +shouldBeFalse("isFinite(Math.exp(Infinity))"); +shouldBeTrue("isPositiveZero(Math.exp(-Infinity))"); shouldBe("Math.round(0)", "0"); shouldBeFalse("isNegativeZero(Math.round(0))"); shouldBeTrue("isNegativeZero(Math.round(negativeZero))"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.65.0/tests/operators.js new/kjs-5.66.0/tests/operators.js --- old/kjs-5.65.0/tests/operators.js 2019-12-07 22:45:33.000000000 +0100 +++ new/kjs-5.66.0/tests/operators.js 2020-01-04 11:10:32.000000000 +0100 @@ -1,3 +1,8 @@ +function isNegativeZero(n) +{ + return n == 0 && 1 / n < 0; +} + // operator ! shouldBeTrue("!undefined"); shouldBeTrue("!null"); @@ -93,10 +98,17 @@ shouldBe("2 * 3", "6"); shouldBe("true * 3", "3"); shouldBe("2 * '3'", "6"); +shouldBeTrue("isNaN(NaN * 2)"); +shouldBeTrue("isNaN(2 * NaN)"); +shouldBeTrue("isNaN(NaN * NaN)"); +shouldBeTrue("isNaN(Infinity * 0)"); +shouldBe("Infinity * Infinity", "Infinity"); +shouldBe("Infinity * 1", "Infinity"); +shouldBe("Infinity * -1", "-Infinity"); // division shouldBe("6 / 4", "1.5"); -//shouldBe("true / false", "Inf"); +shouldBe("true / false", "Infinity"); shouldBe("'6' / '2'", "3"); shouldBeTrue("isNaN('x' / 1)"); shouldBeTrue("isNaN(1 / NaN)"); @@ -106,16 +118,28 @@ shouldBe("Infinity / 1", "Infinity"); shouldBe("-Infinity / 1", "-Infinity"); shouldBeTrue("1 / Infinity == +0"); -shouldBeTrue("1 / -Infinity == -0"); // how to check ? +shouldBeTrue("isNegativeZero(1 / -Infinity)"); shouldBeTrue("isNaN(0/0)"); shouldBeTrue("0 / 1 === 0"); -shouldBeTrue("0 / -1 === -0"); // how to check ? +shouldBeTrue("isNegativeZero(0 / -1)"); shouldBe("1 / 0", "Infinity"); shouldBe("-1 / 0", "-Infinity"); // modulo shouldBe("6 % 4", "2"); shouldBe("'-6' % 4", "-2"); +shouldBe("6 % -4", "2"); +shouldBe("6 % 1.5", "0"); +shouldBe("6.5 % 4", "2.5"); +shouldBeTrue("isNaN(6 % NaN)"); +shouldBeTrue("isNaN(NaN % 2)"); +shouldBeTrue("isNaN(NaN % NaN)"); +shouldBeTrue("isNaN(Infinity % 2)"); +shouldBeTrue("isNaN(6 % 0)"); +shouldBeTrue("isNaN(Infinity % 0)"); +shouldBe("6 % Infinity", "6"); +shouldBe("0 % 1", "0"); +shouldBeTrue("isNegativeZero(-0 % 1)"); shouldBe("2==2", "true"); shouldBe("1==2", "false"); @@ -199,7 +223,7 @@ // strict comparison === shouldBe("0 === false", "false"); -//shouldBe("undefined === undefined", "true"); // aborts in IE5 (undefined is not defined ;) +shouldBe("undefined === undefined", "true"); shouldBe("null === null", "true"); shouldBe("NaN === NaN", "false"); shouldBe("0.0 === 0", "true"); @@ -274,5 +298,16 @@ shouldBe("0 == true", "false"); shouldBe("1 == true", "true"); +shouldBe("var i = 1; i += 1", "2"); +shouldBe("var i = 1; i -= 1", "0"); +shouldBe("var i = 2; i *= 3", "6"); +shouldBe("var i = 3; i /= 2", "1.5"); +shouldBe("var i = 7; i %= 3", "1"); +shouldBe("var i = 7; i <<= 1", "14"); +shouldBe("var i = 8; i >>= 1", "4"); +shouldBe("var i = -8; i >>>= 24", "255"); +shouldBe("var i = 3; i &= 5", "1"); +shouldBe("var i = 3; i |= 5", "7"); +shouldBe("var i = 3; i ^= 5", "6"); debug("Done.");
