Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / extensions / renderer / utils_unittest.cc
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
5 #include "base/strings/stringprintf.h"
6 #include "extensions/renderer/module_system_test.h"
7 #include "gin/dictionary.h"
8 #include "grit/extensions_renderer_resources.h"
9
10 namespace extensions {
11 namespace {
12
13 class UtilsUnittest : public ModuleSystemTest {
14  private:
15   virtual void SetUp() OVERRIDE {
16     ModuleSystemTest::SetUp();
17
18     env()->RegisterModule("utils", IDR_UTILS_JS);
19     env()->RegisterTestFile("utils_unittest", "utils_unittest.js");
20     env()->OverrideNativeHandler("schema_registry",
21                                  "exports.GetSchema = function() {};");
22     env()->OverrideNativeHandler("logging",
23                                  "exports.CHECK = function() {};\n"
24                                  "exports.DCHECK = function() {};\n"
25                                  "exports.WARNING = function() {};");
26     env()->OverrideNativeHandler("v8_context", "");
27     gin::Dictionary chrome(env()->isolate(), env()->CreateGlobal("chrome"));
28     gin::Dictionary chrome_runtime(
29         gin::Dictionary::CreateEmpty(env()->isolate()));
30     chrome.Set("runtime", chrome_runtime);
31   }
32 };
33
34 TEST_F(UtilsUnittest, TestNothing) {
35   ExpectNoAssertionsMade();
36 }
37
38 TEST_F(UtilsUnittest, SuperClass) {
39   ModuleSystem::NativesEnabledScope natives_enabled_scope(
40       env()->module_system());
41   env()->module_system()->CallModuleMethod("utils_unittest", "testSuperClass");
42 }
43
44 TEST_F(UtilsUnittest, PromiseNoResult) {
45   ModuleSystem::NativesEnabledScope natives_enabled_scope(
46       env()->module_system());
47   env()->module_system()->CallModuleMethod("utils_unittest",
48                                            "testPromiseNoResult");
49   RunResolvedPromises();
50 }
51
52 TEST_F(UtilsUnittest, PromiseOneResult) {
53   ModuleSystem::NativesEnabledScope natives_enabled_scope(
54       env()->module_system());
55   env()->module_system()->CallModuleMethod("utils_unittest",
56                                            "testPromiseOneResult");
57   RunResolvedPromises();
58 }
59
60 TEST_F(UtilsUnittest, PromiseTwoResults) {
61   ModuleSystem::NativesEnabledScope natives_enabled_scope(
62       env()->module_system());
63   env()->module_system()->CallModuleMethod("utils_unittest",
64                                            "testPromiseTwoResults");
65   RunResolvedPromises();
66 }
67
68 TEST_F(UtilsUnittest, PromiseError) {
69   ModuleSystem::NativesEnabledScope natives_enabled_scope(
70       env()->module_system());
71   env()->module_system()->CallModuleMethod("utils_unittest",
72                                            "testPromiseError");
73   RunResolvedPromises();
74 }
75
76 }  // namespace
77 }  // namespace extensions