@@ -29,7 +29,7 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
2929{
3030 BLEAdvertisingData advData;
3131 int oldRemainingLength = advData.remainingLength ();
32- uint16_t companyId = 0x1100 ;
32+ const uint16_t companyId = 0x1100 ;
3333 bool retVal;
3434
3535 WHEN (" Set correct manufacturer data without id" )
@@ -38,8 +38,11 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
3838 const uint8_t goldenData[] = {(sizeof (data) + 1 ), BLEFieldManufacturerData,
3939 0x00 , 0x11 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
4040 retVal = advData.setManufacturerData (data, sizeof (data));
41- REQUIRE (retVal);
42- REQUIRE ( (sizeof (data) + 2 ) == (oldRemainingLength - advData.remainingLength ()) );
41+ THEN (" Check that the manufacturer data has been correctly set" )
42+ {
43+ REQUIRE (retVal);
44+ REQUIRE ( (sizeof (data) + 2 ) == (oldRemainingLength - advData.remainingLength ()) );
45+ }
4346 oldRemainingLength = advData.remainingLength ();
4447
4548 advData.updateData ();
@@ -53,8 +56,11 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
5356 const uint8_t goldenData[] = {(sizeof (data) + sizeof (companyId) + 1 ), BLEFieldManufacturerData,
5457 0x00 , 0x11 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 };
5558 retVal = advData.setManufacturerData (companyId, data, sizeof (data));
56- REQUIRE (retVal);
57- REQUIRE ( (sizeof (data) + sizeof (companyId) + 2 ) == (oldRemainingLength - advData.remainingLength ()) );
59+ THEN (" Check that the manufacturer data has been correctly set" )
60+ {
61+ REQUIRE (retVal);
62+ REQUIRE ( (sizeof (data) + sizeof (companyId) + 2 ) == (oldRemainingLength - advData.remainingLength ()) );
63+ }
5864 oldRemainingLength = advData.remainingLength ();
5965
6066 advData.updateData ();
@@ -68,8 +74,11 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
6874 const uint8_t data[] = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ,
6975 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 };
7076 retVal = advData.setManufacturerData (companyId, data, sizeof (data));
71- REQUIRE (!retVal);
72- REQUIRE ( oldRemainingLength == advData.remainingLength () );
77+ THEN (" Manufacturer data was too long, check that it has not been set" )
78+ {
79+ REQUIRE (!retVal);
80+ REQUIRE ( oldRemainingLength == advData.remainingLength () );
81+ }
7382 advData.updateData ();
7483 REQUIRE ( advData.dataLength () == (MAX_AD_DATA_LENGTH - oldRemainingLength) );
7584 }
@@ -80,8 +89,11 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
8089 const uint8_t data[] = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ,
8190 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 };
8291 retVal = advData.setManufacturerData (data, sizeof (data));
83- REQUIRE (!retVal);
84- REQUIRE ( oldRemainingLength == advData.remainingLength () );
92+ THEN (" Manufacturer data was too long, check that it has not been set" )
93+ {
94+ REQUIRE (!retVal);
95+ REQUIRE ( oldRemainingLength == advData.remainingLength () );
96+ }
8597 advData.updateData ();
8698 REQUIRE ( advData.dataLength () == (MAX_AD_DATA_LENGTH - oldRemainingLength) );
8799 }
@@ -93,13 +105,19 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
93105 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 };
94106 const uint8_t data[] = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ,
95107 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 };
96- retVal = advData.setManufacturerData (companyId, dataGivenId, sizeof (dataGivenId));
97- REQUIRE (retVal);
98- retVal = advData.setManufacturerData (data, sizeof (data));
99- REQUIRE (retVal);
100- REQUIRE ( 0 == advData.remainingLength () );
101- advData.updateData ();
102- REQUIRE ( advData.dataLength () == (MAX_AD_DATA_LENGTH) );
108+ THEN (" Check that first insertion of manufacturer data given id is correctly done" )
109+ {
110+ retVal = advData.setManufacturerData (companyId, dataGivenId, sizeof (dataGivenId));
111+ REQUIRE (retVal);
112+ }
113+ THEN (" Check that the insertion of manufacturer data without after one with id is correctly done" )
114+ {
115+ retVal = advData.setManufacturerData (data, sizeof (data));
116+ REQUIRE (retVal);
117+ REQUIRE ( 0 == advData.remainingLength () );
118+ advData.updateData ();
119+ REQUIRE ( advData.dataLength () == (MAX_AD_DATA_LENGTH) );
120+ }
103121 }
104122
105123 WHEN (" Set manufacturer data given id after setting manufacturer data without id" )
@@ -110,10 +128,16 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
110128 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 };
111129 const uint8_t data[] = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ,
112130 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 };
113- retVal = advData.setManufacturerData (data, sizeof (data));
114- REQUIRE (retVal);
115- retVal = advData.setManufacturerData (companyId, dataGivenId, sizeof (dataGivenId));
116- REQUIRE (!retVal);
131+ THEN (" Check that first insertion of manufacturer data WITHOUT id is correctly done" )
132+ {
133+ retVal = advData.setManufacturerData (data, sizeof (data));
134+ REQUIRE (retVal);
135+ }
136+ THEN (" Check that the insertion of manufacturer data given id after one without id is correctly done" )
137+ {
138+ retVal = advData.setManufacturerData (companyId, dataGivenId, sizeof (dataGivenId));
139+ REQUIRE (!retVal);
140+ }
117141 }
118142
119143 WHEN (" Overwrite manufacturer data with one as long as max data length" )
@@ -124,17 +148,20 @@ TEST_CASE("Test manufacturer data setting", "[ArduinoBLE::BLEAdvertisingData]")
124148 0x00 , 0x11 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 ,
125149 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 };
126150 retVal = advData.setManufacturerData (companyId, data, sizeof (data));
127- REQUIRE (retVal);
128-
129- advData.updateData ();
130- REQUIRE ( 0 == advData.remainingLength () );
131- REQUIRE ( 0 == advData.availableForWrite () );
132- REQUIRE ( 0 == memcmp (goldenData, advData.data (), sizeof (goldenData)) );
151+ THEN (" Manufacturer data should be set correctly" )
152+ {
153+ REQUIRE (retVal);
154+
155+ advData.updateData ();
156+ REQUIRE ( 0 == advData.remainingLength () );
157+ REQUIRE ( 0 == advData.availableForWrite () );
158+ REQUIRE ( 0 == memcmp (goldenData, advData.data (), sizeof (goldenData)) );
159+ }
133160 }
134161
135162 WHEN (" Check consistency when setting the external advertising data" )
136163 {
137- auto goldenData = advData.data ();
164+ const auto goldenData = advData.data ();
138165 BLE.setAdvertisingData (advData);
139166 BLE.advertise ();
140167 REQUIRE ( 0 == memcmp (goldenData, BLE.getAdvertisingData ().data (), advData.dataLength ()) );
0 commit comments