1// Copyright 2013 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/files/file_util.h"
6#include "base/path_service.h"
7#include "gin/test/file_runner.h"
8#include "testing/gtest/include/gtest/gtest.h"
9
10namespace gin {
11namespace {
12
13base::FilePath BasePath() {
14  base::FilePath path;
15  PathService::Get(base::DIR_SOURCE_ROOT, &path);
16  return path.AppendASCII("gin");
17}
18
19void RunTest(const base::FilePath& path) {
20  FileRunnerDelegate delegate;
21  RunTestFromFile(path, &delegate);
22}
23
24TEST(JSTest, File) {
25  RunTest(BasePath()
26          .AppendASCII("test")
27          .AppendASCII("file_unittests.js"));
28}
29
30TEST(JSTest, GTest) {
31  RunTest(BasePath()
32          .AppendASCII("test")
33          .AppendASCII("gtest_unittests.js"));
34}
35
36TEST(JSTest, ModuleRegistry) {
37  RunTest(BasePath()
38          .AppendASCII("modules")
39          .AppendASCII("module_registry_unittests.js"));
40}
41
42}  // namespace
43}  // gin
44