| Index: chrome/test/data/extensions/api_test/tabs/zoom_getset/test.html
|
| diff --git a/chrome/test/data/extensions/api_test/tabs/zoom_getset/test.html b/chrome/test/data/extensions/api_test/tabs/zoom_getset/test.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d0867798067c9926e5919c8b728097c2b89ad96f
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/tabs/zoom_getset/test.html
|
| @@ -0,0 +1,149 @@
|
| +<script>
|
| +
|
| +var blankURL = chrome.extension.getURL('blank.html');
|
| +
|
| +// Not sure if this precaution is necessary
|
| +function assertFloatEq(a, b) {
|
| + var epsilon = 0.00001;
|
| + chrome.test.assertTrue(Math.abs(a - b) < epsilon);
|
| +}
|
| +
|
| +chrome.test.runTests([
|
| + function getSet() {
|
| + var expectedZoomPercent = 120;
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + chrome.tabs.setZoomPercent(tab.id, expectedZoomPercent,
|
| + function(actualZoomPercent1) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent1);
|
| +
|
| + chrome.tabs.getZoomPercent(tab.id, function(actualZoomPercent2) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent2);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + });
|
| + },
|
| +
|
| + function setReal() {
|
| + // This will be treated as a real number internally
|
| + var expectedZoomPercent = 120.11;
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + chrome.tabs.setZoomPercent(tab.id, expectedZoomPercent,
|
| + function(actualZoomPercent) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| +
|
| + function setInteger() {
|
| + // This will be treated as an integer internally
|
| + var expectedZoomPercent = 120;
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + chrome.tabs.setZoomPercent(tab.id, expectedZoomPercent,
|
| + function(actualZoomPercent) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| +
|
| + function setAboveLimit() {
|
| + var requestedZoomPercent = 400;
|
| + var expectedZoomPercent = 300; // The max zoom
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + chrome.tabs.setZoomPercent(tab.id, requestedZoomPercent,
|
| + function(actualZoomPercent) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| +
|
| + function setBelowLimit() {
|
| + var requestedZoomPercent = 10;
|
| + var expectedZoomPercent = 50; // The min zoom
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + chrome.tabs.setZoomPercent(tab.id, requestedZoomPercent,
|
| + function(actualZoomPercent) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| +
|
| + function setZero() {
|
| + var requestedZoomPercent = 0;
|
| + var expectedZoomPercent = 50;
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + chrome.tabs.setZoomPercent(tab.id, requestedZoomPercent,
|
| + function(actualZoomPercent) {
|
| + assertFloatEq(expectedZoomPercent, actualZoomPercent);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| +
|
| + function setNegative() {
|
| + var requestedZoomPercent = -1;
|
| + var expectedZoomPercent = 100;
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + try {
|
| + chrome.tabs.setZoomPercent(tab.id, requestedZoomPercent);
|
| + } catch (err) {
|
| + chrome.test.assertEq(
|
| + 'Invalid value for argument 2. Value must not be less than 0.',
|
| + err.message);
|
| + chrome.test.succeed();
|
| + return;
|
| + }
|
| +
|
| + chrome.test.fail('Expected error');
|
| + });
|
| + },
|
| +
|
| + function setNaN() {
|
| + var requestedZoomPercent = Number.NaN;
|
| + var expectedZoomPercent = 100;
|
| +
|
| + chrome.tabs.create({ url: blankURL }, function(tab) {
|
| + try {
|
| + chrome.tabs.setZoomPercent(tab.id, requestedZoomPercent);
|
| + } catch (err) {
|
| + chrome.test.assertEq(
|
| + 'Invalid value for argument 2. Value must not be NaN.',
|
| + err.message);
|
| + chrome.test.succeed();
|
| + return;
|
| + }
|
| +
|
| + chrome.test.fail('Expected error');
|
| + });
|
| + },
|
| +
|
| + function setBadTabId() {
|
| + chrome.tabs.setZoomPercent(12345, 100, function() {
|
| + chrome.test.assertEq('No tab with id: 12345.',
|
| + chrome.extension.lastError.message);
|
| + chrome.test.succeed();
|
| + });
|
| + },
|
| +
|
| + function getBadTabId() {
|
| + chrome.tabs.getZoomPercent(12345, function() {
|
| + chrome.test.assertEq('No tab with id: 12345.',
|
| + chrome.extension.lastError.message);
|
| + chrome.test.succeed();
|
| + });
|
| + }
|
| +
|
| +]);
|
| +
|
| +</script>
|
|
|