summaryrefslogtreecommitdiff
path: root/vendor/oojs/oojs-ui/tests/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/oojs/oojs-ui/tests/index.php')
-rw-r--r--vendor/oojs/oojs-ui/tests/index.php77
1 files changed, 77 insertions, 0 deletions
diff --git a/vendor/oojs/oojs-ui/tests/index.php b/vendor/oojs/oojs-ui/tests/index.php
new file mode 100644
index 00000000..d8e06835
--- /dev/null
+++ b/vendor/oojs/oojs-ui/tests/index.php
@@ -0,0 +1,77 @@
+<?php
+ $autoload = '../vendor/autoload.php';
+ if ( !file_exists( $autoload ) ) {
+ echo '<h1>Did you forget to run <code>composer install</code>?</h1>';
+ exit;
+ }
+ require_once $autoload;
+
+ $testSuiteFile = 'JSPHP-suite.json';
+ if ( !file_exists( $testSuiteFile ) ) {
+ echo '<h1>Did you forget to run <code>grunt build</code>?</h1>';
+ exit;
+ }
+ $testSuiteJSON = file_get_contents( $testSuiteFile );
+ $testSuite = json_decode( $testSuiteJSON, true );
+?>
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head>
+ <meta charset="UTF-8">
+ <title>OOjs UI Test Suite</title>
+ <link rel="stylesheet" href="../node_modules/qunitjs/qunit/qunit.css">
+ <script src="../node_modules/qunitjs/qunit/qunit.js"></script>
+ <script src="./QUnit.assert.equalDomElement.js"></script>
+ <script>
+ QUnit.config.requireExpects = true;
+ </script>
+ <!-- Dependencies -->
+ <script src="../node_modules/jquery/dist/jquery.js"></script>
+ <script src="../node_modules/oojs/dist/oojs.jquery.js"></script>
+ <!-- Source code -->
+ <script src="../dist/oojs-ui.js"></script>
+ <script src="../dist/oojs-ui-apex.js"></script>
+ <script src="../dist/oojs-ui-mediawiki.js"></script>
+ <!-- Test suites -->
+ <script src="./Element.test.js"></script>
+ <script src="./Process.test.js"></script>
+ <script src="./elements/FlaggedElement.test.js"></script>
+ <!-- JS/PHP comparison tests -->
+ <script>OO.ui.JSPHPTestSuite = <?php echo $testSuiteJSON; ?></script>
+ <script src="./JSPHP.test.standalone.js"></script>
+</head>
+<body>
+ <div id="JSPHPTestSuite" style="display: none;">
+ <?php
+ function new_OOUI( $class, $config = array() ) {
+ $class = "OOUI\\" . $class;
+ return new $class( $config );
+ }
+ function unstub( &$value ) {
+ if ( is_string( $value ) && substr( $value, 0, 13 ) === '_placeholder_' ) {
+ $value = json_decode( substr( $value, 13 ), true );
+ array_walk_recursive( $value['config'], 'unstub' );
+ $value = new_OOUI( $value['class'], $value['config'] );
+ }
+ }
+ // Keep synchronized with bin/generate-JSPHP-for-karma.php
+ $themes = array( 'ApexTheme', 'MediaWikiTheme' );
+ foreach ( $themes as $theme ) {
+ OOUI\Theme::setSingleton( new_OOUI( $theme ) );
+ foreach ( $testSuite as $className => $tests ) {
+ foreach ( $tests as $index => $test ) {
+ // Unstub placeholders
+ $config = $test['config'];
+ array_walk_recursive( $config, 'unstub' );
+ $config['infusable'] = true;
+ $instance = new_OOUI( $test['class'], $config );
+ echo "<div id='JSPHPTestSuite_$theme$className$index'>$instance</div>\n";
+ }
+ }
+ }
+ ?>
+ </div>
+ <div id="qunit"></div>
+ <div id="qunit-fixture"></div>
+</body>
+</html>