Chromium Code Reviews| 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 469a42d2f14b50d268535cca7fb2c6bce59c84a4..af58438ca36938ca427dd085ae74540b26a6e8ec 100644 |
| --- a/chrome/browser/copresence/chrome_whispernet_client_browsertest.cc |
| +++ b/chrome/browser/copresence/chrome_whispernet_client_browsertest.cc |
| @@ -21,6 +21,9 @@ |
| namespace { |
| +const char kFiveZeros[] = "MDAwMDA="; |
| +const char kSixZeros[] = "MDAwMDAw"; |
| + |
| // Copied from src/components/copresence/mediums/audio/audio_recorder.cc |
| std::string AudioBusToString(scoped_refptr<media::AudioBusRefCounted> source) { |
| std::string buffer; |
| @@ -59,32 +62,33 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest { |
| EXPECT_TRUE(initialized_); |
| } |
| - void EncodeTokenAndSaveSamples() { |
| + void EncodeTokenAndSaveSamples(bool audible) { |
| ASSERT_TRUE(client_); |
| - // This is the base64 encoding for 000000. |
| - const std::string kZeroToken = "MDAwMDAw"; |
| + // Use a 40bit token for audible encoding, 48bit for inaudible. |
| + const std::string kZeros = audible ? kFiveZeros : kSixZeros; |
| run_loop_.reset(new base::RunLoop()); |
| client_->RegisterSamplesCallback(base::Bind( |
| &ChromeWhispernetClientTest::SamplesCallback, base::Unretained(this))); |
| - expected_token_ = kZeroToken; |
| + expected_token_ = kZeros; |
| - client_->EncodeToken(kZeroToken); |
| + client_->EncodeToken(kZeros); |
| run_loop_->Run(); |
| EXPECT_GT(saved_samples_->frames(), 0); |
| } |
| - void DecodeSamplesAndVerifyToken() { |
| + void DecodeSamplesAndVerifyToken(bool audible) { |
| ASSERT_TRUE(client_); |
| - const std::string kZeroToken = "MDAwMDAw"; |
| + // Use a 40bit token for audible encoding, 48bit for inaudible. |
| + const std::string kZeros = audible ? kFiveZeros : kSixZeros; |
| run_loop_.reset(new base::RunLoop()); |
| client_->RegisterTokensCallback(base::Bind( |
| &ChromeWhispernetClientTest::TokensCallback, base::Unretained(this))); |
| - expected_token_ = kZeroToken; |
| + expected_token_ = kZeros; |
|
Charlie
2014/08/07 17:28:53
nit: You could also replace kZeros with calls to t
rkc
2014/08/07 17:36:58
Done.
Charlie
2014/08/07 17:43:52
I was thinking you could use getToken() everywhere
|
| ASSERT_GT(saved_samples_->frames(), 0); |
| @@ -162,18 +166,24 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, Initialize) { |
| IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, EncodeToken) { |
| InitializeWhispernet(); |
| - EncodeTokenAndSaveSamples(); |
| + EncodeTokenAndSaveSamples(false); |
| } |
| IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, DecodeSamples) { |
| InitializeWhispernet(); |
| - EncodeTokenAndSaveSamples(); |
| - DecodeSamplesAndVerifyToken(); |
| + EncodeTokenAndSaveSamples(false); |
| + DecodeSamplesAndVerifyToken(false); |
| } |
| IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, DetectBroadcast) { |
| InitializeWhispernet(); |
| - EncodeTokenAndSaveSamples(); |
| - DecodeSamplesAndVerifyToken(); |
| + EncodeTokenAndSaveSamples(false); |
| + DecodeSamplesAndVerifyToken(false); |
| DetectBroadcast(); |
| } |
| + |
| +IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, Audible) { |
| + InitializeWhispernet(); |
| + EncodeTokenAndSaveSamples(true); |
| + DecodeSamplesAndVerifyToken(true); |
| +} |