LCOV - code coverage report
Current view: top level - shared_model/utils - string_builder.cpp (source / functions) Hit Total Coverage
Test: cleared_cor.info Lines: 20 20 100.0 %
Date: 2019-03-07 14:46:43 Functions: 12 12 100.0 %

          Line data    Source code
       1             : /**
       2             :  * Copyright Soramitsu Co., Ltd. All Rights Reserved.
       3             :  * SPDX-License-Identifier: Apache-2.0
       4             :  */
       5             : 
       6             : #include "utils/string_builder.hpp"
       7             : 
       8             : namespace shared_model {
       9             :   namespace detail {
      10             : 
      11             :     const std::string PrettyStringBuilder::beginBlockMarker = "[";
      12             :     const std::string PrettyStringBuilder::endBlockMarker = "]";
      13             :     const std::string PrettyStringBuilder::keyValueSeparator = "=";
      14             :     const std::string PrettyStringBuilder::singleFieldsSeparator = ",";
      15             :     const std::string PrettyStringBuilder::initSeparator = ":";
      16             :     const std::string PrettyStringBuilder::spaceSeparator = " ";
      17             : 
      18             :     PrettyStringBuilder &PrettyStringBuilder::init(const std::string &name) {
      19       43219 :       result_.append(name);
      20       43219 :       result_.append(initSeparator);
      21       43219 :       result_.append(spaceSeparator);
      22       43219 :       result_.append(beginBlockMarker);
      23       43219 :       return *this;
      24             :     }
      25             : 
      26             :     PrettyStringBuilder &PrettyStringBuilder::insertLevel() {
      27         952 :       result_.append(beginBlockMarker);
      28         952 :       return *this;
      29             :     }
      30             : 
      31             :     PrettyStringBuilder &PrettyStringBuilder::removeLevel() {
      32         953 :       result_.append(endBlockMarker);
      33         953 :       return *this;
      34             :     }
      35             : 
      36             :     PrettyStringBuilder &PrettyStringBuilder::append(const std::string &name,
      37             :                                                      const std::string &value) {
      38       72618 :       result_.append(name);
      39       72618 :       result_.append(keyValueSeparator);
      40       72618 :       result_.append(value);
      41       72618 :       result_.append(singleFieldsSeparator);
      42       72618 :       result_.append(spaceSeparator);
      43       72618 :       return *this;
      44             :     }
      45             : 
      46             :     PrettyStringBuilder &PrettyStringBuilder::append(const std::string &value) {
      47       13470 :       result_.append(value);
      48       13470 :       result_.append(spaceSeparator);
      49       13470 :       return *this;
      50             :     }
      51             : 
      52             :     std::string PrettyStringBuilder::finalize() {
      53       43255 :       result_.append(endBlockMarker);
      54       43255 :       return result_;
      55             :     }
      56             : 
      57             :   }  // namespace detail
      58             : }  // namespace shared_model

Generated by: LCOV version 1.13