Proyectos de Subversion Moodle

Rev

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

Rev 11 Rev 1441
Línea 34... Línea 34...
34
 *
34
 *
35
 * @package    core_files
35
 * @package    core_files
36
 * @copyright  2017 Andrew nicols <andrew@nicols.co.uk>
36
 * @copyright  2017 Andrew nicols <andrew@nicols.co.uk>
37
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
38
 */
38
 */
39
class converter_test extends advanced_testcase {
39
final class converter_test extends advanced_testcase {
Línea 40... Línea 40...
40
 
40
 
41
    /**
41
    /**
42
     * Get a testable mock of the abstract files_converter class.
42
     * Get a testable mock of the abstract files_converter class.
43
     *
43
     *
Línea 545... Línea 545...
545
                'get_document_converter_classes',
545
                'get_document_converter_classes',
546
                'get_next_converter',
546
                'get_next_converter',
547
            ]);
547
            ]);
Línea 548... Línea 548...
548
 
548
 
-
 
549
        $converter->method('get_document_converter_classes')->willReturn([]);
-
 
550
        $getinvocations = $this->any();
-
 
551
        $converter
549
        $converter->method('get_document_converter_classes')->willReturn([]);
552
            ->expects($getinvocations)
550
        $converter->method('get_next_converter')
553
            ->method('get_next_converter')
551
            ->will($this->onConsecutiveCalls(
554
            ->willReturnCallback(fn (): string => match (self::getInvocationCount($getinvocations)) {
552
                get_class($converterinstance),
555
                1 => get_class($converterinstance),
553
                get_class($converterinstance2)
556
                default => get_class($converterinstance2),
Línea 554... Línea 557...
554
            ));
557
            });
555
 
558
 
556
        $file = $this->create_stored_file('example content', 'example', [
559
        $file = $this->create_stored_file('example content', 'example', [
Línea 564... Línea 567...
564
        $conversion->set_sourcefile($file);
567
        $conversion->set_sourcefile($file);
565
        $conversion->set('targetformat', 'target');
568
        $conversion->set('targetformat', 'target');
566
        $conversion->set('status', conversion::STATUS_PENDING);
569
        $conversion->set('status', conversion::STATUS_PENDING);
567
        $conversion->create();
570
        $conversion->create();
Línea -... Línea 571...
-
 
571
 
-
 
572
        $statusinvocations = $this->atLeast(4);
-
 
573
        $conversion
568
 
574
            ->expects($statusinvocations)
569
        $conversion->method('get_status')
575
            ->method('get_status')
570
            ->will($this->onConsecutiveCalls(
576
            ->willReturnCallback(fn (): int => match (self::getInvocationCount($statusinvocations)) {
571
                // Initial status check.
577
                // Initial status check.
572
                conversion::STATUS_PENDING,
578
                1 => conversion::STATUS_PENDING,
573
                // Second check to make sure it's still pending after polling.
579
                // Second check to make sure it's still pending after polling.
574
                conversion::STATUS_PENDING,
580
                2 => conversion::STATUS_PENDING,
575
                // First one fails.
581
                // First one fails.
576
                conversion::STATUS_FAILED,
582
                3 => conversion::STATUS_FAILED,
577
                // Second one succeeds.
583
                // Second one succeeds.
578
                conversion::STATUS_COMPLETE,
584
                4 => conversion::STATUS_COMPLETE,
579
                // And the final result checked in this unit test.
585
                // And the final result checked in this unit test.
580
                conversion::STATUS_COMPLETE
586
                default => conversion::STATUS_COMPLETE,
Línea -... Línea 587...
-
 
587
            });
-
 
588
 
-
 
589
        $instanceinvocations = $this->any();
581
            ));
590
        $conversion
582
 
591
            ->expects($instanceinvocations)
583
        $conversion->method('get_converter_instance')
592
            ->method('get_converter_instance')
584
            ->will($this->onConsecutiveCalls(
593
            ->willReturnCallback(fn (): object => match (self::getInvocationCount($instanceinvocations)) {
585
                $converterinstance,
594
                1 => $converterinstance,
Línea 586... Línea 595...
586
                $converterinstance2
595
                default => $converterinstance2,
587
            ));
596
            });
588
 
597
 
589
        $converterinstance->expects($this->once())
598
        $converterinstance->expects($this->once())