PageRenderTime 60ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 1ms

/carrot-jdk6-jnlp-macosx/src/plugin/share/classes/sun/plugin2/test/liveconnect/mozillaTests/number-003.js

https://github.com/carrot-garden/carrot-jnlper
JavaScript | 180 lines | 125 code | 36 blank | 19 comment | 2 complexity | 5e3eb311827ad9fc97d33d4858c0e2e6 MD5 | raw file
  1. /**
  2. File Name: number-003.js
  3. Description:
  4. Tests certain numerical boundary values passed from Java to JavaScript
  5. and ensures they are passed correctly.
  6. @author kenneth.russell@sun.com
  7. @version 1.00
  8. */
  9. var SECTION = "LiveConnect";
  10. var VERSION = "1_3";
  11. var TITLE = "Java Number Primitive to JavaScript Object: Test #3";
  12. var HEADER = SECTION + " " + TITLE;
  13. var tc = 0;
  14. var testcasesI = new Array();
  15. startTest();
  16. writeHeaderToLog( HEADER );
  17. // In all test cases, the expected type is "object, and the expected
  18. // class is "Number"
  19. var E_TYPE = "number";
  20. // Create arrays of actual results (java_array) and expected results
  21. // (test_array).
  22. var java_array = new Array();
  23. var test_array = new Array();
  24. try {
  25. var i = 0;
  26. // Note that the parsing routines don't allow the high bit to be set,
  27. // so we have to use Long.valueOf() instead of Integer.valueOf() in some cases
  28. java_array[i] = new JavaValue( app.Packages.java.lang.Integer.valueOf('3FFFFFFF', 16).intValue() );
  29. test_array[i] = new TestValue( "app.Packages.java.lang.Integer.valueOf('3FFFFFFF', 16).intValue()",
  30. 1073741823 )
  31. i++;
  32. java_array[i] = new JavaValue( app.Packages.java.lang.Integer.valueOf('40000000', 16).intValue() );
  33. test_array[i] = new TestValue( "app.Packages.java.lang.Integer.valueOf('40000000', 16).intValue()",
  34. 1073741824 )
  35. i++;
  36. java_array[i] = new JavaValue( app.Packages.java.lang.Integer.valueOf('7FFFFFFF', 16).intValue() );
  37. test_array[i] = new TestValue( "app.Packages.java.lang.Integer.valueOf('7FFFFFFF', 16).intValue()",
  38. 2147483647 )
  39. i++;
  40. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('80000001', 16).intValue() );
  41. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('80000001', 16).intValue()",
  42. -2147483647 )
  43. i++;
  44. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('80000002', 16).intValue() );
  45. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('80000002', 16).intValue()",
  46. -2147483646 )
  47. i++;
  48. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('90000000', 16).intValue() );
  49. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('90000000', 16).intValue()",
  50. -1879048192 )
  51. i++;
  52. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('A0000000', 16).intValue() );
  53. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('A0000000', 16).intValue()",
  54. -1610612736 )
  55. i++;
  56. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('B0000000', 16).intValue() );
  57. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('B0000000', 16).intValue()",
  58. -1342177280 )
  59. i++;
  60. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('BFFFFFFF', 16).intValue() );
  61. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('BFFFFFFF', 16).intValue()",
  62. -1073741825 )
  63. i++;
  64. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('C0000000', 16).intValue() );
  65. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('C0000000', 16).intValue()",
  66. -1073741824 )
  67. i++;
  68. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('C0000001', 16).intValue() );
  69. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('C0000001', 16).intValue()",
  70. -1073741823 )
  71. i++;
  72. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('CFFFFFFF', 16).intValue() );
  73. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('CFFFFFFF', 16).intValue()",
  74. -805306369 )
  75. i++;
  76. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('D0000000', 16).intValue() );
  77. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('D0000000', 16).intValue()",
  78. -805306368 )
  79. i++;
  80. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('E0000000', 16).intValue() );
  81. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('E0000000', 16).intValue()",
  82. -536870912 )
  83. i++;
  84. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('F0000000', 16).intValue() );
  85. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('F0000000', 16).intValue()",
  86. -268435456 )
  87. i++;
  88. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('FE000000', 16).intValue() );
  89. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('FE000000', 16).intValue()",
  90. -33554432 )
  91. i++;
  92. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('FFFFFFF0', 16).intValue() );
  93. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('FFFFFFF0', 16).intValue()",
  94. -16 )
  95. i++;
  96. java_array[i] = new JavaValue( app.Packages.java.lang.Long.valueOf('FFFFFFFF', 16).intValue() );
  97. test_array[i] = new TestValue( "app.Packages.java.lang.Long.valueOf('FFFFFFFF', 16).intValue()",
  98. -1 )
  99. i++;
  100. for ( i = 0; i < java_array.length; i++ ) {
  101. CompareValues( java_array[i], test_array[i] );
  102. }
  103. test();
  104. } catch (e) {
  105. writeExceptionToLog(e);
  106. }
  107. function CompareValues( javaval, testval ) {
  108. // Check value
  109. testcasesI[testcasesI.length] = new TestCase( SECTION,
  110. testval.description,
  111. testval.value,
  112. javaval.value );
  113. // Check type.
  114. testcasesI[testcasesI.length] = new TestCase( SECTION,
  115. "typeof (" + testval.description +")",
  116. testval.type,
  117. javaval.type );
  118. }
  119. function JavaValue( value ) {
  120. this.value = value.valueOf();
  121. this.type = typeof value;
  122. return this;
  123. }
  124. function TestValue( description, value, type ) {
  125. this.description = description;
  126. this.value = value;
  127. this.type = E_TYPE;
  128. // this.classname = classname;
  129. return this;
  130. }
  131. function test() {
  132. for ( tc=0; tc < testcasesI.length; tc++ ) {
  133. testcasesI[tc].passed = writeTestCaseResult(
  134. testcasesI[tc].expect,
  135. testcasesI[tc].actual,
  136. testcasesI[tc].description +" = "+
  137. testcasesI[tc].actual );
  138. testcasesI[tc].reason += ( testcasesI[tc].passed ) ? "" : "wrong value ";
  139. }
  140. stopTest();
  141. return ( testcasesI );
  142. }