Show eval_timer_object_test.html syntax highlighted
<!--
/********************************************************************************
* CruiseControl, a Continuous Integration Toolkit
* Copyright (c) 2007, ThoughtWorks, Inc.
* 200 E. Randolph, 25th Floor
* Chicago, IL 60601 USA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* + Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* + Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
*
* + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
* names of its contributors may be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
********************************************************************************/
--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CCE Dashboard Tests</title>
<link rel="stylesheet" type="text/css" href="../css/jsUnitStyle.css">
<link rel="stylesheet" type="text/css" href="../css/jsUnitStyle.css">
<script language="JavaScript" type="text/javascript" src="../app/jsUnitCore.js"></script>
<script language="JavaScript" type="text/javascript" src="../app/jsUnitVersionCheck.js"></script>
<script language="JavaScript" type="text/javascript" src="../app/jsTestHelper.js"></script>
<script language="JavaScript" type="text/javascript" src="../compressed/all.js"></script>
<script language="JavaScript" type="text/javascript">
var json;
function setUp() {
$('project1_time_elapsed').innerHTML = ''
json = building_json('project1');
json.building_info.build_duration = '1 hours 1 minutes 1 seconds';
}
function test_should_create_timer_when_project_status_is_building() {
eval_timer_object(json.building_info.project_name, json.building_info.building_status, json.building_info.building_duration, 0)
var timer_id = escape_project_name("project1") + "_timer"
var timer = eval(timer_id)
assertNotUndefined(timer)
assertTrue(timer instanceof Timer)
eval_timer_object(json.building_info.project_name, json.building_info.building_status, json.building_info.building_duration, 0)
var before = eval(timer_id)
eval_timer_object(json.building_info.project_name, json.building_info.building_status, json.building_info.building_duration, 0)
var after = eval(timer_id)
assertTrue(before === after)
}
function test_should_clean_timer_when_project_status_is_not_building() {
eval_timer_object(json.building_info.project_name, json.building_info.building_status, json.building_info.building_duration, 0)
var timer_id = escape_project_name("project1") + "_timer"
assertFalse(eval(timer_id).is_stopped());
json = passed_json('project1')
json.building_info.build_duration = '1 hours 1 minutes 1 seconds';
eval_timer_object(json.building_info.project_name, json.building_info.building_status, json.building_info.building_duration, 0)
assertTrue(eval(timer_id).is_stopped());
}
function test_should_return_same_object_when_the_status_is_still_building() {
var project1_timer_before = eval_timer_object("project2", "building");
var project1_timer_after = eval_timer_object("project2", "building");
assertTrue(project1_timer_before === project1_timer_after)
assertFalse(project1_timer_after.is_stopped())
}
function test_should_return_different_timer_object_when_project_name_is_differnt() {
var project3_timer = eval_timer_object("project3", "building");
var project4_timer = eval_timer_object("project4", "building");
var project3_timer_2 = eval_timer_object("project3", "building");
assertEquals("project3", project3_timer.get_project_name())
assertEquals("project4", project4_timer.get_project_name())
assertEquals("project3", project3_timer_2.get_project_name())
assertFalse(project3_timer === project4_timer)
assertTrue(project3_timer === project3_timer_2)
}
function test_should_initialize_one_timer_for_different_case() {
var project5_timer = eval_timer_object("project5", "passed");
assertNotNull(project5_timer);
assertTrue(project5_timer.is_stopped());
var project5_timer_1 = eval_timer_object("project5", "building");
assertTrue(project5_timer_1 === project5_timer);
assertFalse(project5_timer.is_stopped());
var project5_timer_2 = eval_timer_object("project5", "failed");
assertTrue(project5_timer.is_stopped());
assertTrue(project5_timer_2 === project5_timer)
}
function test_should_update_the_duration_when_the_build_is_triggered_again() {
var project6_timer = eval_timer_object("project6", "passed", 300);
project6_timer = eval_timer_object("project6", "building", 300);
project6_timer = eval_timer_object("project6", "passed", 300);
assertEquals(300, project6_timer.get_last_build_duration());
project6_timer = eval_timer_object("project6", "building", 400, 10);
project6_timer.get_last_build_duration();
assertEquals(400, project6_timer.get_last_build_duration());
assertEquals(10, project6_timer.get_elapsed_time());
}
function test_should_process_project_whose_name_contains_spaces() {
var project6_timer = eval_timer_object("pro ject 6", "passed", 300);
project6_timer = eval_timer_object("pro ject 6", "building", 300);
project6_timer = eval_timer_object("pro ject 6", "passed", 300);
assertEquals(300, project6_timer.get_last_build_duration());
project6_timer = eval_timer_object("pro ject 6", "building", 400, 10);
project6_timer.get_last_build_duration();
assertEquals(400, project6_timer.get_last_build_duration());
assertEquals(10, project6_timer.get_elapsed_time());
}
function test_should_process_project_whose_name_contains_minus() {
var project6_timer = eval_timer_object("pro-ject-6", "passed", 300);
project6_timer = eval_timer_object("pro-ject-6", "building", 300);
project6_timer = eval_timer_object("pro-ject-6", "passed", 300);
assertEquals(300, project6_timer.get_last_build_duration());
project6_timer = eval_timer_object("pro-ject-6", "building", 400, 10);
project6_timer.get_last_build_duration();
assertEquals(400, project6_timer.get_last_build_duration());
assertEquals(10, project6_timer.get_elapsed_time());
}
</script>
</head>
<body>
<div id="project1_profile_box">
<div id="project1_profile" class="passed">
<div style="float:right">
<a><img src="images/wrench.png" alt="Configure project" title="Configure project" /></a>
<a><img src="images/bin.png" alt="Remove Project" title="Remove Project" /></a>
</div>
<div style="float:right;padding-right:2px;">
<a id="project1_forcebuild" onclick='ajax_force_build("projectName", "project1")'><img src="images/lightning.png" alt="Force build" title="Force build"/></a>
</div>
<p style="padding:1px;"><strong><a id="project1_build_detail" href="buildDetail.html?filename=log20060704155710Lbuild.489.xml&project=project1">project1 passed</a>
<a id="project1_build_date" style="text-decoration: none;">at 12:21 on 9 Dec 2005</a></strong>
<a><img src="images/flag_green.png" alt="Past successful builds" title="Past successful builds"/></a> | <a href="projectDetail.html?project=project1" title="All Builds of Project project1"><img src="images/bricks.png"/></a></p>
<span id="project1_time_elapsed"></span><span id="project1_time_remaining"></span>
</div>
</div>
</body>
</html>
See more files for this project here