Adding mapbox-gl branch
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!--
|
||||
Copyright 2012 The Closure Library Authors. All Rights Reserved.
|
||||
|
||||
Use of this source code is governed by the Apache License, Version 2.0.
|
||||
See the COPYING file for details.
|
||||
-->
|
||||
<head>
|
||||
<title>Closure Unit Tests - goog.result.combine</title>
|
||||
<script src="../base.js"></script>
|
||||
<script>
|
||||
|
||||
goog.require('goog.Timer');
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.result');
|
||||
goog.require('goog.testing.MockClock');
|
||||
goog.require('goog.testing.jsunit');
|
||||
goog.require('goog.testing.recordFunction');
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
var result1, result2, result3, result4, resultCallback;
|
||||
var combinedResult, successCombinedResult, mockClock;
|
||||
|
||||
function setUpPage() {
|
||||
mockClock = new goog.testing.MockClock();
|
||||
mockClock.install();
|
||||
}
|
||||
|
||||
function tearDownPage() {
|
||||
goog.dispose(mockClock);
|
||||
}
|
||||
|
||||
function setUp() {
|
||||
mockClock.reset();
|
||||
result1 = new goog.result.SimpleResult();
|
||||
result2 = new goog.result.SimpleResult();
|
||||
result3 = new goog.result.SimpleResult();
|
||||
result4 = new goog.result.SimpleResult();
|
||||
|
||||
combinedResult = goog.result.combine(result1, result2, result3, result4);
|
||||
|
||||
successCombinedResult =
|
||||
goog.result.combineOnSuccess(result1, result2, result3, result4);
|
||||
|
||||
resultCallback = goog.testing.recordFunction();
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
result1 = result2 = result3 = result4 = resultCallback = null;
|
||||
combinedResult = successCombinedResult = null;
|
||||
}
|
||||
|
||||
function testSynchronousCombine() {
|
||||
resolveAllGivenResultsToSuccess();
|
||||
|
||||
newCombinedResult = goog.result.combine(result1, result2, result3, result4);
|
||||
|
||||
goog.result.wait(newCombinedResult, resultCallback);
|
||||
|
||||
assertSuccessCall(newCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCombineWhenAllResultsSuccess() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
resolveAllGivenResultsToSuccess();
|
||||
|
||||
assertSuccessCall(combinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testAsyncCombineWhenAllResultsSuccess() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
goog.Timer.callOnce(function() { resolveAllGivenResultsToSuccess(); });
|
||||
mockClock.tick();
|
||||
|
||||
assertSuccessCall(combinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCombineWhenAllResultsFail() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
resolveAllGivenResultsToError();
|
||||
|
||||
assertSuccessCall(combinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testAsyncCombineWhenAllResultsFail() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
goog.Timer.callOnce(function() { resolveAllGivenResultsToError(); });
|
||||
mockClock.tick();
|
||||
|
||||
assertSuccessCall(combinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCombineWhenSomeResultsSuccess() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
resolveSomeGivenResultsToSuccess();
|
||||
|
||||
assertSuccessCall(combinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testAsyncCombineWhenSomeResultsSuccess() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
goog.Timer.callOnce(function() { resolveSomeGivenResultsToSuccess(); });
|
||||
mockClock.tick();
|
||||
|
||||
assertSuccessCall(combinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCombineOnSuccessWhenAllResultsSuccess() {
|
||||
goog.result.wait(successCombinedResult, resultCallback);
|
||||
|
||||
resolveAllGivenResultsToSuccess();
|
||||
|
||||
assertSuccessCall(successCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testAsyncCombineOnSuccessWhenAllResultsSuccess() {
|
||||
goog.result.wait(successCombinedResult, resultCallback);
|
||||
|
||||
goog.Timer.callOnce(function() { resolveAllGivenResultsToSuccess(); });
|
||||
mockClock.tick();
|
||||
|
||||
assertSuccessCall(successCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCombineOnSuccessWhenAllResultsFail() {
|
||||
goog.result.wait(successCombinedResult, resultCallback);
|
||||
|
||||
resolveAllGivenResultsToError();
|
||||
|
||||
assertErrorCall(successCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testAsyncCombineOnSuccessWhenAllResultsFail() {
|
||||
goog.result.wait(successCombinedResult, resultCallback);
|
||||
|
||||
goog.Timer.callOnce(function() { resolveAllGivenResultsToError(); });
|
||||
mockClock.tick();
|
||||
|
||||
assertErrorCall(successCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCombineOnSuccessWhenSomeResultsSuccess() {
|
||||
goog.result.wait(successCombinedResult, resultCallback);
|
||||
|
||||
resolveSomeGivenResultsToSuccess();
|
||||
|
||||
assertErrorCall(successCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testAsyncCombineOnSuccessWhenSomeResultsSuccess() {
|
||||
goog.result.wait(successCombinedResult, resultCallback);
|
||||
|
||||
goog.Timer.callOnce(function() { resolveSomeGivenResultsToSuccess(); });
|
||||
mockClock.tick();
|
||||
|
||||
assertErrorCall(successCombinedResult, resultCallback);
|
||||
}
|
||||
|
||||
function testCancelParentResults() {
|
||||
goog.result.wait(combinedResult, resultCallback);
|
||||
|
||||
goog.result.cancelParentResults(combinedResult);
|
||||
|
||||
assertArgumentContainsGivenResults(combinedResult.getValue())
|
||||
goog.array.forEach([result1, result2, result3, result4],
|
||||
function(result) {
|
||||
assertTrue(result.isCanceled());
|
||||
});
|
||||
}
|
||||
|
||||
function assertSuccessCall(combinedResult, resultCallback) {
|
||||
assertEquals(goog.result.Result.State.SUCCESS, combinedResult.getState());
|
||||
assertEquals(1, resultCallback.getCallCount());
|
||||
|
||||
var result = resultCallback.popLastCall().getArgument(0);
|
||||
assertEquals(combinedResult, result);
|
||||
assertArgumentContainsGivenResults(result.getValue());
|
||||
}
|
||||
|
||||
function assertErrorCall(combinedResult, resultCallback) {
|
||||
assertEquals(goog.result.Result.State.ERROR,
|
||||
combinedResult.getState());
|
||||
assertEquals(1, resultCallback.getCallCount());
|
||||
|
||||
var result = resultCallback.popLastCall().getArgument(0);
|
||||
assertEquals(combinedResult, result);
|
||||
assertArgumentContainsGivenResults(combinedResult.getError());
|
||||
}
|
||||
|
||||
function assertArgumentContainsGivenResults(resultsArray) {
|
||||
assertEquals(4, resultsArray.length);
|
||||
|
||||
goog.array.forEach([result1, result2, result3, result4], function(res) {
|
||||
assertTrue(goog.array.contains(resultsArray, res));
|
||||
});
|
||||
}
|
||||
|
||||
function resolveAllGivenResultsToSuccess() {
|
||||
goog.array.forEach([result1, result2, result3, result4], function(res) {
|
||||
res.setValue(1);
|
||||
});
|
||||
}
|
||||
|
||||
function resolveAllGivenResultsToError() {
|
||||
goog.array.forEach([result1, result2, result3, result4], function(res) {
|
||||
res.setError();
|
||||
});
|
||||
}
|
||||
|
||||
function resolveSomeGivenResultsToSuccess() {
|
||||
goog.array.forEach([result2, result3, result4], function(res) {
|
||||
res.setValue(1);
|
||||
});
|
||||
result1.setError();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user