LCOV - code coverage report
Current view: top level - test/cctest - test-representation.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 19 19 100.0 %
Date: 2019-04-17 Functions: 5 5 100.0 %

          Line data    Source code
       1             : // Copyright 2013 the V8 project authors. All rights reserved.
       2             : // Redistribution and use in source and binary forms, with or without
       3             : // modification, are permitted provided that the following conditions are
       4             : // met:
       5             : //
       6             : //     * Redistributions of source code must retain the above copyright
       7             : //       notice, this list of conditions and the following disclaimer.
       8             : //     * Redistributions in binary form must reproduce the above
       9             : //       copyright notice, this list of conditions and the following
      10             : //       disclaimer in the documentation and/or other materials provided
      11             : //       with the distribution.
      12             : //     * Neither the name of Google Inc. nor the names of its
      13             : //       contributors may be used to endorse or promote products derived
      14             : //       from this software without specific prior written permission.
      15             : //
      16             : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
      17             : // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
      18             : // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
      19             : // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
      20             : // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
      21             : // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      22             : // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
      23             : // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
      24             : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
      25             : // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
      26             : // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      27             : 
      28             : #include "test/cctest/cctest.h"
      29             : 
      30             : #include "src/property-details.h"
      31             : 
      32             : namespace v8 {
      33             : namespace internal {
      34             : 
      35          30 : void TestPairPositive(Representation more_general,
      36             :               Representation less_general) {
      37          30 :   CHECK(more_general.is_more_general_than(less_general));
      38          30 : }
      39             : 
      40             : 
      41          20 : void TestPairNegative(Representation more_general,
      42             :               Representation less_general) {
      43          20 :   CHECK(!more_general.is_more_general_than(less_general));
      44          20 : }
      45             : 
      46             : 
      47       26644 : TEST(RepresentationMoreGeneralThan) {
      48           5 :   TestPairNegative(Representation::None(), Representation::None());
      49           5 :   TestPairPositive(Representation::Smi(), Representation::None());
      50           5 :   TestPairPositive(Representation::HeapObject(), Representation::None());
      51           5 :   TestPairPositive(Representation::Double(), Representation::None());
      52           5 :   TestPairPositive(Representation::Tagged(), Representation::None());
      53             : 
      54           5 :   TestPairNegative(Representation::None(), Representation::Smi());
      55           5 :   TestPairNegative(Representation::Smi(), Representation::Smi());
      56           5 :   TestPairNegative(Representation::HeapObject(), Representation::Smi());
      57           5 :   TestPairPositive(Representation::Double(), Representation::Smi());
      58           5 :   TestPairPositive(Representation::Tagged(), Representation::Smi());
      59           5 : }
      60             : 
      61             : }  // namespace internal
      62       79917 : }  // namespace v8

Generated by: LCOV version 1.10