Skip to content
Permalink
Browse files

MDL-30669 - blocks: Unit tests for course_page_type_list()

  • Loading branch information...
abgreeve committed Feb 13, 2013
1 parent 3dd204b commit b7d3bb0fc6924f510ace4b37140f7ce8626b13df
Showing with 51 additions and 0 deletions.
  1. +51 −0 course/tests/courselib_test.php
@@ -435,4 +435,55 @@ public function check_module_visibility($mod, $visibility, $visibleold) {
}
}
public function test_course_page_type_list() {
global $DB;
$this->resetAfterTest(true);
// Create a category.
$category = new stdClass();
$category->name = 'Test Category';
$testcategory = $this->getDataGenerator()->create_category($category);
// Create a course.
$course = new stdClass();
$course->fullname = 'Apu loves Unit Təsts';
$course->shortname = 'Spread the lŭve';
$course->idnumber = '123';
$course->summary = 'Awesome!';
$course->summaryformat = FORMAT_PLAIN;
$course->format = 'topics';
$course->newsitems = 0;
$course->numsections = 5;
$course->category = $testcategory->id;
$testcourse = $this->getDataGenerator()->create_course($course);
// Create contexts.
$coursecontext = context_course::instance($testcourse->id);
$parentcontext = $coursecontext->get_parent_context(); // Not actually used.
$pagetype = 'page-course-x'; // Not used either.
$pagetypelist = course_page_type_list($pagetype, $parentcontext, $coursecontext);
// Page type lists for normal courses.
$testpagetypelist1 = array();
$testpagetypelist1['*'] = 'Any page';
$testpagetypelist1['course-*'] = 'Any course page';
$testpagetypelist1['course-view-*'] = 'Any type of course main page';
$this->assertEquals($testpagetypelist1, $pagetypelist);
// Get the context for the front page course.
$sitecoursecontext = context_course::instance(SITEID);
$pagetypelist = course_page_type_list($pagetype, $parentcontext, $sitecoursecontext);
// Page type list for the front page course.
$testpagetypelist2 = array('*' => 'Any page');
$this->assertEquals($testpagetypelist2, $pagetypelist);
// Make sure that providing no current context to the function doesn't result in an error.
// Calls made from generate_page_type_patterns() may provide null values.
$pagetypelist = course_page_type_list($pagetype, null, null);
$this->assertEquals($pagetypelist, $testpagetypelist1);
}
}

0 comments on commit b7d3bb0

Please sign in to comment.
You can’t perform that action at this time.