Commit 68207bdcc1a55fe15e5cf955d8d61ca68d43988b

Authored by Henry Fredrick Schreiner
1 parent 93a16eea

Removing non-configurable from config_to_str

include/CLI/App.hpp
... ... @@ -810,8 +810,8 @@ class App {
810 810 std::stringstream out;
811 811 for(const Option_p &opt : options_) {
812 812  
813   - // Only process option with a long-name
814   - if(!opt->lnames_.empty()) {
  813 + // Only process option with a long-name and configurable
  814 + if(!opt->lnames_.empty() && opt->get_configurable()) {
815 815 std::string name = prefix + opt->lnames_[0];
816 816  
817 817 // Non-flags
... ...
tests/IniTest.cpp
... ... @@ -561,6 +561,20 @@ TEST_F(TApp, IniOutputSimple) {
561 561 EXPECT_EQ("simple=3\n", str);
562 562 }
563 563  
  564 +TEST_F(TApp, IniOutputNoConfigurable) {
  565 +
  566 + int v1, v2;
  567 + app.add_option("--simple", v1);
  568 + app.add_option("--noconf", v2)->configurable(false);
  569 +
  570 + args = {"--simple=3", "--noconf=2"};
  571 +
  572 + run();
  573 +
  574 + std::string str = app.config_to_str();
  575 + EXPECT_EQ("simple=3\n", str);
  576 +}
  577 +
564 578 TEST_F(TApp, IniOutputVector) {
565 579  
566 580 std::vector<int> v;
... ...