コード例 #1
0
/**
 * Run all Atto equation upgrade steps between the current DB version and the current version on disk.
 * @param int $oldversion The old version of atto equation in the DB.
 * @return bool
 */
function xmldb_atto_equation_upgrade($oldversion)
{
    require_once __DIR__ . '/upgradelib.php';
    if ($oldversion < 2015083100) {
        atto_equation_update_librarygroup4_setting();
        // Atto equation savepoint reached.
        upgrade_plugin_savepoint(true, 2015083100, 'atto', 'equation');
    }
    return true;
}
コード例 #2
0
ファイル: upgrade.php プロジェクト: pzhu2004/moodle
/**
 * Run all Atto equation upgrade steps between the current DB version and the current version on disk.
 * @param int $oldversion The old version of atto equation in the DB.
 * @return bool
 */
function xmldb_atto_equation_upgrade($oldversion)
{
    require_once __DIR__ . '/upgradelib.php';
    if ($oldversion < 2015083100) {
        atto_equation_update_librarygroup4_setting();
        // Atto equation savepoint reached.
        upgrade_plugin_savepoint(true, 2015083100, 'atto', 'equation');
    }
    // Moodle v3.0.0 release upgrade line.
    // Put any upgrade step following this.
    return true;
}
コード例 #3
0
    /**
     * Tests the upgradelib atto_equation_update_librarygroup4_setting function.
     */
    public function test_update_librarygroup4_update()
    {
        global $CFG;
        require_once $CFG->libdir . '/editor/atto/plugins/equation/db/upgradelib.php';
        $originaldefaults = ['\\sum{a,b}', '\\int_{a}^{b}{c}', '\\iint_{a}^{b}{c}', '\\iiint_{a}^{b}{c}', '\\oint{a}', '(a)', '[a]', '\\lbrace{a}\\rbrace', '\\left| \\begin{matrix} a_1 & a_2 \\ a_3 & a_4 \\end{matrix} \\right|'];
        $newconfig = '
\\sum{a,b}
\\sqrt[a]{b+c}
\\int_{a}^{b}{c}
\\iint_{a}^{b}{c}
\\iiint_{a}^{b}{c}
\\oint{a}
(a)
[a]
\\lbrace{a}\\rbrace
\\left| \\begin{matrix} a_1 & a_2 \\ a_3 & a_4 \\end{matrix} \\right|
\\frac{a}{b+c}
\\vec{a}
\\binom {a} {b}
{a \\brack b}
{a \\brace b}
';
        // Test successful update using windows line endings.
        $originaldefaultswindows = "\r\n" . implode("\r\n", $originaldefaults) . "\r\n";
        set_config(self::SETTING_NAME, $originaldefaultswindows, self::SETTING_PLUGIN);
        atto_equation_update_librarygroup4_setting();
        $this->assertEquals($newconfig, get_config(self::SETTING_PLUGIN, self::SETTING_NAME));
        // Test successful update using linux line .
        $originaldefaultslinux = "\n" . implode("\n", $originaldefaults) . "\n";
        set_config(self::SETTING_NAME, $originaldefaultslinux, self::SETTING_PLUGIN);
        atto_equation_update_librarygroup4_setting();
        $this->assertEquals($newconfig, get_config(self::SETTING_PLUGIN, self::SETTING_NAME));
        // Alter the original configuration by removing one of the equations.
        $alteredconfig = array_slice($originaldefaults, 0, -1);
        // Test no update using windows line endings.
        $alteredconfigwindows = "\r\n" . implode("\r\n", $alteredconfig) . "\r\n";
        set_config(self::SETTING_NAME, $alteredconfigwindows, self::SETTING_PLUGIN);
        atto_equation_update_librarygroup4_setting();
        $this->assertEquals($alteredconfigwindows, get_config(self::SETTING_PLUGIN, self::SETTING_NAME));
        // Test no update using linux line endings.
        $alteredconfiglinux = "\n" . implode("\n", $alteredconfig) . "\n";
        set_config(self::SETTING_NAME, $alteredconfiglinux, self::SETTING_PLUGIN);
        atto_equation_update_librarygroup4_setting();
        $this->assertEquals($alteredconfiglinux, get_config(self::SETTING_PLUGIN, self::SETTING_NAME));
        // Test no configuration.
        unset_config(self::SETTING_NAME, self::SETTING_PLUGIN);
        atto_equation_update_librarygroup4_setting();
        $this->assertFalse(get_config(self::SETTING_PLUGIN, self::SETTING_NAME));
    }