Skip to content

Commit

Permalink
MDL-30669 - blocks: Unit tests for course_page_type_list()
Browse files Browse the repository at this point in the history
  • Loading branch information
abgreeve committed Feb 26, 2013
1 parent 3dd204b commit b7d3bb0
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions course/tests/courselib_test.php
Expand Up @@ -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.