# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

DIRS += [
    'manifests',
    'tests',
    'ssltunnel',
    'BrowserTestUtils',
]

XPI_NAME = 'mochijar'

JAR_MANIFESTS += ['jar.mn']

USE_EXTENSION_MANIFEST = True

FINAL_TARGET_PP_FILES += ['install.rdf']

if CONFIG['OS_TARGET'] != 'Android':
    DEFINES['MOCHITEST_BOOTSTRAP'] = True
    FINAL_TARGET_FILES += ['bootstrap.js']

MOCHITEST_MANIFESTS += [
    'tests/MochiKit-1.4.2/tests/mochitest.ini',
]
MOCHITEST_CHROME_MANIFESTS += ['chrome/chrome.ini']

GENERATED_FILES += [
    'automation.py',
]

TEST_HARNESS_FILES.testing.mochitest += [
    '!automation.py',
    '/build/mobile/remoteautomation.py',
    '/build/pgo/server-locations.txt',
    '/build/sanitizers/lsan_suppressions.txt',
    '/build/valgrind/cross-architecture.sup',
    '/build/valgrind/i386-redhat-linux-gnu.sup',
    '/build/valgrind/x86_64-redhat-linux-gnu.sup',
    '/netwerk/test/httpserver/httpd.js',
    'bisection.py',
    'browser-harness.xul',
    'browser-test-overlay.xul',
    'browser-test.js',
    'chrome-harness.js',
    'chunkifyTests.js',
    'gen_template.pl',
    'harness.xul',
    'jetpack-addon-harness.js',
    'jetpack-addon-overlay.xul',
    'jetpack-package-harness.js',
    'jetpack-package-overlay.xul',
    'leaks.py',
    'mach_test_package_commands.py',
    'manifest.webapp',
    'manifestLibrary.js',
    'mochitest_options.py',
    'nested_setup.js',
    'pywebsocket_wrapper.py',
    'redirect.html',
    'runrobocop.py',
    'runtests.py',
    'runtestsremote.py',
    'server.js',
    'start_desktop.js',
]

TEST_HARNESS_FILES.testing.mochitest.embed += [
    'embed/Xm5i5kbIXzc',
    'embed/Xm5i5kbIXzc^headers^',
]

TEST_HARNESS_FILES.testing.mochitest.pywebsocket += [
    'pywebsocket/standalone.py',
]

TEST_HARNESS_FILES.testing.mochitest.pywebsocket.mod_pywebsocket += [
    'pywebsocket/mod_pywebsocket/__init__.py',
    'pywebsocket/mod_pywebsocket/_stream_base.py',
    'pywebsocket/mod_pywebsocket/_stream_hixie75.py',
    'pywebsocket/mod_pywebsocket/_stream_hybi.py',
    'pywebsocket/mod_pywebsocket/common.py',
    'pywebsocket/mod_pywebsocket/dispatch.py',
    'pywebsocket/mod_pywebsocket/extensions.py',
    'pywebsocket/mod_pywebsocket/fast_masking.i',
    'pywebsocket/mod_pywebsocket/headerparserhandler.py',
    'pywebsocket/mod_pywebsocket/http_header_util.py',
    'pywebsocket/mod_pywebsocket/memorizingfile.py',
    'pywebsocket/mod_pywebsocket/msgutil.py',
    'pywebsocket/mod_pywebsocket/mux.py',
    'pywebsocket/mod_pywebsocket/stream.py',
    'pywebsocket/mod_pywebsocket/util.py',
    'pywebsocket/mod_pywebsocket/xhr_benchmark_handler.py',
]

TEST_HARNESS_FILES.testing.mochitest.pywebsocket.mod_pywebsocket.handshake += [
    'pywebsocket/mod_pywebsocket/handshake/__init__.py',
    'pywebsocket/mod_pywebsocket/handshake/_base.py',
    'pywebsocket/mod_pywebsocket/handshake/hybi.py',
    'pywebsocket/mod_pywebsocket/handshake/hybi00.py',
]

TEST_HARNESS_FILES.testing.mochitest.dynamic += [
    'dynamic/getMyDirectory.sjs',
]

TEST_HARNESS_FILES.testing.mochitest.static += [
    'static/harness.css',
]

TEST_HARNESS_FILES.testing.mochitest.MochiKit += [
    'MochiKit/__package__.js',
    'MochiKit/Async.js',
    'MochiKit/Base.js',
    'MochiKit/Color.js',
    'MochiKit/Controls.js',
    'MochiKit/DateTime.js',
    'MochiKit/DOM.js',
    'MochiKit/DragAndDrop.js',
    'MochiKit/Format.js',
    'MochiKit/Iter.js',
    'MochiKit/Logging.js',
    'MochiKit/LoggingPane.js',
    'MochiKit/MochiKit.js',
    'MochiKit/MockDOM.js',
    'MochiKit/New.js',
    'MochiKit/Signal.js',
    'MochiKit/Sortable.js',
    'MochiKit/Style.js',
    'MochiKit/Test.js',
    'MochiKit/Visual.js',
]

TEST_HARNESS_FILES.testing.mochitest.tests.testing.mochitest.tests['MochiKit-1.4.2'].MochiKit += [
    'tests/MochiKit-1.4.2/MochiKit/Async.js',
    'tests/MochiKit-1.4.2/MochiKit/Base.js',
    'tests/MochiKit-1.4.2/MochiKit/Color.js',
    'tests/MochiKit-1.4.2/MochiKit/DateTime.js',
    'tests/MochiKit-1.4.2/MochiKit/DOM.js',
    'tests/MochiKit-1.4.2/MochiKit/DragAndDrop.js',
    'tests/MochiKit-1.4.2/MochiKit/Format.js',
    'tests/MochiKit-1.4.2/MochiKit/Iter.js',
    'tests/MochiKit-1.4.2/MochiKit/Logging.js',
    'tests/MochiKit-1.4.2/MochiKit/LoggingPane.js',
    'tests/MochiKit-1.4.2/MochiKit/MochiKit.js',
    'tests/MochiKit-1.4.2/MochiKit/MockDOM.js',
    'tests/MochiKit-1.4.2/MochiKit/Position.js',
    'tests/MochiKit-1.4.2/MochiKit/Selector.js',
    'tests/MochiKit-1.4.2/MochiKit/Signal.js',
    'tests/MochiKit-1.4.2/MochiKit/Sortable.js',
    'tests/MochiKit-1.4.2/MochiKit/Style.js',
    'tests/MochiKit-1.4.2/MochiKit/Test.js',
    'tests/MochiKit-1.4.2/MochiKit/Visual.js',
]

TEST_HARNESS_FILES.testing.mochitest.iceserver += [
    '/testing/tools/iceserver/iceserver.py',
]

TEST_HARNESS_FILES.testing.mochitest.websocketprocessbridge += [
    '/testing/tools/websocketprocessbridge/websocketprocessbridge.py',
    '/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements.txt',
]

with Files("**"):
    BUG_COMPONENT = ("Testing", "Mochitest")

with Files("*remote*"):
    BUG_COMPONENT = ("Firefox for Android", "Testing")

with Files("chrome/**"):
    BUG_COMPONENT = ("Testing", "Mochitest Chrome")

with Files("chrome-harness.js"):
    BUG_COMPONENT = ("Testing", "Mochitest Chrome")

with Files("BrowserTestUtils/**"):
    BUG_COMPONENT = ("Testing", "BrowserTest")

with Files("browser*"):
    BUG_COMPONENT = ("Testing", "BrowserTest")

with Files("tests/browser/**"):
    BUG_COMPONENT = ("Testing", "BrowserTest")
