mirror of https://github.com/lukechilds/node.git
Ryan Dahl
15 years ago
54 changed files with 1486 additions and 347 deletions
@ -0,0 +1,56 @@ |
|||
// Copyright 2010 the V8 project authors. All rights reserved.
|
|||
// Redistribution and use in source and binary forms, with or without
|
|||
// modification, are permitted provided that the following conditions are
|
|||
// met:
|
|||
//
|
|||
// * Redistributions of source code must retain the above copyright
|
|||
// notice, this list of conditions and the following disclaimer.
|
|||
// * Redistributions in binary form must reproduce the above
|
|||
// copyright notice, this list of conditions and the following
|
|||
// disclaimer in the documentation and/or other materials provided
|
|||
// with the distribution.
|
|||
// * Neither the name of Google Inc. nor the names of its
|
|||
// contributors may be used to endorse or promote products derived
|
|||
// from this software without specific prior written permission.
|
|||
//
|
|||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
|
|||
|
|||
#include "cctest.h" |
|||
#include "type-info.h" |
|||
|
|||
namespace v8 { |
|||
namespace internal { |
|||
|
|||
TEST(ThreeBitRepresentation) { |
|||
// Numeric types and unknown should fit into the short
|
|||
// representation.
|
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::Unknown().ThreeBitRepresentation()).IsUnknown()); |
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::Number().ThreeBitRepresentation()).IsNumber()); |
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::Integer32().ThreeBitRepresentation()).IsInteger32()); |
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::Smi().ThreeBitRepresentation()).IsSmi()); |
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::Double().ThreeBitRepresentation()).IsDouble()); |
|||
|
|||
// Other types should map to unknown.
|
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::Primitive().ThreeBitRepresentation()).IsUnknown()); |
|||
CHECK(TypeInfo::ExpandedRepresentation( |
|||
TypeInfo::String().ThreeBitRepresentation()).IsUnknown()); |
|||
} |
|||
|
|||
} } // namespace v8::internal
|
@ -0,0 +1,53 @@ |
|||
// Copyright 2010 the V8 project authors. All rights reserved.
|
|||
// Redistribution and use in source and binary forms, with or without
|
|||
// modification, are permitted provided that the following conditions are
|
|||
// met:
|
|||
//
|
|||
// * Redistributions of source code must retain the above copyright
|
|||
// notice, this list of conditions and the following disclaimer.
|
|||
// * Redistributions in binary form must reproduce the above
|
|||
// copyright notice, this list of conditions and the following
|
|||
// disclaimer in the documentation and/or other materials provided
|
|||
// with the distribution.
|
|||
// * Neither the name of Google Inc. nor the names of its
|
|||
// contributors may be used to endorse or promote products derived
|
|||
// from this software without specific prior written permission.
|
|||
//
|
|||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
|
|||
function foo() { |
|||
for (var i = 1; i < 100; i++) { |
|||
var answer = 1; |
|||
for (var j = 1; j < 100; j++) { |
|||
if (answer == i) answer = 0; |
|||
// Positive case.
|
|||
print(j + " % " + i + " = " + answer); |
|||
m = j % i; |
|||
assertEquals(answer, m, j + " % " + i); |
|||
m = j % (-i); |
|||
assertEquals(answer, m, j + " % -" + i); |
|||
// Negative case.
|
|||
m = (-j) % i; |
|||
assertEquals(-answer, m, j + " % " + i); |
|||
// Check for negative zero.
|
|||
if (answer == 0) assertEquals(-Infinity, 1/m); |
|||
m = (-j) % (-i); |
|||
assertEquals(-answer, m, j + " % -" + i); |
|||
// Check for negative zero.
|
|||
if (answer == 0) assertEquals(-Infinity, 1/m); |
|||
answer++; |
|||
} |
|||
} |
|||
} |
|||
|
|||
foo(); |
@ -0,0 +1,36 @@ |
|||
// Copyright 2010 the V8 project authors. All rights reserved.
|
|||
// Redistribution and use in source and binary forms, with or without
|
|||
// modification, are permitted provided that the following conditions are
|
|||
// met:
|
|||
//
|
|||
// * Redistributions of source code must retain the above copyright
|
|||
// notice, this list of conditions and the following disclaimer.
|
|||
// * Redistributions in binary form must reproduce the above
|
|||
// copyright notice, this list of conditions and the following
|
|||
// disclaimer in the documentation and/or other materials provided
|
|||
// with the distribution.
|
|||
// * Neither the name of Google Inc. nor the names of its
|
|||
// contributors may be used to endorse or promote products derived
|
|||
// from this software without specific prior written permission.
|
|||
//
|
|||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
|
|||
// Test that JSON.stringify correctly truncates floating point numbers.
|
|||
// This test is based on chapter15/15.12/15.12.3/15.12.3-6-a-2.js in the
|
|||
// ES5 conformance tests.
|
|||
|
|||
// See: http://code.google.com/p/v8/issues/detail?id=753
|
|||
|
|||
var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; |
|||
assertEquals(JSON.stringify(obj,null, 5.99999), JSON.stringify(obj,null, 5)); |
|||
|
Loading…
Reference in new issue