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

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

Issue 6413014: Original patch from issue 570048 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: a few fixes 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
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>

Powered by Google App Engine
This is Rietveld 408576698