utils_unittest.cc 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "extensions/grit/extensions_renderer_resources.h"
  5. #include "extensions/renderer/module_system_test.h"
  6. namespace extensions {
  7. namespace {
  8. class UtilsUnittest : public ModuleSystemTest {
  9. public:
  10. void SetUp() override {
  11. ModuleSystemTest::SetUp();
  12. env()->RegisterModule("utils", IDR_UTILS_JS);
  13. env()->RegisterTestFile("utils_unittest", "utils_unittest.js");
  14. env()->OverrideNativeHandler("schema_registry",
  15. "exports.$set('GetSchema', function() {});");
  16. env()->OverrideNativeHandler("logging",
  17. "exports.$set('CHECK', function() {});\n"
  18. "exports.$set('DCHECK', function() {});\n"
  19. "exports.$set('WARNING', function() {});");
  20. env()->OverrideNativeHandler("v8_context", "");
  21. }
  22. void RunTest(const std::string& test_name) { RunTestImpl(test_name, false); }
  23. void RunTestWithPromises(const std::string& test_name) {
  24. RunTestImpl(test_name, true);
  25. }
  26. private:
  27. void RunTestImpl(const std::string& test_name, bool run_promises) {
  28. ModuleSystem::NativesEnabledScope natives_enabled_scope(
  29. env()->module_system());
  30. ASSERT_FALSE(env()
  31. ->module_system()
  32. ->Require("utils_unittest")
  33. .ToLocalChecked()
  34. .IsEmpty());
  35. env()->module_system()->CallModuleMethodSafe("utils_unittest", test_name);
  36. if (run_promises)
  37. RunResolvedPromises();
  38. }
  39. };
  40. TEST_F(UtilsUnittest, TestNothing) {
  41. ExpectNoAssertionsMade();
  42. }
  43. TEST_F(UtilsUnittest, SuperClass) {
  44. RunTest("testSuperClass");
  45. }
  46. } // namespace
  47. } // namespace extensions