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