tao-test/app/taoResultServer/test/Unit/models/classes/QtiResultsServiceTest.php

57 lines
24 KiB
PHP
Raw Normal View History

2022-08-29 20:14:13 +02:00
<?php
/**
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; under version 2
* of the License (non-upgradable).
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Copyright (c) 2020 (original work) Open Assessment Technologies SA;
*/
declare(strict_types=1);
use oat\taoResultServer\models\classes\QtiResultsService;
use PHPUnit\Framework\TestCase;
class QtiResultsServiceTest extends TestCase
{
/**
* @dataProvider binaryContentDataProvider
*/
public function testItRendersBinaryContentProperly(string $filePath, string $expectedString): void
{
$result = QtiResultsService::renderBinaryContentAsVariableValue(file_get_contents($filePath));
$this->assertSame($expectedString, $result);
}
public function binaryContentDataProvider(): array
{
$basePath = realpath(__DIR__.'/../../../resources');
return [
[
"$basePath/result/qti-result-de.xml",
'text/xml,base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGFzc2Vzc21lbnRSZXN1bHQgeG1sbnM9Imh0dHA6Ly93d3cuaW1zZ2xvYmFsLm9yZy94c2QvaW1zcXRpX3Jlc3VsdF92MnAxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuaW1zZ2xvYmFsLm9yZy94c2QvaW1zcXRpX3Jlc3VsdF92MnAxIGh0dHA6Ly93d3cuaW1zZ2xvYmFsLm9yZy94c2QvcXRpL3F0aXYycDEvaW1zcXRpX3Jlc3VsdF92MnAxLnhzZCI+CiAgICA8Y29udGV4dC8+CiAgICA8dGVzdFJlc3VsdCBpZGVudGlmaWVyPSJmZTU3YmJmNy02M2Y3LTRjODgtYjNlOS1hMmJhYzRiMTA3NjYiIGRhdGVzdGFtcD0iMjAxOS0wOS0yNlQxNDoxMzo1NC45ODQiLz4KICAgIDxpdGVtUmVzdWx0IGlkZW50aWZpZXI9Iml0ZW0tMSIgZGF0ZXN0YW1wPSIyMDE5LTA5LTI2VDE0OjEzOjU0LjU0OCIgc2Vzc2lvblN0YXR1cz0iZmluYWwiPgogICAgICAgIDxyZXNwb25zZVZhcmlhYmxlIGlkZW50aWZpZXI9Im51bUF0dGVtcHRzIiBjYXJkaW5hbGl0eT0ic2luZ2xlIiBiYXNlVHlwZT0iaW50ZWdlciI+CiAgICAgICAgICAgIDxjYW5kaWRhdGVSZXNwb25zZT4KICAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4KICAgICAgICAgICAgPC9jYW5kaWRhdGVSZXNwb25zZT4KICAgICAgICA8L3Jlc3BvbnNlVmFyaWFibGU+CiAgICAgICAgPHJlc3BvbnNlVmFyaWFibGUgaWRlbnRpZmllcj0iZHVyYXRpb24iIGNhcmRpbmFsaXR5PSJzaW5nbGUiIGJhc2VUeXBlPSJkdXJhdGlvbiI+CiAgICAgICAgICAgIDxjYW5kaWRhdGVSZXNwb25zZT4KICAgICAgICAgICAgICAgIDx2YWx1ZT5QVDFTPC92YWx1ZT4KICAgICAgICAgICAgPC9jYW5kaWRhdGVSZXNwb25zZT4KICAgICAgICA8L3Jlc3BvbnNlVmFyaWFibGU+CiAgICAgICAgPG91dGNvbWVWYXJpYWJsZSBpZGVudGlmaWVyPSJjb21wbGV0aW9uU3RhdHVzIiBjYXJkaW5hbGl0eT0ic2luZ2xlIiBiYXNlVHlwZT0iaWRlbnRpZmllciI+CiAgICAgICAgICAgIDx2YWx1ZT5jb21wbGV0ZWQ8L3ZhbHVlPgogICAgICAgIDwvb3V0Y29tZVZhcmlhYmxlPgogICAgICAgIDxvdXRjb21lVmFyaWFibGUgaWRlbnRpZmllcj0iU0NPUkUiIGNhcmRpbmFsaXR5PSJzaW5nbGUiIGJhc2VUeXBlPSJmbG9hdCI+CiAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4KICAgICAgICA8L291dGNvbWVWYXJpYWJsZT4KICAgICAgICA8b3V0Y29tZVZhcmlhYmxlIGlkZW50aWZpZXI9Ik1BWFNDT1JFIiBjYXJkaW5hbGl0eT0ic2luZ2xlIiBiYXNlVHlwZT0iZmxvYXQiPgogICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CiAgICAgICAgPC9vdXRjb21lVmFyaWFibGU+CiAgICAgICAgPHJlc3BvbnNlVmFyaWFibGUgaWRlbnRpZmllcj0iUkVTUE9OU0UiIGNhcmRpbmFsaXR5PSJtdWx0aXBsZSIgYmFzZVR5cGU9ImlkZW50aWZpZXIiPgogICAgICAgICAgICA8Y2FuZGlkYXRlUmVzcG9uc2U+CiAgICAgICAgICAgICAgICA8dmFsdWU+Y2hvaWNlXzE8L3ZhbHVlPgogICAgICAgICAgICAgICAgPHZhbHVlPmNob2ljZV8yPC92YWx1ZT4KICAgICAgICAgICAgPC9jYW5kaWRhdGVSZXNwb25zZT4KICAgICAgICA8L3Jlc3BvbnNlVmFyaWFibGU+CiAgICA8L2l0ZW1SZXN1bHQ+CiAgICA8aXRlbVJlc3VsdCBpZGVudGlmaWVyPSJpdGVtLTIiIGRhdGVzdGFtcD0iMjAxOS0wOS0yNlQxNDoxNDo1NC43ODkiIHNlc3Npb25TdGF0dXM9ImZpbmFsIj4KICAgICAgICA8cmVzcG9uc2VWYXJpYWJsZSBpZGVudGlmaWVyPSJudW1BdHRlbXB0cyIgY2FyZGluYWxpdHk9InNpbmdsZSIgYmFzZVR5cGU9ImludGVnZXIiPgogICAgICAgICAgICA8Y2FuZGlkYXRlUmVzcG9uc2U+CiAgICAgICAgICAgICAgICA8dmFsdWU+MjwvdmFsdWU+CiAgICAgICAgICAgIDwvY2FuZGlkYXRlUmVzcG9uc2U+CiAgICAgICAgPC9yZXNwb25zZVZhcmlhYmxlPgogICAgICAgIDxyZXNwb25zZVZhcmlhYmxlIGlkZW50aWZpZXI9ImR1cmF0aW9uIiBjYXJkaW5hbGl0eT0ic2luZ2xlIiBiYXNlVHlwZT0iZHVyYXRpb24iPgogICAgICAgICAgICA8Y2FuZGlkYXRlUmVzcG9uc2U+CiAgICAgICAgICAgICAgICA8dmFsdWU+UFQxMFM8L3ZhbHVlPgogICAgICAgICAgICA8L2NhbmRpZGF0ZVJlc3BvbnNlPgogICAgICAgIDwvcmVzcG9uc2VWYXJpYWJsZT4KICAgICAgICA8b3V0Y29tZVZhcmlhYmxlIGlkZW50aWZpZXI9ImNvbXBsZXRpb25TdGF0dXMiIGNhcmRpbmFsaXR5PSJzaW5nbGUiIGJhc2VUeXBlPSJpZGVudGlmaWVyIj4KICAgICAgICAgICAgPHZhbHVlPmNvbXBsZXRlZDwvdmFsdWU+CiAgICAgICAgPC9vdXRjb21lVmFyaWFibGU+CiAgICAgICAgPG91dGNvbWVWYXJpYWJsZSBpZGVudGlmaWVyPSJTQ09SRSIgY2FyZGluYWxpdHk9InNpbmdsZSIgYmFzZVR5cGU9ImZsb2F0Ij4KICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPgogICAgICAgIDwvb3V0Y29tZVZhcmlhYmxlPgogICAgICAgIDxvdXRjb21lVmFyaWFibGUgaWRlbnRpZmllcj0iTUFYU0NPUkUiIGNhcmRpbmFsaXR5PSJzaW5nbGUiIGJhc2VUeXBlPSJmbG9hdCI+CiAgICAgICAgICAgIDx2YWx1ZT4yPC92YWx1ZT4KICAgICAgICA8L291dGNvbWVWYXJpYWJsZT4KICAgICAgICA8cmVzcG9uc2VWYXJpYWJsZSBpZGVudGlmaWVyPSJSRVNQT05TRSIgY2FyZGluYWxpdHk9Im11bHRpcGxlIiBiYXNlVHlwZT0iaWRlbnRpZmllciI+CiAgICAgICAgICAgIDxjYW5kaWRhdGVSZXNwb25zZT4KICAgICAgICAgICAgICAgIDx2YWx1ZT5jaG9pY2VfMjwvdmFsdWU+CiAgICAgICAgICAgICAgICA8dmFsdWU+Y2hvaWNlXzM8L3ZhbHVlPgogICAgICAgICAgICA8L2NhbmRpZGF0ZVJlc3BvbnNlPgogICAgICAgIDwvcmVzcG9uc2VWYXJpYWJsZT4KICAgIDwvaXRlbVJlc3VsdD4KICAgIDxpdGVtUmVzdWx0IGlkZW50aWZpZXI9Iml0ZW0tMyIgZGF0ZXN0YW1wPSIyMDE5LTA5LTI2VDE0OjE1OjU0LjY1NyIgc2Vzc2lvblN0YXR1cz0iZmluYWwiPgogICAgICAgID
],
[
"$basePath/binary/tao-logo.png",
'image/png,base64,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
],
[
"$basePath/binary/lighter.mp3",
'audio/mpeg,base64,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
]
];
}
}