libraries.module | 8 + tests/libraries.test | 56 +++---- tests/{ => libraries}/example/README.txt | 17 ++- tests/{ => libraries}/example/example_1.css | 5 +- tests/{ => libraries}/example/example_1.js | 4 +- tests/{ => libraries}/example/example_1.php | 2 +- tests/{ => libraries}/example/example_2.css | 5 +- tests/{ => libraries}/example/example_2.js | 4 +- tests/{ => libraries}/example/example_2.php | 2 +- tests/{ => libraries}/example/example_3.css | 5 +- tests/{ => libraries}/example/example_3.js | 4 +- tests/{ => libraries}/example/example_3.php | 2 +- tests/{ => libraries}/example/example_4.css | 5 +- tests/{ => libraries}/example/example_4.js | 4 +- tests/{ => libraries}/example/example_4.php | 2 +- .../example_info_file.libraries.info | 1 - tests/libraries_test.js | 18 --- .../libraries_test_module.css} | 4 +- .../libraries_test_module.inc} | 2 +- .../libraries_test_module.info} | 0 .../libraries_test_module/libraries_test_module.js | 18 +++ .../libraries_test_module.module} | 164 ++++++++++----------- 22 files changed, 173 insertions(+), 159 deletions(-) diff --git a/libraries.module b/libraries.module index 6aa6fe7..83d2822 100644 --- a/libraries.module +++ b/libraries.module @@ -493,9 +493,11 @@ function libraries_detect($name) { // Re-use the statically cached value of libraries_info() to save memory. $library = &libraries_info($name); + // Exit early if the library was not found. if ($library === FALSE) { return $library; } + // If 'installed' is set, library detection ran already. if (isset($library['installed'])) { return $library; @@ -632,6 +634,12 @@ function libraries_load($name, $variant = NULL) { cache_set($name, $library, 'cache_libraries'); } + // Exit early if the library was not found. + if ($library === FALSE) { + $loaded[$name] = $library; + return $loaded[$name]; + } + // If a variant was specified, override the top-level properties with the // variant properties. if (isset($variant)) { diff --git a/tests/libraries.test b/tests/libraries.test index 941d949..4274062 100644 --- a/tests/libraries.test +++ b/tests/libraries.test @@ -72,7 +72,7 @@ class LibrariesTestCase extends DrupalWebTestCase { } function setUp() { - parent::setUp('libraries', 'libraries_test'); + parent::setUp('libraries', 'libraries_test_module'); } /** @@ -131,6 +131,7 @@ class LibrariesTestCase extends DrupalWebTestCase { // FALSE for missing or incompatible dependencies. $library['installed'] = TRUE; libraries_detect_dependencies($library); + $this->verbose('Library:
' . var_export($library, TRUE) . '
'); $this->assertTrue($library['installed'], "libraries_detect_dependencies() detects compatible version string: '$version_string' is compatible with '$version'"); } foreach ($incompatible as $version_string) { @@ -138,6 +139,7 @@ class LibrariesTestCase extends DrupalWebTestCase { $library['installed'] = TRUE; unset($library['error'], $library['error message']); libraries_detect_dependencies($library); + $this->verbose('Library:
' . var_export($library, TRUE) . '
'); $this->assertEqual($library['error'], 'incompatible dependency', "libraries_detect_dependencies() detects incompatible version strings: '$version_string' is incompatible with '$version'"); } // Instead of repeating this assertion for each version string, we just @@ -157,7 +159,7 @@ class LibrariesTestCase extends DrupalWebTestCase { */ function testLibrariesScanInfoFiles() { $expected = array('example_info_file' => (object) array( - 'uri' => drupal_get_path('module', 'libraries') . '/tests/example/example_info_file.libraries.info', + 'uri' => drupal_get_path('module', 'libraries') . '/tests/libraries/example_info_file.libraries.info', 'filename' => 'example_info_file.libraries.info', 'name' => 'example_info_file.libraries', )); @@ -172,7 +174,7 @@ class LibrariesTestCase extends DrupalWebTestCase { // Test that library information is found correctly. $expected = array( 'name' => 'Example files', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'files' => array( 'js' => array('example_1.js' => array()), @@ -180,7 +182,7 @@ class LibrariesTestCase extends DrupalWebTestCase { 'php' => array('example_1.php' => array()), ), 'info type' => 'module', - 'module' => 'libraries_test', + 'module' => 'libraries_test_module', ); libraries_info_defaults($expected, 'example_files'); $library = libraries_info('example_files'); @@ -192,7 +194,7 @@ class LibrariesTestCase extends DrupalWebTestCase { $expected = array( 'name' => 'Example info file', 'info type' => 'info file', - 'info file' => drupal_get_path('module', 'libraries_test') . '/example/example_info_file.libraries.info', + 'info file' => drupal_get_path('module', 'libraries') . '/tests/libraries/example_info_file.libraries.info', ); libraries_info_defaults($expected, 'example_info_file'); $library = libraries_info('example_info_file'); @@ -319,7 +321,7 @@ class LibrariesTestCase extends DrupalWebTestCase { function testCallbacks() { $expected = array( 'name' => 'Example callback', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'versions' => array( '1' => array( @@ -352,12 +354,12 @@ class LibrariesTestCase extends DrupalWebTestCase { ), ), 'callbacks' => array( - 'info' => array('_libraries_test_info_callback'), - 'pre-detect' => array('_libraries_test_pre_detect_callback'), - 'post-detect' => array('_libraries_test_post_detect_callback'), - 'pre-dependencies-load' => array('_libraries_test_pre_dependencies_load_callback'), - 'pre-load' => array('_libraries_test_pre_load_callback'), - 'post-load' => array('_libraries_test_post_load_callback'), + 'info' => array('_libraries_test_module_info_callback'), + 'pre-detect' => array('_libraries_test_module_pre_detect_callback'), + 'post-detect' => array('_libraries_test_module_post_detect_callback'), + 'pre-dependencies-load' => array('_libraries_test_module_pre_dependencies_load_callback'), + 'pre-load' => array('_libraries_test_module_pre_load_callback'), + 'post-load' => array('_libraries_test_module_post_load_callback'), ), 'info callback' => 'not applied', 'pre-detect callback' => 'not applied', @@ -366,7 +368,7 @@ class LibrariesTestCase extends DrupalWebTestCase { 'pre-load callback' => 'not applied', 'post-load callback' => 'not applied', 'info type' => 'module', - 'module' => 'libraries_test', + 'module' => 'libraries_test_module', ); libraries_info_defaults($expected, 'example_callback'); @@ -433,37 +435,37 @@ class LibrariesTestCase extends DrupalWebTestCase { * We check for JavaScript and CSS files directly in the DOM and add a list of * included PHP files manually to the page output. * - * @see _libraries_test_load() + * @see _libraries_test_module_load() */ function testLibrariesOutput() { // Test loading of a simple library with a top-level files property. - $this->drupalGet('libraries_test/files'); + $this->drupalGet('libraries-test-module/files'); $this->assertLibraryFiles('example_1', 'File loading'); // Test loading of integration files. - $this->drupalGet('libraries_test/integration_files'); - $this->assertRaw('libraries_test.js', 'Integration file loading: libraries_test.js found'); - $this->assertRaw('libraries_test.css', 'Integration file loading: libraries_test.css found'); - $this->assertRaw('libraries_test.inc', 'Integration file loading: libraries_test.inc found'); + $this->drupalGet('libraries-test-module/integration-files'); + $this->assertRaw('libraries_test_module.js', 'Integration file loading: libraries_test.js found'); + $this->assertRaw('libraries_test_module.css', 'Integration file loading: libraries_test.css found'); + $this->assertRaw('libraries_test_module.inc', 'Integration file loading: libraries_test.inc found'); // Test version overloading. - $this->drupalGet('libraries_test/versions'); + $this->drupalGet('libraries-test-module/versions'); $this->assertLibraryFiles('example_2', 'Version overloading'); // Test variant loading. - $this->drupalGet('libraries_test/variant'); + $this->drupalGet('libraries-test-module/variant'); $this->assertLibraryFiles('example_3', 'Variant loading'); // Test version overloading and variant loading. - $this->drupalGet('libraries_test/versions_and_variants'); + $this->drupalGet('libraries-test-module/versions-and-variants'); $this->assertLibraryFiles('example_4', 'Concurrent version and variant overloading'); // Test caching. - variable_set('libraries_test_cache', TRUE); + variable_set('libraries_test_module_cache', TRUE); cache_clear_all('example_callback', 'cache_libraries'); // When the library information is not cached, all callback groups should be // invoked. - $this->drupalGet('libraries_test/cache'); + $this->drupalGet('libraries-test-module/cache'); $this->assertRaw('The info callback group was invoked.', 'Info callback invoked for uncached libraries.'); $this->assertRaw('The pre-detect callback group was invoked.', 'Pre-detect callback invoked for uncached libraries.'); $this->assertRaw('The post-detect callback group was invoked.', 'Post-detect callback invoked for uncached libraries.'); @@ -471,13 +473,13 @@ class LibrariesTestCase extends DrupalWebTestCase { $this->assertRaw('The post-load callback group was invoked.', 'Post-load callback invoked for uncached libraries.'); // When the library information is cached only the 'pre-load' and // 'post-load' callback groups should be invoked. - $this->drupalGet('libraries_test/cache'); + $this->drupalGet('libraries-test-module/cache'); $this->assertNoRaw('The info callback group was not invoked.', 'Info callback not invoked for cached libraries.'); $this->assertNoRaw('The pre-detect callback group was not invoked.', 'Pre-detect callback not invoked for cached libraries.'); $this->assertNoRaw('The post-detect callback group was not invoked.', 'Post-detect callback not invoked for cached libraries.'); $this->assertRaw('The pre-load callback group was invoked.', 'Pre-load callback invoked for cached libraries.'); $this->assertRaw('The post-load callback group was invoked.', 'Post-load callback invoked for cached libraries.'); - variable_set('libraries_test_cache', FALSE); + variable_set('libraries_test_module_cache', FALSE); } /** @@ -525,7 +527,7 @@ class LibrariesTestCase extends DrupalWebTestCase { foreach ($names as $name => $expected) { foreach ($extensions as $extension) { - $filepath = drupal_get_path('module', 'libraries_test') . "/example/$name.$extension"; + $filepath = drupal_get_path('module', 'libraries') . "/tests/libraries/example/$name.$extension"; // JavaScript and CSS files appear as full URLs and with an appended // query string. if (in_array($extension, array('js', 'css'))) { diff --git a/tests/example/README.txt b/tests/libraries/example/README.txt similarity index 76% rename from tests/example/README.txt rename to tests/libraries/example/README.txt index e3582c2..6c50a58 100644 --- a/tests/example/README.txt +++ b/tests/libraries/example/README.txt @@ -14,11 +14,11 @@ CSS and PHP files. place the following text on the page: "If this text shows up, no JavaScript test file was loaded." This text is replaced via JavaScript by a text of the form: - "If this text shows up, [[file] was loaded successfully." + "If this text shows up, [file] was loaded successfully." [file] is either 'example_1.js', 'example_2.js', 'example_3.js', - 'example_4.js' or 'libraries_test.js'. If you have SimpleTest's verbose mode - enabled and see the above text in one of the debug pages, the noted JavaScript - file was loaded successfully. + 'example_4.js' or 'libraries_test_module.js'. If you have SimpleTest's verbose + mode enabled and see the above text in one of the debug pages, the noted + JavaScript file was loaded successfully. - CSS: The filenames of the CSS files are asserted to be in the raw HTML via SimpleTest. Since the filename could appear, for instance, in an error message, this is not very robust. Explicit testing of CSS, though, is not yet @@ -29,7 +29,7 @@ CSS and PHP files. - example_2: green - example_3: orange - example_4: blue - - libraries_test: purple" + - libraries_test_module: purple" If you have SimpleTest's verbose mode enabled, and see the above text in a certain color (i.e. not in black), a CSS file was loaded successfully. Which file depends on the color as referenced in the text above. @@ -37,6 +37,7 @@ CSS and PHP files. PHP files and then checking whether this function was defined using function_exists(). This can be checked programatically with SimpleTest. The loading of integration files is tested with the same method. The integration -files are libraries_test.js, libraries_test.css, libraries_test.inc and are -located in the tests directory alongside libraries_test.module (i.e. they are -not in the same directory as this file). +files are libraries_test_module.js, libraries_test_module.css, +libraries_test_module.inc and are located in the test module's directory +alongside libraries_test_module.info (i.e. they are not in the same directory as +this file). diff --git a/tests/example/example_1.css b/tests/libraries/example/example_1.css similarity index 39% rename from tests/example/example_1.css rename to tests/libraries/example/example_1.css index a732bda..ed9ea3c 100644 --- a/tests/example/example_1.css +++ b/tests/libraries/example/example_1.css @@ -3,9 +3,10 @@ * @file * Test CSS file for Libraries loading. * - * Color the 'libraries-test-css' div red. See README.txt for more information. + * Color the 'libraries-test-module-css' div red. See README.txt for more + * information. */ -.libraries-test-css { +.libraries-test-module-css { color: red; } diff --git a/tests/example/example_1.js b/tests/libraries/example/example_1.js similarity index 52% rename from tests/example/example_1.js rename to tests/libraries/example/example_1.js index 8a1b9a2..659ff0f 100644 --- a/tests/example/example_1.js +++ b/tests/libraries/example/example_1.js @@ -3,7 +3,7 @@ * @file * Test JavaScript file for Libraries loading. * - * Replace the text in the 'libraries-test-javascript' div. See README.txt for + * Replace the text in the 'libraries-test-module-js' div. See README.txt for * more information. */ @@ -11,7 +11,7 @@ Drupal.behaviors.librariesTest = { attach: function(context, settings) { - $('.libraries-test-javascript').text('If this text shows up, example_1.js was loaded successfully.') + $('.libraries-test-module-js').text('If this text shows up, example_1.js was loaded successfully.') } }; diff --git a/tests/example/example_1.php b/tests/libraries/example/example_1.php similarity index 79% rename from tests/example/example_1.php rename to tests/libraries/example/example_1.php index a55cbf0..4142e41 100644 --- a/tests/example/example_1.php +++ b/tests/libraries/example/example_1.php @@ -11,5 +11,5 @@ $path = 'abc'; /** * Dummy function to see if this file was loaded. */ -function _libraries_test_example_1() { +function _libraries_test_module_example_1() { } diff --git a/tests/example/example_2.css b/tests/libraries/example/example_2.css similarity index 39% rename from tests/example/example_2.css rename to tests/libraries/example/example_2.css index c8f9289..2bd9239 100644 --- a/tests/example/example_2.css +++ b/tests/libraries/example/example_2.css @@ -3,9 +3,10 @@ * @file * Test CSS file for Libraries loading. * - * Color the 'libraries-test-css' div green. See README.txt for more information. + * Color the 'libraries-test-module-css' div green. See README.txt for more + * information. */ -.libraries-test-css { +.libraries-test-module-css { color: green; } diff --git a/tests/example/example_2.js b/tests/libraries/example/example_2.js similarity index 52% rename from tests/example/example_2.js rename to tests/libraries/example/example_2.js index 1b744bb..6a17a6d 100644 --- a/tests/example/example_2.js +++ b/tests/libraries/example/example_2.js @@ -3,7 +3,7 @@ * @file * Test JavaScript file for Libraries loading. * - * Replace the text in the 'libraries-test-javascript' div. See README.txt for + * Replace the text in the 'libraries-test-module-js' div. See README.txt for * more information. */ @@ -11,7 +11,7 @@ Drupal.behaviors.librariesTest = { attach: function(context, settings) { - $('.libraries-test-javascript').text('If this text shows up, example_2.js was loaded successfully.') + $('.libraries-test-module-js').text('If this text shows up, example_2.js was loaded successfully.') } }; diff --git a/tests/example/example_2.php b/tests/libraries/example/example_2.php similarity index 79% rename from tests/example/example_2.php rename to tests/libraries/example/example_2.php index 4f06edf..8dc6d30 100644 --- a/tests/example/example_2.php +++ b/tests/libraries/example/example_2.php @@ -11,5 +11,5 @@ $path = 'abc'; /** * Dummy function to see if this file was loaded. */ -function _libraries_test_example_2() { +function _libraries_test_module_example_2() { } diff --git a/tests/example/example_3.css b/tests/libraries/example/example_3.css similarity index 39% rename from tests/example/example_3.css rename to tests/libraries/example/example_3.css index ffef054..fa29df4 100644 --- a/tests/example/example_3.css +++ b/tests/libraries/example/example_3.css @@ -3,9 +3,10 @@ * @file * Test CSS file for Libraries loading. * - * Color the 'libraries-test-css' div orange. See README.txt for more information. + * Color the 'libraries-test-module-css' div orange. See README.txt for more + * information. */ -.libraries-test-css { +.libraries-test-module-css { color: orange; } diff --git a/tests/example/example_3.js b/tests/libraries/example/example_3.js similarity index 52% rename from tests/example/example_3.js rename to tests/libraries/example/example_3.js index d6a3fa4..f47402d 100644 --- a/tests/example/example_3.js +++ b/tests/libraries/example/example_3.js @@ -3,7 +3,7 @@ * @file * Test JavaScript file for Libraries loading. * - * Replace the text in the 'libraries-test-javascript' div. See README.txt for + * Replace the text in the 'libraries-test-module-js' div. See README.txt for * more information. */ @@ -11,7 +11,7 @@ Drupal.behaviors.librariesTest = { attach: function(context, settings) { - $('.libraries-test-javascript').text('If this text shows up, example_3.js was loaded successfully.') + $('.libraries-test-module-js').text('If this text shows up, example_3.js was loaded successfully.') } }; diff --git a/tests/example/example_3.php b/tests/libraries/example/example_3.php similarity index 73% rename from tests/example/example_3.php rename to tests/libraries/example/example_3.php index cf74cf0..3734f38 100644 --- a/tests/example/example_3.php +++ b/tests/libraries/example/example_3.php @@ -8,5 +8,5 @@ /** * Dummy function to see if this file was loaded. */ -function _libraries_test_example_3() { +function _libraries_test_module_example_3() { } diff --git a/tests/example/example_4.css b/tests/libraries/example/example_4.css similarity index 39% rename from tests/example/example_4.css rename to tests/libraries/example/example_4.css index 5030a61..137f656 100644 --- a/tests/example/example_4.css +++ b/tests/libraries/example/example_4.css @@ -3,9 +3,10 @@ * @file * Test CSS file for Libraries loading. * - * Color the 'libraries-test-css' div blue. See README.txt for more information. + * Color the 'libraries-test-module-css' div blue. See README.txt for more + * information. */ -.libraries-test-css { +.libraries-test-module-css { color: blue; } diff --git a/tests/example/example_4.js b/tests/libraries/example/example_4.js similarity index 52% rename from tests/example/example_4.js rename to tests/libraries/example/example_4.js index ce5dc26..c097735 100644 --- a/tests/example/example_4.js +++ b/tests/libraries/example/example_4.js @@ -3,7 +3,7 @@ * @file * Test JavaScript file for Libraries loading. * - * Replace the text in the 'libraries-test-javascript' div. See README.txt for + * Replace the text in the 'libraries-test-module-js' div. See README.txt for * more information. */ @@ -11,7 +11,7 @@ Drupal.behaviors.librariesTest = { attach: function(context, settings) { - $('.libraries-test-javascript').text('If this text shows up, example_4.js was loaded successfully.') + $('.libraries-test-module-js').text('If this text shows up, example_4.js was loaded successfully.') } }; diff --git a/tests/example/example_4.php b/tests/libraries/example/example_4.php similarity index 73% rename from tests/example/example_4.php rename to tests/libraries/example/example_4.php index b46507f..c5f8dcb 100644 --- a/tests/example/example_4.php +++ b/tests/libraries/example/example_4.php @@ -8,5 +8,5 @@ /** * Dummy function to see if this file was loaded. */ -function _libraries_test_example_4() { +function _libraries_test_module_example_4() { } diff --git a/tests/example/example_info_file.libraries.info b/tests/libraries/example_info_file.libraries.info similarity index 98% rename from tests/example/example_info_file.libraries.info rename to tests/libraries/example_info_file.libraries.info index ec255d4..58c242b 100644 --- a/tests/example/example_info_file.libraries.info +++ b/tests/libraries/example_info_file.libraries.info @@ -1,4 +1,3 @@ - ; This is an example info file of a library used for testing purposes. name = Example info file diff --git a/tests/libraries_test.js b/tests/libraries_test.js deleted file mode 100644 index 25ac3ec..0000000 --- a/tests/libraries_test.js +++ /dev/null @@ -1,18 +0,0 @@ - -/** - * @file - * Test JavaScript file for Libraries loading. - * - * Replace the text in the 'libraries-test-javascript' div. See README.txt for - * more information. - */ - -(function ($) { - -Drupal.behaviors.librariesTest = { - attach: function(context, settings) { - $('.libraries-test-javascript').text('If this text shows up, libraries_test.js was loaded successfully.') - } -}; - -})(jQuery); diff --git a/tests/libraries_test.css b/tests/modules/libraries_test_module/libraries_test_module.css similarity index 47% rename from tests/libraries_test.css rename to tests/modules/libraries_test_module/libraries_test_module.css index 3505281..37fd00d 100644 --- a/tests/libraries_test.css +++ b/tests/modules/libraries_test_module/libraries_test_module.css @@ -3,10 +3,10 @@ * @file * Test CSS file for Libraries loading. * - * Color the 'libraries-test-css' div purple. See README.txt for more + * Color the 'libraries-test-module-css' div purple. See README.txt for more * information. */ -.libraries-test-css { +.libraries-test-module-css { color: purple; } diff --git a/tests/libraries_test.inc b/tests/modules/libraries_test_module/libraries_test_module.inc similarity index 69% rename from tests/libraries_test.inc rename to tests/modules/libraries_test_module/libraries_test_module.inc index c0cf0dc..557c49b 100644 --- a/tests/libraries_test.inc +++ b/tests/modules/libraries_test_module/libraries_test_module.inc @@ -7,5 +7,5 @@ /** * Dummy function to see if this file was loaded. */ -function _libraries_test_integration_file() { +function _libraries_test_module_integration_file() { } diff --git a/tests/libraries_test.info b/tests/modules/libraries_test_module/libraries_test_module.info similarity index 100% rename from tests/libraries_test.info rename to tests/modules/libraries_test_module/libraries_test_module.info diff --git a/tests/modules/libraries_test_module/libraries_test_module.js b/tests/modules/libraries_test_module/libraries_test_module.js new file mode 100644 index 0000000..d648e90 --- /dev/null +++ b/tests/modules/libraries_test_module/libraries_test_module.js @@ -0,0 +1,18 @@ + +/** + * @file + * Test JavaScript file for Libraries loading. + * + * Replace the text in the 'libraries-test-module-js' div. See README.txt for + * more information. + */ + +(function ($) { + +Drupal.behaviors.librariesTest = { + attach: function(context, settings) { + $('.libraries-test-module-js').text('If this text shows up, libraries_test_module.js was loaded successfully.') + } +}; + +})(jQuery); diff --git a/tests/libraries_test.module b/tests/modules/libraries_test_module/libraries_test_module.module similarity index 77% rename from tests/libraries_test.module rename to tests/modules/libraries_test_module/libraries_test_module.module index dfc13ff..c02a025 100644 --- a/tests/libraries_test.module +++ b/tests/modules/libraries_test_module/libraries_test_module.module @@ -8,22 +8,22 @@ /** * Implements hook_libraries_info(). */ -function libraries_test_libraries_info() { +function libraries_test_module_libraries_info() { // Test library detection. $libraries['example_missing'] = array( 'name' => 'Example missing', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/missing', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/missing', ); $libraries['example_undetected_version'] = array( 'name' => 'Example undetected version', - 'library path' => drupal_get_path('module', 'libraries') . '/tests', - 'version callback' => '_libraries_test_return_version', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', + 'version callback' => '_libraries_test_module_return_version', 'version arguments' => array(FALSE), ); $libraries['example_unsupported_version'] = array( 'name' => 'Example unsupported version', - 'library path' => drupal_get_path('module', 'libraries') . '/tests', - 'version callback' => '_libraries_test_return_version', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', + 'version callback' => '_libraries_test_module_return_version', 'version arguments' => array('1'), 'versions' => array( '2' => array(), @@ -32,8 +32,8 @@ function libraries_test_libraries_info() { $libraries['example_supported_version'] = array( 'name' => 'Example supported version', - 'library path' => drupal_get_path('module', 'libraries') . '/tests', - 'version callback' => '_libraries_test_return_version', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', + 'version callback' => '_libraries_test_module_return_version', 'version arguments' => array('1'), 'versions' => array( '1' => array(), @@ -43,7 +43,7 @@ function libraries_test_libraries_info() { // Test the default version callback. $libraries['example_default_version_callback'] = array( 'name' => 'Example default version callback', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version arguments' => array( 'file' => 'README.txt', // Version 1 @@ -55,16 +55,16 @@ function libraries_test_libraries_info() { // Test a multiple-parameter version callback. $libraries['example_multiple_parameter_version_callback'] = array( 'name' => 'Example multiple parameter version callback', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', // Version 1 - 'version callback' => '_libraries_test_get_version', + 'version callback' => '_libraries_test_module_get_version', 'version arguments' => array('README.txt', '/Version (\d+)/', 5), ); // Test a top-level files property. $libraries['example_files'] = array( 'name' => 'Example files', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'files' => array( 'js' => array('example_1.js'), @@ -78,13 +78,13 @@ function libraries_test_libraries_info() { // these files should be automatically loaded when the library is loaded. $libraries['example_integration_files'] = array( 'name' => 'Example integration files', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'integration files' => array( - 'libraries_test' => array( - 'js' => array('libraries_test.js'), - 'css' => array('libraries_test.css'), - 'php' => array('libraries_test.inc'), + 'libraries_test_module' => array( + 'js' => array('libraries_test_module.js'), + 'css' => array('libraries_test_module.css'), + 'php' => array('libraries_test_module.inc'), ), ), ); @@ -92,7 +92,7 @@ function libraries_test_libraries_info() { // Test version overloading. $libraries['example_versions'] = array( 'name' => 'Example versions', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '2', 'versions' => array( '1' => array( @@ -115,7 +115,7 @@ function libraries_test_libraries_info() { // Test variant detection. $libraries['example_variant_missing'] = array( 'name' => 'Example variant missing', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'variants' => array( 'example_variant' => array( @@ -124,7 +124,7 @@ function libraries_test_libraries_info() { 'css' => array('example_3.css'), 'php' => array('example_3.php'), ), - 'variant callback' => '_libraries_test_return_installed', + 'variant callback' => '_libraries_test_module_return_installed', 'variant arguments' => array(FALSE), ), ), @@ -132,7 +132,7 @@ function libraries_test_libraries_info() { $libraries['example_variant'] = array( 'name' => 'Example variant', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'variants' => array( 'example_variant' => array( @@ -141,7 +141,7 @@ function libraries_test_libraries_info() { 'css' => array('example_3.css'), 'php' => array('example_3.php'), ), - 'variant callback' => '_libraries_test_return_installed', + 'variant callback' => '_libraries_test_module_return_installed', 'variant arguments' => array(TRUE), ), ), @@ -150,7 +150,7 @@ function libraries_test_libraries_info() { // Test correct behaviour with multiple versions and multiple variants. $libraries['example_versions_and_variants'] = array( 'name' => 'Example versions and variants', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '2', 'versions' => array( '1' => array( @@ -161,7 +161,7 @@ function libraries_test_libraries_info() { 'css' => array('example_1.css'), 'php' => array('example_1.php'), ), - 'variant callback' => '_libraries_test_return_installed', + 'variant callback' => '_libraries_test_module_return_installed', 'variant arguments' => array(TRUE), ), 'example_variant_2' => array( @@ -170,7 +170,7 @@ function libraries_test_libraries_info() { 'css' => array('example_2.css'), 'php' => array('example_2.php'), ), - 'variant callback' => '_libraries_test_return_installed', + 'variant callback' => '_libraries_test_module_return_installed', 'variant arguments' => array(TRUE), ), ), @@ -183,7 +183,7 @@ function libraries_test_libraries_info() { 'css' => array('example_3.css'), 'php' => array('example_3.php'), ), - 'variant callback' => '_libraries_test_return_installed', + 'variant callback' => '_libraries_test_module_return_installed', 'variant arguments' => array(TRUE), ), 'example_variant_2' => array( @@ -192,7 +192,7 @@ function libraries_test_libraries_info() { 'css' => array('example_4.css'), 'php' => array('example_4.php'), ), - 'variant callback' => '_libraries_test_return_installed', + 'variant callback' => '_libraries_test_module_return_installed', 'variant arguments' => array(TRUE), ), ), @@ -206,27 +206,27 @@ function libraries_test_libraries_info() { // This library acts as a dependency for the libraries below. $libraries['example_dependency'] = array( 'name' => 'Example dependency', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1.1', 'files' => array('js' => array('example_1.js')), ); $libraries['example_dependency_missing'] = array( 'name' => 'Example dependency missing', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'dependencies' => array('example_missing'), 'files' => array('js' => array('example_1.js')), ); $libraries['example_dependency_incompatible'] = array( 'name' => 'Example dependency incompatible', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'dependencies' => array('example_dependency (>1.1)'), 'files' => array('js' => array('example_1.js')), ); $libraries['example_dependency_compatible'] = array( 'name' => 'Example dependency compatible', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'dependencies' => array('example_dependency (>=1.1)'), 'files' => array('js' => array('example_1.js')), @@ -235,7 +235,7 @@ function libraries_test_libraries_info() { // Test the applying of callbacks. $libraries['example_callback'] = array( 'name' => 'Example callback', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'versions' => array( '1' => array( @@ -271,12 +271,12 @@ function libraries_test_libraries_info() { ), ), 'callbacks' => array( - 'info' => array('_libraries_test_info_callback'), - 'pre-detect' => array('_libraries_test_pre_detect_callback'), - 'post-detect' => array('_libraries_test_post_detect_callback'), - 'pre-dependencies-load' => array('_libraries_test_pre_dependencies_load_callback'), - 'pre-load' => array('_libraries_test_pre_load_callback'), - 'post-load' => array('_libraries_test_post_load_callback'), + 'info' => array('_libraries_test_module_info_callback'), + 'pre-detect' => array('_libraries_test_module_pre_detect_callback'), + 'post-detect' => array('_libraries_test_module_post_detect_callback'), + 'pre-dependencies-load' => array('_libraries_test_module_pre_dependencies_load_callback'), + 'pre-load' => array('_libraries_test_module_pre_load_callback'), + 'post-load' => array('_libraries_test_module_post_load_callback'), ), // These keys are for testing purposes only. 'info callback' => 'not applied', @@ -289,7 +289,7 @@ function libraries_test_libraries_info() { $libraries['example_path_variable_override'] = array( 'name' => 'Example path variable override', - 'library path' => drupal_get_path('module', 'libraries') . '/tests/example', + 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version' => '1', 'files' => array( 'php' => array('example_1.php', 'example_2.php'), @@ -302,18 +302,18 @@ function libraries_test_libraries_info() { /** * Implements hook_libraries_info_file_paths() */ -function libraries_test_libraries_info_file_paths() { - return array(drupal_get_path('module', 'libraries_test') . '/example'); +function libraries_test_module_libraries_info_file_paths() { + return array(drupal_get_path('module', 'libraries') . '/tests/libraries'); } /** * Gets the version of an example library. * * Returns exactly the version string entered as the $version parameter. This - * function cannot be collapsed with _libraries_test_return_installed(), because - * of the different arguments that are passed automatically. + * function cannot be collapsed with _libraries_test_module_return_installed(), + * because of the different arguments that are passed automatically. */ -function _libraries_test_return_version($library, $version) { +function _libraries_test_module_return_version($library, $version) { return $version; } @@ -349,7 +349,7 @@ function _libraries_test_return_version($library, $version) { * * @see libraries_get_version() */ -function _libraries_test_get_version($library, $file, $pattern, $lines = 20, $cols = 200) { +function _libraries_test_module_get_version($library, $file, $pattern, $lines = 20, $cols = 200) { $file = DRUPAL_ROOT . '/' . $library['library path'] . '/' . $file; if (!file_exists($file)) { @@ -370,10 +370,10 @@ function _libraries_test_get_version($library, $file, $pattern, $lines = 20, $co * Detects the variant of an example library. * * Returns exactly the value of $installed, either TRUE or FALSE. This function - * cannot be collapsed with _libraries_test_return_version(), because of the - * different arguments that are passed automatically. + * cannot be collapsed with _libraries_test_module_return_version(), because of + * the different arguments that are passed automatically. */ -function _libraries_test_return_installed($library, $name, $installed) { +function _libraries_test_module_return_installed($library, $name, $installed) { return $installed; } @@ -382,10 +382,10 @@ function _libraries_test_return_installed($library, $name, $installed) { * * This function is used as a test callback for the 'info' callback group. * - * @see _libraries_test_callback() + * @see _libraries_test_module_callback() */ -function _libraries_test_info_callback(&$library, $version, $variant) { - _libraries_test_callback($library, $version, $variant, 'info'); +function _libraries_test_module_info_callback(&$library, $version, $variant) { + _libraries_test_module_callback($library, $version, $variant, 'info'); } /** @@ -393,10 +393,10 @@ function _libraries_test_info_callback(&$library, $version, $variant) { * * This function is used as a test callback for the 'pre-detect' callback group. * - * @see _libraries_test_callback() + * @see _libraries_test_module_callback() */ -function _libraries_test_pre_detect_callback(&$library, $version, $variant) { - _libraries_test_callback($library, $version, $variant, 'pre-detect'); +function _libraries_test_module_pre_detect_callback(&$library, $version, $variant) { + _libraries_test_module_callback($library, $version, $variant, 'pre-detect'); } /** @@ -404,10 +404,10 @@ function _libraries_test_pre_detect_callback(&$library, $version, $variant) { * * This function is used as a test callback for the 'post-detect callback group. * - * @see _libraries_test_callback() + * @see _libraries_test_module_callback() */ -function _libraries_test_post_detect_callback(&$library, $version, $variant) { - _libraries_test_callback($library, $version, $variant, 'post-detect'); +function _libraries_test_module_post_detect_callback(&$library, $version, $variant) { + _libraries_test_module_callback($library, $version, $variant, 'post-detect'); } /** @@ -416,10 +416,10 @@ function _libraries_test_post_detect_callback(&$library, $version, $variant) { * This function is used as a test callback for the 'pre-dependencies-load' * callback group. * - * @see _libraries_test_callback() + * @see _libraries_test_module_callback() */ -function _libraries_test_pre_dependencies_load_callback(&$library, $version, $variant) { - _libraries_test_callback($library, $version, $variant, 'pre-dependencies-load'); +function _libraries_test_module_pre_dependencies_load_callback(&$library, $version, $variant) { + _libraries_test_module_callback($library, $version, $variant, 'pre-dependencies-load'); } /** @@ -427,10 +427,10 @@ function _libraries_test_pre_dependencies_load_callback(&$library, $version, $va * * This function is used as a test callback for the 'pre-load' callback group. * - * @see _libraries_test_callback() + * @see _libraries_test_module_callback() */ -function _libraries_test_pre_load_callback(&$library, $version, $variant) { - _libraries_test_callback($library, $version, $variant, 'pre-load'); +function _libraries_test_module_pre_load_callback(&$library, $version, $variant) { + _libraries_test_module_callback($library, $version, $variant, 'pre-load'); } /** @@ -438,10 +438,10 @@ function _libraries_test_pre_load_callback(&$library, $version, $variant) { * * This function is used as a test callback for the 'post-load' callback group. * - * @see _libraries_test_callback() + * @see _libraries_test_module_callback() */ -function _libraries_test_post_load_callback(&$library, $version, $variant) { - _libraries_test_callback($library, $version, $variant, 'post-load'); +function _libraries_test_module_post_load_callback(&$library, $version, $variant) { + _libraries_test_module_callback($library, $version, $variant, 'post-load'); } /** @@ -465,7 +465,7 @@ function _libraries_test_post_load_callback(&$library, $version, $variant) { * The variant the library information passed in $library belongs to, or NULL * if the passed library information is not variant-specific. */ -function _libraries_test_callback(&$library, $version, $variant, $group) { +function _libraries_test_module_callback(&$library, $version, $variant, $group) { $string = 'applied'; if (isset($version) && isset($variant)) { $string .= " (version $version, variant $variant)"; @@ -484,7 +484,7 @@ function _libraries_test_callback(&$library, $version, $variant, $group) { // The following is used to test caching of library information. // Only set the message for the top-level library to prevent confusing, // duplicate messages. - if (!isset($version) && !isset($variant) && variable_get('libraries_test_cache', FALSE)) { + if (!isset($version) && !isset($variant) && variable_get('libraries_test_module_cache', FALSE)) { drupal_set_message("The $group callback group was invoked."); } } @@ -492,32 +492,32 @@ function _libraries_test_callback(&$library, $version, $variant, $group) { /** * Implements hook_menu(). */ -function libraries_test_menu() { +function libraries_test_module_menu() { $base = array( - 'page callback' => '_libraries_test_load', + 'page callback' => '_libraries_test_module_load', 'access callback' => TRUE, ); - $items['libraries_test/files'] = $base + array( + $items['libraries-test-module/files'] = $base + array( 'title' => 'Test files', 'page arguments' => array('example_files'), ); - $items['libraries_test/integration_files'] = $base + array( + $items['libraries-test-module/integration-files'] = $base + array( 'title' => 'Test integration files', 'page arguments' => array('example_integration_files'), ); - $items['libraries_test/versions'] = $base + array( + $items['libraries-test-module/versions'] = $base + array( 'title' => 'Test version loading', 'page arguments' => array('example_versions'), ); - $items['libraries_test/variant'] = $base + array( + $items['libraries-test-module/variant'] = $base + array( 'title' => 'Test variant loading', 'page arguments' => array('example_variant', 'example_variant'), ); - $items['libraries_test/versions_and_variants'] = $base + array( + $items['libraries-test-module/versions-and-variants'] = $base + array( 'title' => 'Test concurrent version and variant loading', 'page arguments' => array('example_versions_and_variants', 'example_variant_2'), ); - $items['libraries_test/cache'] = $base + array( + $items['libraries-test-module/cache'] = $base + array( 'title' => 'Test caching of library information', 'page arguments' => array('example_callback'), ); @@ -532,7 +532,7 @@ function libraries_test_menu() { * JavaScript and CSS files for easier debugging. See example/README.txt for * more information. */ -function _libraries_test_load($library, $variant = NULL) { +function _libraries_test_module_load($library, $variant = NULL) { libraries_load($library, $variant); // JavaScript and CSS files can be checked directly by SimpleTest, so we only // need to manually check for PHP files. @@ -541,14 +541,14 @@ function _libraries_test_load($library, $variant = NULL) { // For easer debugging of JS loading, a text is shown that the JavaScript will // replace. $output .= '

JavaScript

'; - $output .= '
'; + $output .= '
'; $output .= 'If this text shows up, no JavaScript test file was loaded.'; $output .= '
'; // For easier debugging of CSS loading, the loaded CSS files will color the // following text. $output .= '

CSS

'; - $output .= '
'; + $output .= '
'; $output .= 'If one of the CSS test files has been loaded, this text will be colored:'; $output .= '
    '; // Do not reference the actual CSS files (i.e. including '.css'), because that @@ -557,17 +557,17 @@ function _libraries_test_load($library, $variant = NULL) { $output .= '
  • example_2: green
  • '; $output .= '
  • example_3: orange
  • '; $output .= '
  • example_4: blue
  • '; - $output .= '
  • libraries_test: purple
  • '; + $output .= '
  • libraries_test_module: purple
  • '; $output .= '
'; $output .= '
'; $output .= '

PHP

'; - $output .= '
'; + $output .= '
'; $output .= 'The following is a list of all loaded test PHP files:'; $output .= '
    '; $files = get_included_files(); foreach ($files as $file) { - if (strpos($file, 'libraries/test') && !strpos($file, 'libraries_test.module')) { + if (strpos($file, 'libraries/test') && !strpos($file, 'libraries_test_module.module')) { $output .= '
  • ' . str_replace(DRUPAL_ROOT . '/', '', $file) . '
  • '; } }