blob: 3eaa5c80c03fd01400657b3246523a19486cc4fd [file] [log] [blame]
[email protected]ed51006d2014-06-10 18:37:141// 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
5#include "base/strings/stringprintf.h"
thakis54f7dc92017-02-23 22:09:596#include "extensions/grit/extensions_renderer_resources.h"
[email protected]582f6e92014-07-16 23:39:157#include "extensions/renderer/module_system_test.h"
[email protected]ed51006d2014-06-10 18:37:148
9namespace extensions {
10namespace {
11
12class UtilsUnittest : public ModuleSystemTest {
rdevlin.croninfedbe842017-06-24 02:12:0313 public:
dchengf9afb372014-10-27 21:43:1414 void SetUp() override {
[email protected]ed51006d2014-06-10 18:37:1415 ModuleSystemTest::SetUp();
16
[email protected]d9f51dad2014-07-09 05:39:3817 env()->RegisterModule("utils", IDR_UTILS_JS);
[email protected]ee927642014-08-20 03:38:3218 env()->RegisterTestFile("utils_unittest", "utils_unittest.js");
[email protected]d9f51dad2014-07-09 05:39:3819 env()->OverrideNativeHandler("schema_registry",
rdevlin.cronin83a4b3a2015-10-28 21:43:5820 "exports.$set('GetSchema', function() {});");
[email protected]d9f51dad2014-07-09 05:39:3821 env()->OverrideNativeHandler("logging",
rdevlin.cronin83a4b3a2015-10-28 21:43:5822 "exports.$set('CHECK', function() {});\n"
23 "exports.$set('DCHECK', function() {});\n"
24 "exports.$set('WARNING', function() {});");
[email protected]ee927642014-08-20 03:38:3225 env()->OverrideNativeHandler("v8_context", "");
[email protected]ed51006d2014-06-10 18:37:1426 }
rdevlin.croninfedbe842017-06-24 02:12:0327
28 void RunTest(const std::string& test_name) { RunTestImpl(test_name, false); }
29
30 void RunTestWithPromises(const std::string& test_name) {
31 RunTestImpl(test_name, true);
32 }
33
34 private:
35 void RunTestImpl(const std::string& test_name, bool run_promises) {
36 ModuleSystem::NativesEnabledScope natives_enabled_scope(
37 env()->module_system());
38 ASSERT_FALSE(env()
39 ->module_system()
40 ->Require("utils_unittest")
41 .ToLocalChecked()
42 .IsEmpty());
43 env()->module_system()->CallModuleMethodSafe("utils_unittest", test_name);
44 if (run_promises)
45 RunResolvedPromises();
46 }
[email protected]ed51006d2014-06-10 18:37:1447};
48
49TEST_F(UtilsUnittest, TestNothing) {
50 ExpectNoAssertionsMade();
51}
52
53TEST_F(UtilsUnittest, SuperClass) {
rdevlin.croninfedbe842017-06-24 02:12:0354 RunTest("testSuperClass");
[email protected]ee927642014-08-20 03:38:3255}
[email protected]ed51006d2014-06-10 18:37:1456
[email protected]ed51006d2014-06-10 18:37:1457} // namespace
58} // namespace extensions