Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions application/tests/controllers/catalog/Page_test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

class Page_test extends TestCase
{
/**
* @dataProvider provider
*/
public function test_index($url, $expected)
{
$response = $this->request('GET', array('Page', 'index', $url));
foreach ($expected as $str) {
$this->assertStringContainsString($str, $response);
}
}

public static function provider()
{
return array(

// A simple test case with single-quote in title
array(
'url' => 'doctors-red-lamp-by-various',
'expected' => array(
'<title>The Doctor\'s Red Lamp | LibriVox</title>', // HTML title
'<a href="https://librivox.org/reader/9835">', // Book Coordinator
'<a href="https://librivox.org/reader/10179">', // Meta-Coordinator
'<a href="https://librivox.org/reader/12980">', // Proof-Listener
'<a href="https://www.gutenberg.org/ebooks/47789">', // Source text
'<a href="https://librivox.org/author/18">', // Author
'doctorsredlamp_27_moulton_64kb.mp3', // Last audio (64kb)
'doctorsredlamp_27_moulton_128kb.mp3', // Last audio (128kb)
)
),

// Double-quote in title, single in description
array(
'url' => 'boy-the-wandering-dog-by-marshall-saunders',
'expected' => array(
'<title>"Boy" The Wandering Dog | LibriVox</title>', // HTML title
'<a href="https://librivox.org/reader/7756">', // Book Coordinator
'<a href="https://librivox.org/reader/6924">', // Meta-Coordinator
'<a href="https://librivox.org/reader/5578">', // Proof-Listener
'<a href="https://www.gutenberg.org/ebooks/50394">', // Source text
'<a href="https://librivox.org/author/4741"', // Author
'Another \'dog\'s-eye view\' book for children by', // Description text
'boythewanderingdog_29_saunders_64kb.mp3', // Last audio (64kb)
'boythewanderingdog_29_saunders_128kb.mp3', // Last audio (128kb)
)
),

);
}
}

18 changes: 9 additions & 9 deletions application/views/catalog/partials/advanced_search.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

<?php $display = ($advanced_search)? 'display:block;' : 'display:none;'; ?>
<?php $display = (isset($advanced_search) and $advanced_search) ? 'display:block;' : 'display:none;'; ?>

<link type="text/css" rel="stylesheet" href="https://librivox.org/css/ui-lightness/jquery-ui-1.8.24.custom.css?v=1670239344" />

Expand All @@ -17,23 +17,23 @@
<div class="control-group">
<div class="controls center">
<label for="title" ><span class="span2">Title:</span>
<input type="text" class="span4" id="title" name="title" value="<?= htmlspecialchars($advanced_search_form['title']) ?>"/>
<input type="text" class="span4" id="title" name="title" value="<?= htmlspecialchars(isset($advanced_search_form['title']) ? $advanced_search_form['title'] : '') ?>"/>
</label>
</div>
</div>

<div class="control-group">
<div class="controls center">
<label for="author" ><span class="span2">Author:</span>
<input type="text" class="span4" id="author" name="author" value="<?= htmlspecialchars($advanced_search_form['author']) ?>"/>
<input type="text" class="span4" id="author" name="author" value="<?= htmlspecialchars(isset($advanced_search_form['author']) ? $advanced_search_form['author'] : '') ?>"/>
</label>
</div>
</div>

<div class="control-group">
<div class="controls center">
<label for="reader" ><span class="span2">Reader:</span>
<input type="text" class="span4" id="reader" name="reader" value="<?= htmlspecialchars($advanced_search_form['reader']) ?>"/>
<input type="text" class="span4" id="reader" name="reader" value="<?= htmlspecialchars(isset($advanced_search_form['reader']) ? $advanced_search_form['reader'] : '') ?>"/>
</label>
</div>

Expand All @@ -58,39 +58,39 @@
<div class="control-group">
<div class="controls center">
<label for="genre_id" ><span class="span2">Category/Genre:</span>
<?= form_dropdown('genre_id', $genres, $advanced_search_form['genre_id'], 'id="genre_id"');?>
<?= form_dropdown('genre_id', isset($genres) ? $genres : '', isset($advanced_search_form['genre_id']) ? $advanced_search_form['genre_id'] : '', 'id="genre_id"');?>
</label>
</div>
</div>

<div class="control-group">
<div class="controls center">
<label for="status" ><span class="span2">Status:</span>
<?= form_dropdown('status', $statuses, $advanced_search_form['status'], 'id="status"');?>
<?= form_dropdown('status', isset($statuses) ? $statuses : '', isset($advanced_search_form['status']) ? $advanced_search_form['status'] : '', 'id="status"');?>
</label>
</div>
</div>

<div class="control-group">
<div class="controls center">
<label for="project_type" ><span class="span2">Solo/ Group:</span>
<?= form_dropdown('project_type', $project_type, $advanced_search_form['project_type'], 'id="project_type"');?>
<?= form_dropdown('project_type', isset($project_type) ? $project_type : '', isset($advanced_search_form['project_type']) ? $advanced_search_form['project_type'] : '', 'id="project_type"');?>
</label>
</div>
</div>

<div class="control-group">
<div class="controls center">
<label for="recorded_language" ><span class="span2">Language:</span>
<?= $recorded_languages ;?>
<?= isset($recorded_languages) ? $recorded_languages : '' ;?>
</label>
</div>
</div>

<div class="control-group">
<div class="controls center">
<label for="sort_order"><span class="span2">Sort by:</span>
<?= form_dropdown('sort_order', $sort_order, $advanced_search_form['sort_order'], 'id="sort_order"');?>
<?= form_dropdown('sort_order', isset($sort_order) ? $sort_order : '', isset($advanced_search_form['sort_order']) ? $advanced_search_form['sort_order'] : '', 'id="sort_order"');?>
</label>
</div>
</div>
Expand Down