Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
Línea 27... Línea 27...
27
 * @category   test
27
 * @category   test
28
 * @copyright  2019 Sara Arjona <sara@moodle.com>
28
 * @copyright  2019 Sara Arjona <sara@moodle.com>
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
30
 * @covers     \core_h5p\helper
30
 * @covers     \core_h5p\helper
31
 */
31
 */
32
class helper_test extends \advanced_testcase {
32
final class helper_test extends \advanced_testcase {
Línea 33... Línea 33...
33
 
33
 
34
    /**
34
    /**
35
     * Register the H5P autoloader
35
     * Register the H5P autoloader
36
     */
36
     */
-
 
37
    protected function setUp(): void {
37
    protected function setUp(): void {
38
        parent::setUp();
38
        autoloader::register();
39
        autoloader::register();
Línea 39... Línea 40...
39
    }
40
    }
40
 
41
 
Línea 75... Línea 76...
75
    /**
76
    /**
76
     * Data provider for test_get_display_options().
77
     * Data provider for test_get_display_options().
77
     *
78
     *
78
     * @return array
79
     * @return array
79
     */
80
     */
80
    public function display_options_provider(): array {
81
    public static function display_options_provider(): array {
81
        return [
82
        return [
82
            'All display options disabled' => [
83
            'All display options disabled' => [
83
                false,
84
                false,
84
                false,
85
                false,
85
                false,
86
                false,
Línea 135... Línea 136...
135
        // Create a user.
136
        // Create a user.
136
        $user = $this->getDataGenerator()->create_user();
137
        $user = $this->getDataGenerator()->create_user();
137
        $this->setUser($user);
138
        $this->setUser($user);
Línea 138... Línea 139...
138
 
139
 
139
        // This is a valid .H5P file.
140
        // This is a valid .H5P file.
140
        $path = __DIR__ . '/fixtures/greeting-card.h5p';
141
        $path = self::get_fixture_path(__NAMESPACE__, 'greeting-card.h5p');
141
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
142
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
Línea 142... Línea 143...
142
        $factory->get_framework()->set_file($file);
143
        $factory->get_framework()->set_file($file);
143
 
144
 
Línea 171... Línea 172...
171
        // Create a user.
172
        // Create a user.
172
        $user = $this->getDataGenerator()->create_user();
173
        $user = $this->getDataGenerator()->create_user();
173
        $this->setUser($user);
174
        $this->setUser($user);
Línea 174... Línea 175...
174
 
175
 
175
        // This is a valid .H5P file.
176
        // This is a valid .H5P file.
176
        $path = __DIR__ . '/fixtures/greeting-card.h5p';
177
        $path = self::get_fixture_path(__NAMESPACE__, 'greeting-card.h5p');
177
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
178
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
Línea 178... Línea 179...
178
        $factory->get_framework()->set_file($file);
179
        $factory->get_framework()->set_file($file);
179
 
180
 
Línea 202... Línea 203...
202
 
203
 
203
    /**
204
    /**
204
     * Test the behaviour of save_h5p() when the H5P file contains metadata.
205
     * Test the behaviour of save_h5p() when the H5P file contains metadata.
205
     *
206
     *
206
     * @runInSeparateProcess
-
 
207
     * @covers ::save_h5p
207
     * @runInSeparateProcess
208
     */
208
     */
209
    public function test_save_h5p_metadata(): void {
209
    public function test_save_h5p_metadata(): void {
Línea 210... Línea 210...
210
        global $DB;
210
        global $DB;
Línea 215... Línea 215...
215
        // Create a user.
215
        // Create a user.
216
        $user = $this->getDataGenerator()->create_user();
216
        $user = $this->getDataGenerator()->create_user();
217
        $this->setUser($user);
217
        $this->setUser($user);
Línea 218... Línea 218...
218
 
218
 
219
        // This is a valid .H5P file.
219
        // This is a valid .H5P file.
220
        $path = __DIR__ . '/fixtures/guess-the-answer.h5p';
220
        $path = self::get_fixture_path(__NAMESPACE__, 'guess-the-answer.h5p');
221
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
221
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
Línea 222... Línea 222...
222
        $factory->get_framework()->set_file($file);
222
        $factory->get_framework()->set_file($file);
223
 
223
 
Línea 261... Línea 261...
261
        // Create a user.
261
        // Create a user.
262
        $user = $this->getDataGenerator()->create_user();
262
        $user = $this->getDataGenerator()->create_user();
263
        $this->setUser($user);
263
        $this->setUser($user);
Línea 264... Línea 264...
264
 
264
 
265
        // Prepare an invalid .H5P file.
265
        // Prepare an invalid .H5P file.
266
        $path = __DIR__ . '/fixtures/h5ptest.zip';
266
        $path = self::get_fixture_path(__NAMESPACE__, 'h5ptest.zip');
267
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
267
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
268
        $factory->get_framework()->set_file($file);
268
        $factory->get_framework()->set_file($file);
269
        $config = (object)[
269
        $config = (object)[
270
            'frame' => 1,
270
            'frame' => 1,
Línea 295... Línea 295...
295
        // Create a user.
295
        // Create a user.
296
        $user = $this->getDataGenerator()->create_user();
296
        $user = $this->getDataGenerator()->create_user();
297
        $admin = get_admin();
297
        $admin = get_admin();
Línea 298... Línea 298...
298
 
298
 
299
        // Prepare a valid .H5P file.
299
        // Prepare a valid .H5P file.
Línea 300... Línea 300...
300
        $path = __DIR__ . '/fixtures/greeting-card.h5p';
300
        $path = self::get_fixture_path(__NAMESPACE__, 'greeting-card.h5p');
301
 
301
 
302
        // Files created by users can't be deployed.
302
        // Files created by users can't be deployed.
303
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
303
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
Línea 333... Línea 333...
333
        // Create a user.
333
        // Create a user.
334
        $user = $this->getDataGenerator()->create_user();
334
        $user = $this->getDataGenerator()->create_user();
335
        $admin = get_admin();
335
        $admin = get_admin();
Línea 336... Línea 336...
336
 
336
 
337
        // Prepare a valid .H5P file.
337
        // Prepare a valid .H5P file.
Línea 338... Línea 338...
338
        $path = __DIR__ . '/fixtures/greeting-card.h5p';
338
        $path = self::get_fixture_path(__NAMESPACE__, 'greeting-card.h5p');
339
 
339
 
340
        // Libraries can't be updated when the file has been created by users.
340
        // Libraries can't be updated when the file has been created by users.
341
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
341
        $file = helper::create_fake_stored_file_from_path($path, (int)$user->id);
Línea 383... Línea 383...
383
        helper::get_messages($messages, $factory);
383
        helper::get_messages($messages, $factory);
384
        $this->assertCount(1, $messages->error);
384
        $this->assertCount(1, $messages->error);
385
        $this->assertCount(2, $messages->info);
385
        $this->assertCount(2, $messages->info);
Línea 386... Línea 386...
386
 
386
 
387
        // When saving an invalid .h5p file, 6 errors should be raised.
387
        // When saving an invalid .h5p file, 6 errors should be raised.
388
        $path = __DIR__ . '/fixtures/h5ptest.zip';
388
        $path = self::get_fixture_path(__NAMESPACE__, 'h5ptest.zip');
389
        $file = helper::create_fake_stored_file_from_path($path);
389
        $file = helper::create_fake_stored_file_from_path($path);
390
        $factory->get_framework()->set_file($file);
390
        $factory->get_framework()->set_file($file);
391
        $config = (object)[
391
        $config = (object)[
392
            'frame' => 1,
392
            'frame' => 1,
Línea 466... Línea 466...
466
    /**
466
    /**
467
     * Data provider for test_parse_js_array().
467
     * Data provider for test_parse_js_array().
468
     *
468
     *
469
     * @return array
469
     * @return array
470
     */
470
     */
471
    public function parse_js_array_provider(): array {
471
    public static function parse_js_array_provider(): array {
472
        $lines = [
472
        $lines = [
473
            "{",
473
            "{",
474
            "  missingTranslation: '[Missing translation :key]',",
474
            "  missingTranslation: '[Missing translation :key]',",
475
            "  loading: 'Loading, please wait...',",
475
            "  loading: 'Loading, please wait...',",
476
            "  selectLibrary: 'Select the library you wish to use for your content.',",
476
            "  selectLibrary: 'Select the library you wish to use for your content.',",