| @@ -39,7 +39,7 @@ namespace | |||
| TEST_CASE("exit function called on destruction", "[ScopeSuccess]") | |||
| { | |||
| REQUIRE_CALL(m, deleter()); | |||
| auto guard = sr::make_scope_success(deleter); | |||
| auto guard = sr::scope_success{deleter}; | |||
| static_cast<void>(guard); | |||
| } | |||
| @@ -47,7 +47,7 @@ TEST_CASE("exit function lambda called on destruction", "[ScopeSuccess]") | |||
| { | |||
| CallMock cm; | |||
| REQUIRE_CALL(cm, deleter()); | |||
| auto guard = sr::make_scope_success([&cm] { cm.deleter(); }); | |||
| auto guard = sr::scope_success{[&cm] { cm.deleter(); }}; | |||
| static_cast<void>(guard); | |||
| } | |||
| @@ -56,21 +56,21 @@ TEST_CASE("exit function not called and rethrow on copy exception", "[ScopeSucce | |||
| REQUIRE_THROWS([] { | |||
| const ThrowOnCopyMock noMove; | |||
| REQUIRE_CALL(noMove, deleter()); | |||
| sr::scope_success<decltype(noMove)> guard{noMove}; | |||
| sr::scope_success guard{noMove}; | |||
| }()); | |||
| } | |||
| TEST_CASE("exit function is not called if released", "[ScopeSuccess]") | |||
| { | |||
| REQUIRE_CALL(m, deleter()).TIMES(0); | |||
| auto guard = sr::make_scope_success(deleter); | |||
| auto guard = sr::scope_success{deleter}; | |||
| guard.release(); | |||
| } | |||
| TEST_CASE("move releases moved-from object", "[ScopeSuccess]") | |||
| { | |||
| REQUIRE_CALL(m, deleter()); | |||
| auto movedFrom = sr::make_scope_success(deleter); | |||
| auto movedFrom = sr::scope_success{deleter}; | |||
| auto guard = std::move(movedFrom); | |||
| static_cast<void>(guard); | |||
| } | |||
| @@ -80,14 +80,14 @@ TEST_CASE("move with copy init releases moved-from object", "[ScopeSuccess]") | |||
| CallMock mock; | |||
| const NotNothrowMoveMock notNothrow{&mock}; | |||
| REQUIRE_CALL(mock, deleter()); | |||
| sr::scope_success<decltype(notNothrow)> movedFrom{notNothrow}; | |||
| sr::scope_success movedFrom{notNothrow}; | |||
| auto guard = std::move(movedFrom); | |||
| } | |||
| TEST_CASE("move transfers state", "[ScopeSuccess]") | |||
| { | |||
| REQUIRE_CALL(m, deleter()); | |||
| auto movedFrom = sr::make_scope_success(deleter); | |||
| auto movedFrom = sr::scope_success{deleter}; | |||
| auto guard = std::move(movedFrom); | |||
| static_cast<void>(guard); | |||
| } | |||
| @@ -95,7 +95,7 @@ TEST_CASE("move transfers state", "[ScopeSuccess]") | |||
| TEST_CASE("move transfers state if released", "[ScopeSuccess]") | |||
| { | |||
| REQUIRE_CALL(m, deleter()).TIMES(0); | |||
| auto movedFrom = sr::make_scope_success(deleter); | |||
| auto movedFrom = sr::scope_success{deleter}; | |||
| movedFrom.release(); | |||
| auto guard = std::move(movedFrom); | |||
| static_cast<void>(guard); | |||
| @@ -105,7 +105,7 @@ TEST_CASE("exit function not called on exception", "[ScopeFail]") | |||
| { | |||
| try | |||
| { | |||
| auto guard = sr::make_scope_success(deleter); | |||
| auto guard = sr::scope_success{deleter}; | |||
| static_cast<void>(guard); | |||
| throw 3; | |||
| } | |||
| @@ -123,7 +123,7 @@ TEST_CASE("exit function called on pending exception", "[ScopeFail]") | |||
| catch( ... ) | |||
| { | |||
| REQUIRE_CALL(m, deleter()); | |||
| auto guard = sr::make_scope_success(deleter); | |||
| auto guard = sr::scope_success{deleter}; | |||
| static_cast<void>(guard); | |||
| } | |||
| } | |||