Index: chromeos/network/onc/onc_utils_unittest.cc |
diff --git a/chromeos/network/onc/onc_utils_unittest.cc b/chromeos/network/onc/onc_utils_unittest.cc |
index 93ed3904ecab0d8ef7a8d244cc3f6e98cec15f7b..f2226b1b9c744ac996ef4a08af2ca55d5d0609f5 100644 |
--- a/chromeos/network/onc/onc_utils_unittest.cc |
+++ b/chromeos/network/onc/onc_utils_unittest.cc |
@@ -49,5 +49,55 @@ TEST(ONCDecrypterTest, LoadEncryptedOnc) { |
actual_decrypted_onc.get())); |
} |
+namespace { |
+ |
+const char* kLoginId = "hans"; |
+const char* kLoginEmail = "hans@my.domain.com"; |
+ |
+class StringSubstitutionStub : public StringSubstitution { |
+ public: |
+ StringSubstitutionStub() {} |
+ virtual bool GetSubstitute(std::string placeholder, |
+ std::string* substitute) const { |
+ if (placeholder == substitutes::kLoginIDField) |
+ *substitute = kLoginId; |
+ else if (placeholder == substitutes::kEmailField) |
+ *substitute = kLoginEmail; |
+ else |
+ return false; |
+ return true; |
+ } |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(StringSubstitutionStub); |
+}; |
+ |
+} // namespace |
+ |
+TEST(ONCStringExpansion, OpenVPN) { |
+ scoped_ptr<base::DictionaryValue> vpn_onc = |
+ test_utils::ReadTestDictionary("valid_openvpn.onc"); |
+ |
+ StringSubstitutionStub substitution; |
+ ExpandStringsInOncObject(kNetworkConfigurationSignature, substitution, |
+ vpn_onc.get()); |
+ |
+ std::string actual_expanded; |
+ vpn_onc->GetString("VPN.OpenVPN.Username", &actual_expanded); |
+ EXPECT_EQ(actual_expanded, std::string("abc ") + kLoginEmail + " def"); |
+} |
+ |
+TEST(ONCStringExpansion, WiFi_EAP) { |
+ scoped_ptr<base::DictionaryValue> wifi_onc = |
+ test_utils::ReadTestDictionary("valid_wifi_clientcert.onc"); |
+ |
+ StringSubstitutionStub substitution; |
+ ExpandStringsInOncObject(kNetworkConfigurationSignature, substitution, |
+ wifi_onc.get()); |
+ |
+ std::string actual_expanded; |
+ wifi_onc->GetString("WiFi.EAP.Identity", &actual_expanded); |
+ EXPECT_EQ(actual_expanded, std::string("abc ") + kLoginId + "@my.domain.com"); |
+} |
+ |
} // namespace onc |
} // namespace chromeos |