Merge branch 'MDL-37854_master' of https://github.com/markn86/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 5 Feb 2013 10:10:48 +0000 (11:10 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 5 Feb 2013 10:10:48 +0000 (11:10 +0100)
1  2 
lib/dml/tests/dml_test.php
lib/tests/moodlelib_test.php

@@@ -1814,7 -1814,7 +1814,7 @@@ class dml_testcase extends database_dri
          $this->assertSame(false, $DB->get_field($tablename, 'course', array('course' => 11), IGNORE_MISSING));
          try {
              $DB->get_field($tablename, 'course', array('course' => 4), MUST_EXIST);
-             $this->assertFail('Exception expected due to missing record');
+             $this->fail('Exception expected due to missing record');
          } catch (dml_exception $ex) {
              $this->assertTrue(true);
          }
          // custom sequence - missing id error
          try {
              $DB->insert_record_raw($tablename, array('course' => 3, 'onechar' => 'bb'), true, false, true);
-             $this->assertFail('Exception expected due to missing record');
+             $this->fail('Exception expected due to missing record');
          } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
          // wrong column error
          try {
              $DB->insert_record_raw($tablename, array('xxxxx' => 3, 'onechar' => 'bb'));
-             $this->assertFail('Exception expected due to invalid column');
+             $this->fail('Exception expected due to invalid column');
          } catch (dml_exception $ex) {
              $this->assertTrue(true);
          }
          }
          $rs1->close();
          $this->assertEquals(3, $i);
 +
 +        // Test nested recordsets isolation without transaction.
 +        $DB->delete_records($tablename);
 +        $DB->insert_record($tablename, array('course'=>1));
 +        $DB->insert_record($tablename, array('course'=>2));
 +        $DB->insert_record($tablename, array('course'=>3));
 +
 +        $DB->delete_records($tablename2);
 +        $DB->insert_record($tablename2, array('course'=>5));
 +        $DB->insert_record($tablename2, array('course'=>6));
 +        $DB->insert_record($tablename2, array('course'=>7));
 +        $DB->insert_record($tablename2, array('course'=>8));
 +
 +        $rs1 = $DB->get_recordset($tablename);
 +        $i = 0;
 +        foreach ($rs1 as $record1) {
 +            $i++;
 +            $rs2 = $DB->get_recordset($tablename2);
 +            $j = 0;
 +            foreach ($rs2 as $record2) {
 +                $DB->set_field($tablename, 'course', $record1->course+1, array('id'=>$record1->id));
 +                $DB->set_field($tablename2, 'course', $record2->course+1, array('id'=>$record2->id));
 +                $j++;
 +            }
 +            $rs2->close();
 +            $this->assertEquals(4, $j);
 +        }
 +        $rs1->close();
 +        $this->assertEquals(3, $i);
      }
  
      function test_transactions_forbidden() {
@@@ -1408,46 -1408,46 +1408,46 @@@ class moodlelib_testcase extends advanc
          $longvalue = str_repeat('a', 1334);
          try {
              set_user_preference('_test_long_user_preference', $longvalue);
-             $this->assertFail('Exception expected - longer than 1333 chars not allowed as preference value');
-         } catch (Exception $e) {
-             $this->assertTrue($e instanceof coding_exception);
+             $this->fail('Exception expected - longer than 1333 chars not allowed as preference value');
+         } catch (coding_exception $ex) {
+             $this->assertTrue(true);
          }
  
          //test invalid params
          try {
              set_user_preference('_test_user_preferences_pref', array());
-             $this->assertFail('Exception expected - array not valid preference value');
-         } catch (Exception $ex) {
+             $this->fail('Exception expected - array not valid preference value');
+         } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
          try {
              set_user_preference('_test_user_preferences_pref', new stdClass);
-             $this->assertFail('Exception expected - class not valid preference value');
-         } catch (Exception $ex) {
+             $this->fail('Exception expected - class not valid preference value');
+         } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
          try {
-             set_user_preference('_test_user_preferences_pref', 1, array('xx'=>1));
-             $this->assertFail('Exception expected - user instance expected');
-         } catch (Exception $ex) {
+             set_user_preference('_test_user_preferences_pref', 1, array('xx' => 1));
+             $this->fail('Exception expected - user instance expected');
+         } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
          try {
              set_user_preference('_test_user_preferences_pref', 1, 'abc');
-             $this->assertFail('Exception expected - user instance expected');
-         } catch (Exception $ex) {
+             $this->fail('Exception expected - user instance expected');
+         } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
          try {
              set_user_preference('', 1);
-             $this->assertFail('Exception expected - invalid name accepted');
-         } catch (Exception $ex) {
+             $this->fail('Exception expected - invalid name accepted');
+         } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
          try {
              set_user_preference('1', 1);
-             $this->assertFail('Exception expected - invalid name accepted');
-         } catch (Exception $ex) {
+             $this->fail('Exception expected - invalid name accepted');
+         } catch (coding_exception $ex) {
              $this->assertTrue(true);
          }
  
       * Test the function date_format_string().
       */
      function test_date_format_string() {
 +        global $CFG;
 +
          // Forcing locale and timezone.
          $oldlocale = setlocale(LC_TIME, '0');
 -        setlocale(LC_TIME, 'en_AU.UTF-8');
 +        if ($CFG->ostype == 'WINDOWS') {
 +            setlocale(LC_TIME, 'English_Australia.1252');
 +        } else {
 +            setlocale(LC_TIME, 'en_AU.UTF-8');
 +        }
          $systemdefaulttimezone = date_default_timezone_get();
          date_default_timezone_set('Australia/Perth');
  
                  'str' => '%A, %d %B %Y, %I:%M %p',
                  'expected' => 'Saturday, 01 January 2011, 10:00 AM'
              ),
 +            // Following tests pass on Windows only because en lang pack does
 +            // not contain localewincharset, in real life lang pack maintainers
 +            // may use only characters that are present in localewincharset
 +            // in format strings!
              array(
                  'tz' => 99,
                  'str' => 'Žluťoučký koníček %A',