LCOV - code coverage report
Current view: top level - src/test - script_p2pk_tests.cpp (source / functions) Hit Total Coverage
Test: test_dash_coverage.info Lines: 10 10 100.0 %
Date: 2026-06-25 07:23:51 Functions: 10 10 100.0 %

          Line data    Source code
       1             : // Copyright (c) 2018-2022 The Dash Core developers
       2             : // Distributed under the MIT software license, see the accompanying
       3             : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
       4             : 
       5             : #include <script/script.h>
       6             : #include <test/util/setup_common.h>
       7             : 
       8             : #include <boost/test/unit_test.hpp>
       9             : 
      10         146 : BOOST_FIXTURE_TEST_SUITE(script_p2pk_tests, BasicTestingSetup)
      11             : 
      12         149 : BOOST_AUTO_TEST_CASE(IsPayToPublicKey)
      13             : {
      14             :     // Test CScript::IsPayToPublicKey()
      15             :     static const unsigned char p2pkcompressedeven[] = {
      16             :             0x41, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, OP_CHECKSIG
      17             :     };
      18           1 :     BOOST_CHECK(CScript(p2pkcompressedeven, p2pkcompressedeven+sizeof(p2pkcompressedeven)).IsPayToPublicKey());
      19             : 
      20             :     static const unsigned char p2pkcompressedodd[] = {
      21             :             0x41, 0x03, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, OP_CHECKSIG
      22             :     };
      23           1 :     BOOST_CHECK(CScript(p2pkcompressedodd, p2pkcompressedodd+sizeof(p2pkcompressedodd)).IsPayToPublicKey());
      24             : 
      25             :     static const unsigned char p2pkuncompressed[] = {
      26             :             0x41, 0x04, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      27             :             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, OP_CHECKSIG
      28             :     };
      29           1 :     BOOST_CHECK(CScript(p2pkuncompressed, p2pkuncompressed+sizeof(p2pkuncompressed)).IsPayToPublicKey());
      30             : 
      31             :     static const unsigned char missingop[] = {
      32             :             0x41, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
      33             :     };
      34           1 :     BOOST_CHECK(!CScript(missingop, missingop+sizeof(missingop)).IsPayToPublicKey());
      35             : 
      36             :     static const unsigned char wrongop[] = {
      37             :             0x41, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, OP_EQUALVERIFY
      38             :     };
      39           1 :     BOOST_CHECK(!CScript(wrongop, wrongop+sizeof(wrongop)).IsPayToPublicKey());
      40             : 
      41             :     static const unsigned char tooshort[] = {
      42             :             0x41, 0x02, 0, 0, OP_CHECKSIG
      43             :     };
      44           1 :     BOOST_CHECK(!CScript(tooshort, tooshort+sizeof(tooshort)).IsPayToPublicKey());
      45             : 
      46           1 : }
      47             : 
      48         146 : BOOST_AUTO_TEST_SUITE_END()

Generated by: LCOV version 1.16