Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5733)

Unified Diff: chrome/test/data/extensions/api_test/tabs/zoom_getset/test.html

Issue 570048: Add zoom extension API (Closed)
Patch Set: Zoom extension API with docs and examples Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/extensions/api_test/tabs/zoom_getset/manifest.json ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..d345bc70822b0fba10eb76275fc2200e80655da0
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/tabs/zoom_getset/test.html
@@ -0,0 +1,130 @@
+<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) {
+ chrome.tabs.setZoomPercent(tab.id, requestedZoomPercent, function() {
+ // That should have resulted in an error
+ chrome.test.assertFalse(typeof chrome.extension.lastError === 'undefined');
+ chrome.test.succeed();
+ });
+ });
+ },
+
+ 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.succeed();
+ }
+ });
+ },
+
+ function setBadTabId() {
+ chrome.tabs.setZoomPercent(12345, 100, function() {
+ chrome.test.assertFalse(typeof chrome.extension.lastError === 'undefined');
+ chrome.test.succeed();
+ });
+ },
+
+ function getBadTabId() {
+ chrome.tabs.getZoomPercent(12345, function() {
+ chrome.test.assertFalse(typeof chrome.extension.lastError === 'undefined');
+ chrome.test.succeed();
+ });
+ }
+
+]);
+
+</script>
« no previous file with comments | « chrome/test/data/extensions/api_test/tabs/zoom_getset/manifest.json ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698