Commit b04f6f26 authored by jan.koester's avatar jan.koester
Browse files

test

parent 9d8ab033
Loading
Loading
Loading
Loading
+28 −18
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ libhtmlpp::HtmlString::HtmlString(char str) : HtmlString(){
}

libhtmlpp::HtmlString::HtmlString(const std::string& str) : HtmlString(){
    std::copy(str.begin(),str.cend(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
    std::copy(str.begin(),str.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
}

libhtmlpp::HtmlString::~HtmlString(){
@@ -110,7 +110,7 @@ libhtmlpp::HtmlString::~HtmlString(){
}

libhtmlpp::HtmlString::HtmlString(const libhtmlpp::HtmlString& str) : HtmlString() {
    std::copy(str._Data.begin(),str._Data.cend(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
    std::copy(str._Data.begin(),str._Data.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
}

void libhtmlpp::HtmlString::push_back(const char src){
@@ -118,7 +118,9 @@ void libhtmlpp::HtmlString::push_back(const char src){
}

void libhtmlpp::HtmlString::append(const std::string& src) {
    std::copy(src.begin(),src.cend(),std::back_inserter(_Data));
    if(src.empty())
        return;
    std::copy(src.begin(),src.end(),std::back_inserter(_Data));
}

void libhtmlpp::HtmlString::append(libhtmlpp::HtmlString& hstring) {
@@ -155,13 +157,13 @@ libhtmlpp::HtmlString & libhtmlpp::HtmlString::operator+=(libhtmlpp::HtmlString&

libhtmlpp::HtmlString & libhtmlpp::HtmlString::operator=(const std::string &src){
    clear();
    std::copy(src.begin(),src.cend(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
    std::copy(src.begin(),src.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
    return *this;
}

libhtmlpp::HtmlString& libhtmlpp::HtmlString::operator=(const libhtmlpp::HtmlString& src){
    clear();
    std::copy(src._Data.begin(),src._Data.cend(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
    std::copy(src._Data.begin(),src._Data.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
    return *this;
}

@@ -220,9 +222,17 @@ size_t libhtmlpp::HtmlString::size() const{
}

const std::string libhtmlpp::HtmlString::str(){
    _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end());
    _Data.push_back('\0');
    return std::string(_Data.begin(),_Data.end());
}

const char *libhtmlpp::HtmlString::c_str(){
    _Data.erase(std::remove(_Data.begin(), _Data.end(), '\0'), _Data.end());
    _Data.push_back('\0');
    return _Data.data();
}

const std::vector<char>& libhtmlpp::HtmlString::data() {
	return _Data;
}
@@ -582,7 +592,7 @@ void libhtmlpp::HtmlEncode(const std::string &input, HtmlString* output){


libhtmlpp::HtmlElement::HtmlElement(const std::string &tagname) : HtmlElement(){
    std::copy(tagname.begin(),tagname.cend(),std::insert_iterator<std::vector<char>>(_TagName,_TagName.begin()) );
    std::copy(tagname.begin(),tagname.end(),std::insert_iterator<std::vector<char>>(_TagName,_TagName.begin()) );
}

libhtmlpp::HtmlElement::HtmlElement() : Element() {
@@ -653,13 +663,13 @@ int libhtmlpp::Element::getType() const{
void libhtmlpp::HtmlElement::setTagname(const std::string &name){
    _TagName.clear();
    _TagName.resize(name.length());
    std::copy(name.begin(),name.cend(),std::insert_iterator<std::vector<char>>(_TagName,_TagName.begin()) );
    std::copy(name.begin(),name.end(),std::insert_iterator<std::vector<char>>(_TagName,_TagName.begin()) );
}

const std::string libhtmlpp::HtmlElement::getTagname() const{
    if(_TagName.empty())
        return "";
    return std::string(_TagName.begin(),_TagName.cend());
    return std::string(_TagName.begin(),_TagName.end());
}

void libhtmlpp::HtmlElement::insertChild(const libhtmlpp::Element* el){
@@ -1126,7 +1136,7 @@ libhtmlpp::TextElement & libhtmlpp::TextElement::operator=(const libhtmlpp::Elem
}

void libhtmlpp::TextElement::setText(const std::string& txt){
    std::copy(txt.begin(),txt.cend(),std::back_inserter(_Text));
    std::copy(txt.begin(),txt.end(),std::back_inserter(_Text));
}

const std::string libhtmlpp::TextElement::getText(){
@@ -1160,7 +1170,7 @@ libhtmlpp::CommentElement & libhtmlpp::CommentElement::operator=(const libhtmlpp
}

void libhtmlpp::CommentElement::setComment(const std::string& txt){
    std::copy(txt.begin(),txt.cend(),
    std::copy(txt.begin(),txt.end(),
              std::insert_iterator<std::vector<char>>(_Comment,_Comment.begin()));
}

@@ -1194,7 +1204,7 @@ libhtmlpp::ScriptElement & libhtmlpp::ScriptElement::operator=(const libhtmlpp::
}

void libhtmlpp::ScriptElement::setScript(const std::string& script){
    std::copy(script.begin(),script.cend(),
    std::copy(script.begin(),script.end(),
              std::insert_iterator<std::vector<char>>(_Script,_Script.begin()));
}

@@ -1338,7 +1348,7 @@ void libhtmlpp::HtmlPage::_CheckHeader(const HtmlString &page){
void libhtmlpp::print(Element* el, HtmlString &output,bool formated) {
    auto isContainer = [](const std::string &tagname) {
        for(int i=0; ContainerTypes[i]; ++i){
            if(std::equal(tagname.begin(),tagname.cend(),ContainerTypes[i]))
            if(std::equal(tagname.begin(),tagname.end(),ContainerTypes[i]))
                return true;
        }
        return false;
@@ -1540,7 +1550,7 @@ SEARCHBYID:
            childs.push(((HtmlElement*)curel)->_childElement);
        }
        std::string idname=((HtmlElement*)curel)->getAtributte("id");
        if(!idname.empty() && std::equal(id.begin(),id.cend(),idname.begin()) ){
        if(!idname.empty() && std::equal(id.begin(),id.end(),idname.begin()) ){
            return (HtmlElement*)curel;
        }
    }
@@ -1567,7 +1577,7 @@ SEARCHBYTAG:
            childs.push(((HtmlElement*)curel)->_childElement);
        }
        const std::string tname=((HtmlElement*)curel)->getTagname();
        if(!tname.empty() && std::equal(tag.begin(),tag.cend(),tname.begin())){
        if(!tname.empty() && std::equal(tag.begin(),tag.end(),tname.begin())){
            return (HtmlElement*)curel;
        }
    }
@@ -1589,7 +1599,7 @@ void libhtmlpp::HtmlElement::setAttribute(const std::string &name, const std::st
    Attributes* cattr = nullptr;

    for (Attributes* curattr = _firstAttr; curattr; curattr=curattr->_nextAttr) {
        if ( std::equal(name.begin(),name.cend(),curattr->_Key.begin()) ) {
        if ( std::equal(name.begin(),name.end(),curattr->_Key.begin()) ) {
            cattr = curattr;
        }
    }
@@ -1603,10 +1613,10 @@ void libhtmlpp::HtmlElement::setAttribute(const std::string &name, const std::st
        }
        cattr = _lastAttr;
        cattr->_Key.resize(name.length());
        std::copy(name.begin(),name.cend(),cattr->_Key.begin() );
        std::copy(name.begin(),name.end(),cattr->_Key.begin() );
    }
    cattr->_Value.resize(value.length());
    std::copy(value.begin(),value.cend(),cattr->_Value.begin());
    std::copy(value.begin(),value.end(),cattr->_Value.begin());
}

void libhtmlpp::HtmlElement::setIntAttribute(const std::string& name, int value) {
@@ -1622,7 +1632,7 @@ const std::string libhtmlpp::HtmlElement::getAtributte(const std::string& name)
            continue;
        }

        if (!curattr->_Key.empty() && std::equal(name.begin(), name.cend(), curattr->_Key.begin())) {
        if (!curattr->_Key.empty() && std::equal(name.begin(), name.end(), curattr->_Key.begin())) {
            return std::string(curattr->_Value.begin(), curattr->_Value.end());
        }
    }
+1 −0
Original line number Diff line number Diff line
@@ -253,6 +253,7 @@ namespace libhtmlpp {

        const std::vector<char>&  data();
        const std::string                  str();
        const char                         *c_str();

        libhtmlpp::Element *parse();
        bool                validate(std::string *err);