Revision: 4154 http://vexi.svn.sourceforge.net/vexi/?rev=4154&view=rev Author: mkpg2 Date: 2011-05-27 02:22:21 +0000 (Fri, 27 May 2011)
Log Message: ----------- Fix. Catch divide by zero (and return null). Modified Paths: -------------- trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDecimal.jpp trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/TestDecimal.java Added Paths: ----------- trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/nan.js Modified: trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDecimal.jpp =================================================================== --- trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDecimal.jpp 2011-05-27 02:20:38 UTC (rev 4153) +++ trunk/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDecimal.jpp 2011-05-27 02:22:21 UTC (rev 4154) @@ -124,7 +124,12 @@ //#switch(methodStr) case "add": return new JSDecimal(a.add(b)); case "compare": return JSU.N(a.compareTo(b)); - case "divide": return new JSDecimal(a.divide(b, a.scale(), RoundingMode.HALF_UP)); + case "divide": + try{ + return new JSDecimal(a.divide(b, a.scale(), RoundingMode.HALF_UP)); + }catch(java.lang.ArithmeticException e){ + return null; + } case "max": return new JSDecimal(a.max(b)); case "min": return new JSDecimal(a.min(b)); case "multiply": return new JSDecimal(a.multiply(b)); Modified: trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/TestDecimal.java =================================================================== --- trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/TestDecimal.java 2011-05-27 02:20:38 UTC (rev 4153) +++ trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/TestDecimal.java 2011-05-27 02:22:21 UTC (rev 4154) @@ -11,7 +11,7 @@ public static void main(String[] args) throws Throwable { JSTestSuite jts = new JSTestSuite(TestDecimal.class); - String SCRIPT = "methods.js"; + String SCRIPT = "nan.js"; //String SCRIPT = "testNumber2String.js"; TestCase t = jts.createTestCase(jts.getResourceDirs(), SCRIPT); t.runBare(); Added: trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/nan.js =================================================================== --- trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/nan.js (rev 0) +++ trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/nan.js 2011-05-27 02:22:21 UTC (rev 4154) @@ -0,0 +1,6 @@ +sys.import("lib"); + +const Decimal = sys.js.Decimal; + + +assertEquals(null, Decimal.divide(123,0)); \ No newline at end of file Property changes on: trunk/org.vexi-library.js/src/test/java/test/js/exec/decimal/nan.js ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn