Pārlūkot izejas kodu

Remove allowed new line character from SectionPairRowValueValidator

Patrick-Christopher Mattulat 2 gadi atpakaļ
vecāks
revīzija
adf6dbc995

+ 5 - 2
source/ls-std/io/section-pair/validator/SectionPairRowValueValidator.cpp

@@ -3,11 +3,13 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-09
-* Changed:         2023-02-15
+* Changed:         2023-02-16
 *
 * */
 
+#include <ls-std/io/NewLine.hpp>
 #include <ls-std/io/section-pair/validator/SectionPairRowValueValidator.hpp>
+#include <regex>
 
 ls::std::io::SectionPairRowValueValidator::SectionPairRowValueValidator(ls::std::io::section_pair_row_value _value) : ls::std::core::Class("SectionPairRowValueValidator"), value(::std::move(_value))
 {}
@@ -16,6 +18,7 @@ ls::std::io::SectionPairRowValueValidator::~SectionPairRowValueValidator() = def
 
 bool ls::std::io::SectionPairRowValueValidator::isValid()
 {
-  size_t foundPosition = this->value.find_first_not_of("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789_#![]{}()/$ۤ%?<>+:;., *\"\n\r");
+  this->value = ::std::regex_replace(this->value, ::std::regex(ls::std::io::NewLine::get()), "");
+  size_t foundPosition = this->value.find_first_not_of("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789_#![]{}()/$ۤ%?<>+:;., *\"");
   return foundPosition == ls::std::io::section_pair_row_value::npos;
 }

+ 2 - 1
test/cases/io/section-pair/validator/SectionPairRowValueValidatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-09
-* Changed:         2023-02-11
+* Changed:         2023-02-16
 *
 * */
 
@@ -42,6 +42,7 @@ namespace
     ASSERT_TRUE(SectionPairRowValueValidator{"Age"}.isValid());
     ASSERT_TRUE(SectionPairRowValueValidator{"Tom"}.isValid());
     ASSERT_TRUE(SectionPairRowValueValidator{"\"Tom\""}.isValid());
+    ASSERT_TRUE(SectionPairRowValueValidator{"Hello!" + NewLine::get()}.isValid());
   }
 
   TEST_F(SectionPairRowValueValidatorTest, isValid_not_valid)