Index: chrome/browser/extensions/api/declarative_content/declarative_content_apitest.cc |
diff --git a/chrome/browser/extensions/api/declarative_content/declarative_content_apitest.cc b/chrome/browser/extensions/api/declarative_content/declarative_content_apitest.cc |
index c75431674f92be195e45fe94f9edd36926abc379..1baaa7429c327a43274755f994b5b651fc8ca311 100644 |
--- a/chrome/browser/extensions/api/declarative_content/declarative_content_apitest.cc |
+++ b/chrome/browser/extensions/api/declarative_content/declarative_content_apitest.cc |
@@ -109,5 +109,50 @@ IN_PROC_BROWSER_TEST_F(DeclarativeContentApiTest, Overview) { |
EXPECT_FALSE(page_action->GetIsVisible(tab_id)); |
} |
+IN_PROC_BROWSER_TEST_F(DeclarativeContentApiTest, |
+ CanonicalizesPageStateMatcherCss) { |
+ ext_dir_.WriteManifest(kDeclarativeContentManifest); |
+ ext_dir_.WriteFile( |
+ FILE_PATH_LITERAL("background.js"), |
+ "var declarative = chrome.declarative;\n" |
+ "\n" |
+ "var PageStateMatcher = chrome.declarativeContent.PageStateMatcher;\n" |
+ "\n" |
+ "chrome.test.runTests([\n" |
+ " function canonicalizesCss() {\n" |
+ " var psm = new PageStateMatcher(\n" |
+ " {css: [\"input[type='password']\"]});\n" |
+ " chrome.test.assertEq(['input[type=\"password\"]'], psm.css);\n" |
+ " chrome.test.succeed();\n" |
+ " },\n" |
+ "\n" |
+ " function throwsOnBadCss() {\n" |
+ " function NewPageStateMatcher(obj) {\n" |
+ " return new PageStateMatcher(obj);\n" |
+ " }" |
+ " chrome.test.assertThrows(NewPageStateMatcher,\n" |
+ " undefined,\n" |
+ " [{css: [\"input''\"]}],\n" |
+ " /valid.*: input''$/);\n" |
+ " chrome.test.succeed();\n" |
+ " },\n" |
+ "\n" |
+ " function throwsOnComplexSelector() {\n" |
+ " function NewPageStateMatcher(obj) {\n" |
+ " return new PageStateMatcher(obj);\n" |
+ " }" |
+ " chrome.test.assertThrows(NewPageStateMatcher,\n" |
+ " undefined,\n" |
+ " [{css: [\"div input\"]}],\n" |
+ " /compound selector.*: div input$/);\n" |
not at google - send to devlin
2013/08/29 15:20:25
invalid types too?
Jeffrey Yasskin
2013/08/29 21:46:43
I'm not sure what you mean here. The actual messag
not at google - send to devlin
2013/08/29 22:24:03
Oh I meant like rather than passing in a string pa
|
+ " chrome.test.succeed();\n" |
+ " },\n" |
+ "]);\n" |
+ "\n"); |
+ ResultCatcher catcher; |
+ ASSERT_TRUE(LoadExtension(ext_dir_.unpacked_path())); |
+ ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
+} |
+ |
} // namespace |
} // namespace extensions |