OSDN Git Service

Fix AdvertiseDataParsing test
authorroot <root@pawlowski-linux.mtv.corp.google.com>
Mon, 31 Oct 2016 20:37:33 +0000 (13:37 -0700)
committerJakub Pawlowski <jpawlowski@google.com>
Mon, 31 Oct 2016 20:51:44 +0000 (13:51 -0700)
Test: run LowEnergyAdvertiserPostRegisterTest.AdvertiseDataParsing
Change-Id: Ib9f4dbc1079ae289cc5eeaee9ca7050d308a4ab0

service/test/low_energy_advertiser_unittest.cc

index 339c8c9..4befebc 100644 (file)
@@ -624,35 +624,22 @@ TEST_F(LowEnergyAdvertiserPostRegisterTest, AdvertiseDataParsing) {
     callback_count++;
   };
 
-  status_cb set_params_cb;
-  EXPECT_CALL(*mock_handler_, MultiAdvSetParameters(_, _, _, _, _, _, _))
-      .WillOnce(SaveArg<6>(&set_params_cb))
-      .WillOnce(SaveArg<6>(&set_params_cb));
-
-  // Make sure no call to set data .
+  status_cb set_data_cb;
+  // Multiple UUID test
   EXPECT_CALL(*mock_handler_, MultiAdvSetInstData(_, _, _, _))
-      .Times(Exactly(0));
-
-  // Multiple UUID test, should fail due to only one UUID allowed
-  EXPECT_TRUE(le_advertiser_->StartAdvertising(settings, multi_uuid_adv,
-                                               AdvertiseData(), callback));
-  set_params_cb.Run(BT_STATUS_SUCCESS);
+            .Times(1)
+      .WillOnce(SaveArg<3>(&set_data_cb));
+  AdvertiseDataTestHelper(multi_uuid_adv, callback, &set_data_cb);
   EXPECT_EQ(1, callback_count);
-  EXPECT_EQ(BLE_STATUS_FAILURE, last_status);
+  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());
 
-  // Make sure no call to set data .
+  // Multiple Service Data test
   EXPECT_CALL(*mock_handler_, MultiAdvSetInstData(_, _, _, _))
-      .Times(Exactly(0));
-
-  // Multiple Service Data test, should fail due to only one service data
-  // allowed
-  EXPECT_TRUE(le_advertiser_->StartAdvertising(settings, multi_uuid_adv,
-                                               AdvertiseData(), callback));
-  set_params_cb.Run(BT_STATUS_SUCCESS);
+            .Times(1)
+      .WillOnce(SaveArg<3>(&set_data_cb));
+  AdvertiseDataTestHelper(multi_service_adv, callback, &set_data_cb);
   EXPECT_EQ(2, callback_count);
-  EXPECT_EQ(BLE_STATUS_FAILURE, last_status);
-
-  status_cb set_data_cb;
+  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());
 
   // 16bit uuid test, should succeed with correctly parsed uuid in little-endian
   // 128-bit format.
@@ -732,16 +719,13 @@ TEST_F(LowEnergyAdvertiserPostRegisterTest, AdvertiseDataParsing) {
   EXPECT_EQ(9, callback_count);
   ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());
 
-  EXPECT_CALL(*mock_handler_, MultiAdvSetParameters(_, _, _, _, _, _, _))
-      .Times(1)
-      .WillOnce(SaveArg<6>(&set_params_cb));
-
   // Service data and UUID where the UUID for dont match, should fail
-  EXPECT_TRUE(le_advertiser_->StartAdvertising(settings, service_uuid_mismatch,
-                                               AdvertiseData(), callback));
-  set_params_cb.Run(BT_STATUS_SUCCESS);
+  EXPECT_CALL(*mock_handler_, MultiAdvSetInstData(_, _, _, _))
+      .Times(1)
+      .WillOnce(SaveArg<3>(&set_data_cb));
+  AdvertiseDataTestHelper(service_uuid_match, callback, &set_data_cb);
   EXPECT_EQ(10, callback_count);
-  EXPECT_EQ(BLE_STATUS_FAILURE, last_status);
+  ::testing::Mock::VerifyAndClearExpectations(mock_handler_.get());
 }
 
 MATCHER_P(BitEq, x, std::string(negation ? "isn't" : "is") +