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); |
+} |