| Index: third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html b/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| index 72b86eac66eab4f71238102c3e30959561690090..ab0dbf2ce231622d52786736c1f0ef28652cb57d 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html
|
| @@ -7,11 +7,18 @@
|
| <script>
|
| description("Tests RTCPeerConnection.generateCertificate RSA/ECDSA.");
|
|
|
| +// Constants
|
| +var minuteInMs = 60 * 1000;
|
| +var dayInMs = 24 * 60 * minuteInMs;
|
| +
|
| // Signature of the last generateCertificate call.
|
| var generateCallString = null;
|
| // Global certificate variables so that the "should..." methods can evaluate them.
|
| var certRSA = null;
|
| var certECDSA = null;
|
| +var certExpiresNegativeOneDay = null;
|
| +var certExpiresZero = null;
|
| +var certExpiresPositiveOneDay = null;
|
|
|
| // 1: RSA-2048 using public exponent = 65537.
|
| function generate1RSA()
|
| @@ -24,7 +31,7 @@ function generate1RSASuccessful(certificate)
|
| {
|
| certRSA = certificate;
|
| testPassed(generateCallString);
|
| - certificateSanityCheck(certificate, 'certRSA');
|
| + certificateSanityCheck('certRSA');
|
| generate2ECDSA();
|
| }
|
| function generate1RSAFailed()
|
| @@ -44,17 +51,53 @@ function generate2ECDSASuccessful(certificate)
|
| {
|
| certECDSA = certificate;
|
| testPassed(generateCallString);
|
| - certificateSanityCheck(certificate, 'certECDSA');
|
| - finishJSTest();
|
| + certificateSanityCheck('certECDSA');
|
| + generate3ExpiresNegativeOneDay();
|
| }
|
| function generate2ECDSAFailed()
|
| {
|
| testFailed(generateCallString);
|
| + generate3ExpiresNegativeOneDay();
|
| +}
|
| +
|
| +// 3-5: Verify that the |expires| attribute works (generate ECDSA because its faster).
|
| +function generate3ExpiresNegativeOneDay()
|
| +{
|
| + generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires:-dayInMs })';
|
| + webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires:-dayInMs })
|
| + .then(function(certificate) { certExpiresNegativeOneDay = certificate; generate4ExpiresZero(); }, generate4ExpiresZero);
|
| +}
|
| +function generate4ExpiresZero()
|
| +{
|
| + generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires:0 })';
|
| + webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires:0 })
|
| + .then(function(certificate) { certExpiresZero = certificate; generate5ExpiresPositiveOneDay(); }, generate5ExpiresPositiveOneDay);
|
| +}
|
| +function generate5ExpiresPositiveOneDay()
|
| +{
|
| + generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires:dayInMs })'; // +1 day
|
| + webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires:dayInMs })
|
| + .then(function(certificate) { certExpiresPositiveOneDay = certificate; generate3to5ExpiresResolved(); }, generate3to5ExpiresResolved);
|
| +}
|
| +function generate3to5ExpiresResolved()
|
| +{
|
| + // A negative |expires| value is not a DOMTimeStamp, it should be ignored and
|
| + // generate a certificate that has not expired.
|
| + certificateSanityCheck('certExpiresNegativeOneDay');
|
| +
|
| + // Check that the zero expiration certificate was generated but has expired.
|
| + shouldBeNonNull('certExpiresZero');
|
| + shouldBeTrue('new Date().getTime() >= certExpiresZero.expires');
|
| +
|
| + // Check that the +1 day expiration certificate expires in approximately 1 day (+/- 1 minute).
|
| + shouldBeNonNull('certExpiresPositiveOneDay');
|
| + shouldBeTrue('Math.abs(certExpiresPositiveOneDay.expires - (new Date().getTime() + dayInMs)) <= minuteInMs');
|
| +
|
| finishJSTest();
|
| }
|
|
|
| // Helper functions.
|
| -function certificateSanityCheck(cert, certVariableName)
|
| +function certificateSanityCheck(certVariableName)
|
| {
|
| shouldBeNonNull(certVariableName);
|
| shouldBeTrue('new Date().getTime() < ' + certVariableName + '.expires');
|
|
|