<!DOCTYPE html>
<!--
Copyright (C) 2015 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
<title>Elements Test Runner</title>
<meta charset="utf-8">
<script src="../bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<script src="../bower_components/web-component-tester/browser.js"></script>
<script>
  var testFiles = [];

  [
    '../elements/change/gr-change-actions/gr-change-actions_test.html',
    '../elements/change/gr-change-metadata/gr-change-metadata_test.html',
    '../elements/change/gr-change-view/gr-change-view_test.html',
    '../elements/change/gr-confirm-rebase-dialog/gr-confirm-rebase-dialog_test.html',
    '../elements/change/gr-download-dialog/gr-download-dialog_test.html',
    '../elements/change/gr-file-list/gr-file-list_test.html',
    '../elements/change/gr-message/gr-message_test.html',
    '../elements/change/gr-messages-list/gr-messages-list_test.html',
    '../elements/change/gr-related-changes-list/gr-related-changes-list_test.html',
    '../elements/change/gr-reply-dialog/gr-reply-dialog_test.html',
    '../elements/change/gr-reviewer-list/gr-reviewer-list_test.html',
    '../elements/change-list/gr-change-list/gr-change-list_test.html',
    '../elements/change-list/gr-change-list-item/gr-change-list-item_test.html',
    '../elements/core/gr-account-dropdown/gr-account-dropdown_test.html',
    '../elements/core/gr-error-manager/gr-error-manager_test.html',
    '../elements/core/gr-main-header/gr-main-header_test.html',
    '../elements/core/gr-search-bar/gr-search-bar_test.html',
    '../elements/diff/gr-diff/gr-diff-builder_test.html',
    '../elements/diff/gr-diff/gr-diff-group_test.html',
    '../elements/diff/gr-diff/gr-diff_test.html',
    '../elements/diff/gr-diff-comment/gr-diff-comment_test.html',
    '../elements/diff/gr-diff-comment-thread/gr-diff-comment-thread_test.html',
    '../elements/diff/gr-diff-cursor/gr-diff-cursor_test.html',
    '../elements/diff/gr-diff-preferences/gr-diff-preferences_test.html',
    '../elements/diff/gr-diff-view/gr-diff-view_test.html',
    '../elements/diff/gr-patch-range-select/gr-patch-range-select_test.html',
    '../elements/shared/gr-alert/gr-alert_test.html',
    '../elements/shared/gr-account-label/gr-account-label_test.html',
    '../elements/shared/gr-account-link/gr-account-link_test.html',
    '../elements/shared/gr-alert/gr-alert_test.html',
    '../elements/shared/gr-avatar/gr-avatar_test.html',
    '../elements/shared/gr-change-star/gr-change-star_test.html',
    '../elements/shared/gr-confirm-dialog/gr-confirm-dialog_test.html',
    '../elements/shared/gr-cursor-manager/gr-cursor-manager_test.html',
    '../elements/shared/gr-date-formatter/gr-date-formatter_test.html',
    '../elements/shared/gr-js-api-interface/gr-js-api-interface_test.html',
    '../elements/shared/gr-linked-text/gr-linked-text_test.html',
    '../elements/shared/gr-rest-api-interface/gr-rest-api-interface_test.html',
    '../elements/shared/gr-storage/gr-storage_test.html',
  ].forEach(function(file) {
    testFiles.push(file);
    testFiles.push(file + '?dom=shadow');
  });

  WCT.loadSuites(testFiles);
</script>
