1*9507f98cSAndroid Build Coastguard Worker // Copyright (c) 2018 The LevelDB Authors. All rights reserved. 2*9507f98cSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*9507f98cSAndroid Build Coastguard Worker // found in the LICENSE file. See the AUTHORS file for names of contributors. 4*9507f98cSAndroid Build Coastguard Worker 5*9507f98cSAndroid Build Coastguard Worker #include "leveldb/status.h" 6*9507f98cSAndroid Build Coastguard Worker 7*9507f98cSAndroid Build Coastguard Worker #include <utility> 8*9507f98cSAndroid Build Coastguard Worker 9*9507f98cSAndroid Build Coastguard Worker #include "gtest/gtest.h" 10*9507f98cSAndroid Build Coastguard Worker #include "leveldb/slice.h" 11*9507f98cSAndroid Build Coastguard Worker 12*9507f98cSAndroid Build Coastguard Worker namespace leveldb { 13*9507f98cSAndroid Build Coastguard Worker TEST(Status,MoveConstructor)14*9507f98cSAndroid Build Coastguard WorkerTEST(Status, MoveConstructor) { 15*9507f98cSAndroid Build Coastguard Worker { 16*9507f98cSAndroid Build Coastguard Worker Status ok = Status::OK(); 17*9507f98cSAndroid Build Coastguard Worker Status ok2 = std::move(ok); 18*9507f98cSAndroid Build Coastguard Worker 19*9507f98cSAndroid Build Coastguard Worker ASSERT_TRUE(ok2.ok()); 20*9507f98cSAndroid Build Coastguard Worker } 21*9507f98cSAndroid Build Coastguard Worker 22*9507f98cSAndroid Build Coastguard Worker { 23*9507f98cSAndroid Build Coastguard Worker Status status = Status::NotFound("custom NotFound status message"); 24*9507f98cSAndroid Build Coastguard Worker Status status2 = std::move(status); 25*9507f98cSAndroid Build Coastguard Worker 26*9507f98cSAndroid Build Coastguard Worker ASSERT_TRUE(status2.IsNotFound()); 27*9507f98cSAndroid Build Coastguard Worker ASSERT_EQ("NotFound: custom NotFound status message", status2.ToString()); 28*9507f98cSAndroid Build Coastguard Worker } 29*9507f98cSAndroid Build Coastguard Worker 30*9507f98cSAndroid Build Coastguard Worker { 31*9507f98cSAndroid Build Coastguard Worker Status self_moved = Status::IOError("custom IOError status message"); 32*9507f98cSAndroid Build Coastguard Worker 33*9507f98cSAndroid Build Coastguard Worker // Needed to bypass compiler warning about explicit move-assignment. 34*9507f98cSAndroid Build Coastguard Worker Status& self_moved_reference = self_moved; 35*9507f98cSAndroid Build Coastguard Worker self_moved_reference = std::move(self_moved); 36*9507f98cSAndroid Build Coastguard Worker } 37*9507f98cSAndroid Build Coastguard Worker } 38*9507f98cSAndroid Build Coastguard Worker 39*9507f98cSAndroid Build Coastguard Worker } // namespace leveldb 40*9507f98cSAndroid Build Coastguard Worker 41