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

Unified Diff: chrome/test/data/extensions/api_test/native_bindings/declarative_content/background.js

Issue 2853023002: [Extensions Bindings] Add native declarativeContent verification (Closed)
Patch Set: +test Created 3 years, 8 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/native_bindings/declarative_content/background.js
diff --git a/chrome/test/data/extensions/api_test/native_bindings/declarative_content/background.js b/chrome/test/data/extensions/api_test/native_bindings/declarative_content/background.js
index b2fa91496778abb74017ab066e839007cd6c9317..dead4fbcfb9665db0753bb4a5d70d3e37aaf636e 100644
--- a/chrome/test/data/extensions/api_test/native_bindings/declarative_content/background.js
+++ b/chrome/test/data/extensions/api_test/native_bindings/declarative_content/background.js
@@ -8,16 +8,23 @@
const kRuleId = 'rule1';
+var canvas = document.createElement('canvas');
+var ctx = canvas.getContext('2d');
+var imageData = ctx.createImageData(19, 19);
jbroman 2017/05/01 20:16:40 nit: Why not just "new ImageData(19, 19)"?
Devlin 2017/05/01 20:46:47 copy-paste code. Simplified.
+
var rule = {
conditions: [
new chrome.declarativeContent.PageStateMatcher(
{pageUrl: {hostPrefix: 'example'}}),
], actions: [
new chrome.declarativeContent.ShowPageAction(),
+ new chrome.declarativeContent.SetIcon({imageData: imageData}),
],
id: kRuleId,
};
+console.warn(JSON.stringify(rule));
jbroman 2017/05/01 20:16:40 Was this left here from debugging?
Devlin 2017/05/01 20:46:47 Whoops, thought I caught them all. Removed.
+
chrome.pageAction.onClicked.addListener(function() {
chrome.declarativeContent.onPageChanged.removeRules([kRuleId], function() {
chrome.declarativeContent.onPageChanged.getRules(function(rules) {
@@ -34,3 +41,24 @@ chrome.declarativeContent.onPageChanged.addRules([rule], function() {
chrome.test.sendMessage('ready');
});
});
+
+function didThrow(func) {
+ var caught = false;
+ try {
+ func();
+ } catch (e) {
+ caught = true;
+ }
+ return caught;
+}
+
+chrome.test.runTests([
+ function validationCheck() {
+ // Test that type constructions are properly validated.
+ chrome.test.assertTrue(didThrow(function() {
+ var matcher = new chrome.declarativeContent.PageStateMatcher(
+ {pageUrl: {fake: 'bogus'}});
+ }));
+ chrome.test.succeed();
+ },
+]);

Powered by Google App Engine
This is Rietveld 408576698