Index: chrome/browser/copresence/chrome_whispernet_client_browsertest.cc |
diff --git a/chrome/browser/copresence/chrome_whispernet_client_browsertest.cc b/chrome/browser/copresence/chrome_whispernet_client_browsertest.cc |
index 61d3b3cbd5e1af6e1587b31e7f26c4006c802219..20b47215fb97ec71e118d981aac7fe511f506b30 100644 |
--- a/chrome/browser/copresence/chrome_whispernet_client_browsertest.cc |
+++ b/chrome/browser/copresence/chrome_whispernet_client_browsertest.cc |
@@ -33,7 +33,7 @@ using audio_modem::TokenParameters; |
namespace { |
-// TODO(rkc): Add more varied test input. |
+// TODO(ckehoe): Use randomly generated tokens instead. |
const char kSixZeros[] = "MDAwMDAw"; |
const char kEightZeros[] = "MDAwMDAwMDA"; |
const char kNineZeros[] = "MDAwMDAwMDAw"; |
@@ -114,7 +114,8 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest, |
void EncodeTokenAndSaveSamples(WhispernetClient* client, |
bool audible, |
- const std::string& token) { |
+ const std::string& token, |
+ const TokenParameters token_params[2]) { |
run_loop_.reset(new base::RunLoop()); |
client->RegisterSamplesCallback( |
base::Bind(&ChromeWhispernetClientTest::SamplesCallback, |
@@ -122,7 +123,6 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest, |
expected_token_ = token; |
expected_audible_ = audible; |
- TokenParameters token_params[2]; |
client->EncodeToken(token, audible ? AUDIBLE : INAUDIBLE, token_params); |
run_loop_->Run(); |
@@ -236,11 +236,13 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest, |
#define MAYBE_Initialize DISABLED_Initialize |
#define MAYBE_EncodeAndDecode DISABLED_EncodeAndDecode |
#define MAYBE_TokenLengths DISABLED_TokenLengths |
+#define MAYBE_Crc DISABLED_Crc |
#define MAYBE_MultipleClients DISABLED_MultipleClients |
#else |
#define MAYBE_Initialize Initialize |
#define MAYBE_EncodeAndDecode EncodeAndDecode |
#define MAYBE_TokenLengths TokenLengths |
+#define MAYBE_Crc Crc |
#define MAYBE_MultipleClients MultipleClients |
#endif |
@@ -257,10 +259,10 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_EncodeAndDecode) { |
TokenParameters token_params[2]; |
GetTokenParamsForLengths(kTokenLengths, token_params); |
- EncodeTokenAndSaveSamples(client.get(), true, kSixZeros); |
+ EncodeTokenAndSaveSamples(client.get(), true, kSixZeros, token_params); |
DecodeSamplesAndVerifyToken(client.get(), true, kSixZeros, token_params); |
- EncodeTokenAndSaveSamples(client.get(), false, kSixZeros); |
+ EncodeTokenAndSaveSamples(client.get(), false, kSixZeros, token_params); |
DecodeSamplesAndVerifyToken(client.get(), false, kSixZeros, token_params); |
} |
@@ -274,13 +276,31 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_TokenLengths) { |
TokenParameters token_params[2]; |
GetTokenParamsForLengths(kLongTokenLengths, token_params); |
- EncodeTokenAndSaveSamples(client.get(), true, kEightZeros); |
+ EncodeTokenAndSaveSamples(client.get(), true, kEightZeros, token_params); |
DecodeSamplesAndVerifyToken(client.get(), true, kEightZeros, token_params); |
- EncodeTokenAndSaveSamples(client.get(), false, kNineZeros); |
+ EncodeTokenAndSaveSamples(client.get(), false, kNineZeros, token_params); |
DecodeSamplesAndVerifyToken(client.get(), false, kNineZeros, token_params); |
} |
+IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_Crc) { |
+ scoped_ptr<WhispernetClient> client( |
+ new ChromeWhispernetClient(browser()->profile())); |
+ client->Initialize(base::Bind(&IgnoreResult)); |
+ SetupDecode(); |
+ |
+ TokenParameters token_params[2]; |
+ GetTokenParamsForLengths(kTokenLengths, token_params); |
+ token_params[0].crc = true; |
+ token_params[1].crc = true; |
+ |
+ EncodeTokenAndSaveSamples(client.get(), true, kSixZeros, token_params); |
+ DecodeSamplesAndVerifyToken(client.get(), true, kSixZeros, token_params); |
+ |
+ EncodeTokenAndSaveSamples(client.get(), false, kSixZeros, token_params); |
+ DecodeSamplesAndVerifyToken(client.get(), false, kSixZeros, token_params); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_MultipleClients) { |
scoped_ptr<WhispernetClient> client_1( |
new ChromeWhispernetClient(browser()->profile())); |
@@ -297,24 +317,21 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_MultipleClients) { |
client_1->Initialize(base::Bind(&IgnoreResult)); |
client_2->Initialize(base::Bind(&IgnoreResult)); |
- EncodeTokenAndSaveSamples(client_1.get(), true, kSixZeros); |
+ EncodeTokenAndSaveSamples(client_1.get(), true, kSixZeros, token_params); |
DecodeSamplesAndVerifyToken(client_1.get(), true, kSixZeros, token_params); |
- EncodeTokenAndSaveSamples(client_2.get(), false, kSixZeros); |
+ EncodeTokenAndSaveSamples(client_2.get(), false, kSixZeros, token_params); |
DecodeSamplesAndVerifyToken(client_2.get(), false, kSixZeros, token_params); |
// Test sequential initialization. |
client_3->Initialize(base::Bind(&IgnoreResult)); |
- EncodeTokenAndSaveSamples(client_3.get(), true, kSixZeros); |
+ EncodeTokenAndSaveSamples(client_3.get(), true, kSixZeros, token_params); |
DecodeSamplesAndVerifyToken(client_3.get(), true, kSixZeros, token_params); |
const size_t kLongTokenLengths[2] = {8, 9}; |
GetTokenParamsForLengths(kLongTokenLengths, token_params); |
- EncodeTokenAndSaveSamples(client_2.get(), true, kEightZeros); |
+ EncodeTokenAndSaveSamples(client_2.get(), true, kEightZeros, token_params); |
DecodeSamplesAndVerifyToken(client_2.get(), true, kEightZeros, token_params); |
} |
- |
-// TODO(ckehoe): Test crc and parity |
-// TODO(ckehoe): More multi-client testing |