]> source.dussan.org Git - sonarqube.git/log
sonarqube.git
12 years agoSONAR-1492 Don't display edit/delete links if not admin
Fabrice Bellingard [Wed, 25 Jan 2012 15:14:05 +0000 (16:14 +0100)]
SONAR-1492 Don't display edit/delete links if not admin

12 years agoSONAR-1492 Improve rendering
Fabrice Bellingard [Wed, 25 Jan 2012 11:21:06 +0000 (12:21 +0100)]
SONAR-1492 Improve rendering

12 years agoSONAR-3081 Add cleared violations count on the "Rules" widget
Fabrice Bellingard [Wed, 25 Jan 2012 10:32:44 +0000 (11:32 +0100)]
SONAR-3081 Add cleared violations count on the "Rules" widget

12 years agoSONAR-3012 Improvements
Fabrice Bellingard [Wed, 25 Jan 2012 09:11:50 +0000 (10:11 +0100)]
SONAR-3012 Improvements

12 years agoSONAR-1492 Improve rule & active rule edition page
Fabrice Bellingard [Tue, 24 Jan 2012 18:19:20 +0000 (19:19 +0100)]
SONAR-1492 Improve rule & active rule edition page

+ use markdown instead of HTML
+ improve rule doc page

12 years agoSONAR-3181,SONAR-3139 Enable cross project CPD for all languages
Evgeny Mandrikov [Tue, 24 Jan 2012 13:17:59 +0000 (17:17 +0400)]
SONAR-3181,SONAR-3139 Enable cross project CPD for all languages

sonar.cpd.minimumTokens can't be used, because for index in database
tokens must be grouped by lines.

12 years agoSONAR-2754 rename the parameter to sonar.dbcleaner.cleanDirectory
simonbrandhof [Tue, 24 Jan 2012 13:44:53 +0000 (14:44 +0100)]
SONAR-2754 rename the parameter to sonar.dbcleaner.cleanDirectory

12 years agoMove some purge tasks to MyBatis
simonbrandhof [Tue, 24 Jan 2012 13:40:27 +0000 (14:40 +0100)]
Move some purge tasks to MyBatis

SONAR-2754 add the parameter sonar.dbcleaner.cleanDirectoryHistory
SONAR-2757 remove fullscan requests on the table SNAPSHOTS

12 years agoSONAR-3171 Space missing in drilldown description
Fabrice Bellingard [Tue, 24 Jan 2012 12:02:36 +0000 (13:02 +0100)]
SONAR-3171 Space missing in drilldown description

12 years agoSONAR-3198 Can't set the due date to the current day
Fabrice Bellingard [Tue, 24 Jan 2012 11:41:02 +0000 (12:41 +0100)]
SONAR-3198 Can't set the due date to the current day

12 years agoSONAR-3201 Display the icon on the first sorted column
Fabrice Bellingard [Tue, 24 Jan 2012 11:27:45 +0000 (12:27 +0100)]
SONAR-3201 Display the icon on the first sorted column

12 years agoSONAR-3200 Display the date of closure on the closed action plan list
Fabrice Bellingard [Tue, 24 Jan 2012 10:54:43 +0000 (11:54 +0100)]
SONAR-3200 Display the date of closure on the closed action plan list

12 years agoSONAR-1492 Allow notes per quality rule
Fabrice Bellingard [Tue, 24 Jan 2012 09:56:40 +0000 (10:56 +0100)]
SONAR-1492 Allow notes per quality rule

Fix some issues

12 years agoSONAR-3205 Upgrade to JaCoCo 0.5.6
Evgeny Mandrikov [Tue, 24 Jan 2012 05:54:11 +0000 (09:54 +0400)]
SONAR-3205 Upgrade to JaCoCo 0.5.6

12 years agoSONAR-3138 Prevent possible security flaws
Evgeny Mandrikov [Tue, 24 Jan 2012 05:21:30 +0000 (09:21 +0400)]
SONAR-3138 Prevent possible security flaws

* Save external password only if enabled "sonar.security.savePassword".
* Bypass restriction on password length (4), when external system enabled.
* Improve error handling.

12 years agoSONAR-1492 Allow notes per quality rule
Fabrice Bellingard [Mon, 23 Jan 2012 18:20:47 +0000 (19:20 +0100)]
SONAR-1492 Allow notes per quality rule

=> Improve the display of rules with notes and parameters

12 years agoSONAR-1492 Allow notes per quality rule
Fabrice Bellingard [Mon, 23 Jan 2012 17:03:19 +0000 (18:03 +0100)]
SONAR-1492 Allow notes per quality rule

Admin page implemented

12 years agoSONAR-1492 Allow notes per quality rule
Fabrice Bellingard [Fri, 20 Jan 2012 09:56:56 +0000 (10:56 +0100)]
SONAR-1492 Allow notes per quality rule

=> DB stuff & Ruby models implemented

12 years agoSONAR-3139 Enable Sonar CPD by default
Evgeny Mandrikov [Fri, 20 Jan 2012 12:46:47 +0000 (16:46 +0400)]
SONAR-3139 Enable Sonar CPD by default

12 years agoSONAR-3012 Fix bug on Derby in filters on violations resource tab
Fabrice Bellingard [Fri, 20 Jan 2012 14:08:28 +0000 (15:08 +0100)]
SONAR-3012 Fix bug on Derby in filters on violations resource tab

12 years agoSONAR-3081 "Violations" widget shows the number of "new violations"
Fabrice Bellingard [Fri, 20 Jan 2012 10:44:54 +0000 (11:44 +0100)]
SONAR-3081 "Violations" widget shows the number of "new violations"

And links it to the drilldown service using the correct metric to
easily find new violations.

12 years agoSONAR-3012 Improve widget rendering
Fabrice Bellingard [Fri, 20 Jan 2012 10:33:25 +0000 (11:33 +0100)]
SONAR-3012 Improve widget rendering

- 2 columns instead of 3
- "On new code" just below "unreviewed violations"

12 years agoSONAR-3179 Use naming convention for localization of qualifiers
Evgeny Mandrikov [Thu, 19 Jan 2012 15:15:43 +0000 (19:15 +0400)]
SONAR-3179 Use naming convention for localization of qualifiers

Change localization for "qualifier.BRK" from "Module" to "Sub-project".

12 years agoSONAR-2757 add the column SNAPSHOTS.PURGE_STATUS (INTEGER)
Simon Brandhof [Thu, 19 Jan 2012 14:52:52 +0000 (15:52 +0100)]
SONAR-2757 add the column SNAPSHOTS.PURGE_STATUS (INTEGER)

12 years agoRemove unused icons + fix 1 violation
Fabrice Bellingard [Thu, 19 Jan 2012 10:40:09 +0000 (11:40 +0100)]
Remove unused icons + fix 1 violation

12 years agoSONAR-3185 Set default value of 'sonar.authenticator.createUsers' to true
Evgeny Mandrikov [Thu, 19 Jan 2012 12:25:11 +0000 (16:25 +0400)]
SONAR-3185 Set default value of 'sonar.authenticator.createUsers' to true

12 years agoSONAR-3012 Fix regression on the filter of the violations viewer
Fabrice Bellingard [Thu, 19 Jan 2012 10:25:16 +0000 (11:25 +0100)]
SONAR-3012 Fix regression on the filter of the violations viewer

12 years agoFix some minor violations
Simon Brandhof [Thu, 19 Jan 2012 10:20:29 +0000 (11:20 +0100)]
Fix some minor violations

12 years agoFix compatibility of FieldUtilsTest with Jacoco
simonbrandhof [Wed, 18 Jan 2012 22:19:49 +0000 (23:19 +0100)]
Fix compatibility of FieldUtilsTest with Jacoco

12 years agoMerge branch 'SONAR-3129'
Evgeny Mandrikov [Wed, 18 Jan 2012 22:01:58 +0000 (02:01 +0400)]
Merge branch 'SONAR-3129'

12 years agoSONAR-3129 Fix selection of columns for filter, when language not english
Evgeny Mandrikov [Wed, 18 Jan 2012 21:24:41 +0000 (01:24 +0400)]
SONAR-3129 Fix selection of columns for filter, when language not english

12 years agoSONAR-1707 feed the column SNAPSHOTS.BUILD_DATE on files and directories
Simon Brandhof [Wed, 18 Jan 2012 17:07:21 +0000 (18:07 +0100)]
SONAR-1707 feed the column SNAPSHOTS.BUILD_DATE on files and directories

12 years agoSONAR-3180 Remove the support of AJP connector
Simon Brandhof [Wed, 18 Jan 2012 17:06:36 +0000 (18:06 +0100)]
SONAR-3180 Remove the support of AJP connector

12 years agoSONAR-3112 Metrics 'test_errors' and 'skipped_tests' should be qualitative
Evgeny Mandrikov [Wed, 18 Jan 2012 16:56:15 +0000 (20:56 +0400)]
SONAR-3112 Metrics 'test_errors' and 'skipped_tests' should be qualitative

12 years agoFix javascript on the timemachine page
Simon Brandhof [Wed, 18 Jan 2012 16:22:09 +0000 (17:22 +0100)]
Fix javascript on the timemachine page

12 years agoRemove some useless database migrations because upgrade from 1.x to 2.x is not supported
Simon Brandhof [Wed, 18 Jan 2012 16:16:35 +0000 (17:16 +0100)]
Remove some useless database migrations because upgrade from 1.x to 2.x is not supported

12 years agoAdd missing sonar versions to database scripts
Simon Brandhof [Wed, 18 Jan 2012 15:46:43 +0000 (16:46 +0100)]
Add missing sonar versions to database scripts

12 years agoSONAR-1707 Add the column SNAPSHOTS.BUILD_DATE
Simon Brandhof [Wed, 18 Jan 2012 15:45:45 +0000 (16:45 +0100)]
SONAR-1707 Add the column SNAPSHOTS.BUILD_DATE

12 years agoSONAR-3051 support POST, PUT and DELETE queries in GWT API.
Simon Brandhof [Tue, 17 Jan 2012 14:54:01 +0000 (15:54 +0100)]
SONAR-3051 support POST, PUT and DELETE queries in GWT API.

This patch is gracefully provided by Eugene Zadyra.

12 years agoSONAR-3179 Allow to declare resources which can be used for filters
Evgeny Mandrikov [Wed, 18 Jan 2012 12:23:16 +0000 (16:23 +0400)]
SONAR-3179 Allow to declare resources which can be used for filters

12 years agoSONAR-3012 Use the "Active" word in all widgets to be consistent
Fabrice Bellingard [Wed, 18 Jan 2012 15:42:13 +0000 (16:42 +0100)]
SONAR-3012 Use the "Active" word in all widgets to be consistent

12 years agoSONAR-3012 Add filters for reviews on the violations viewer
Fabrice Bellingard [Wed, 18 Jan 2012 15:09:53 +0000 (16:09 +0100)]
SONAR-3012 Add filters for reviews on the violations viewer

And make sure that when someone comes from the drilldown with a
review metric, then the filter is set to the correct value

12 years agoSONAR-3179 Fix mistake
Evgeny Mandrikov [Wed, 18 Jan 2012 13:48:57 +0000 (17:48 +0400)]
SONAR-3179 Fix mistake

12 years agoSONAR-3179 Add API to define resources
Evgeny Mandrikov [Wed, 18 Jan 2012 12:23:09 +0000 (16:23 +0400)]
SONAR-3179 Add API to define resources

12 years agoSONAR-2907 Fix loading of settings from database, when used property 'sonar.branch'
Evgeny Mandrikov [Tue, 17 Jan 2012 15:21:43 +0000 (19:21 +0400)]
SONAR-2907 Fix loading of settings from database, when used property 'sonar.branch'

12 years agoSONAR-3012 Remove local path to the Ruby template
Fabrice Bellingard [Wed, 18 Jan 2012 09:00:39 +0000 (10:00 +0100)]
SONAR-3012 Remove local path to the Ruby template

12 years agoRemove executable flag for files with images
Evgeny Mandrikov [Tue, 17 Jan 2012 20:48:58 +0000 (00:48 +0400)]
Remove executable flag for files with images

12 years agoRemove dependency that should have not been committed.
Fabrice Bellingard [Tue, 17 Jan 2012 16:49:31 +0000 (17:49 +0100)]
Remove dependency that should have not been committed.

12 years agoSONAR-3012 Shows the new unreviewed violations count in the widget
Fabrice Bellingard [Tue, 17 Jan 2012 16:45:30 +0000 (17:45 +0100)]
SONAR-3012 Shows the new unreviewed violations count in the widget

- Links this count to the drilldown service
- Open the right tab (Violations)

+ renaming of the metrics to be consistent with names

To be done: adding a filter in the "Violations" Tab

12 years agoSONAR-3176 Complete documentation of differential views properties
Simon Brandhof [Tue, 17 Jan 2012 13:04:57 +0000 (14:04 +0100)]
SONAR-3176 Complete documentation of differential views properties

12 years agoSONAR-3175 Document the constraint on number of JAR files in jdbc-driver directories
Simon Brandhof [Tue, 17 Jan 2012 11:55:04 +0000 (12:55 +0100)]
SONAR-3175 Document the constraint on number of JAR files in jdbc-driver directories

12 years agoSONAR-2994 Add missing localization for 'Sign Up' and 'Log In' pages
Evgeny Mandrikov [Tue, 17 Jan 2012 11:18:55 +0000 (15:18 +0400)]
SONAR-2994 Add missing localization for 'Sign Up' and 'Log In' pages

12 years agoSONAR-2940 Filters: Unable to sort the "language" column on both ways
Fabrice Bellingard [Tue, 17 Jan 2012 11:37:46 +0000 (12:37 +0100)]
SONAR-2940 Filters: Unable to sort the "language" column on both ways

12 years agoFix development mode of webapp + remove useless files
Simon Brandhof [Tue, 17 Jan 2012 11:28:48 +0000 (12:28 +0100)]
Fix development mode of webapp + remove useless files

12 years agoCalling Field.setAccessible(true) is accepted here -> not a quality flaw
Simon Brandhof [Mon, 16 Jan 2012 16:19:55 +0000 (17:19 +0100)]
Calling Field.setAccessible(true) is accepted here -> not a quality flaw

12 years agoSONAR-2946 Display the property keys in UI in all cases
Fabrice Bellingard [Tue, 17 Jan 2012 10:26:31 +0000 (11:26 +0100)]
SONAR-2946 Display the property keys in UI in all cases

12 years agoSONAR-3143 Fix edit/create button name on action plan page
Fabrice Bellingard [Tue, 17 Jan 2012 09:33:05 +0000 (10:33 +0100)]
SONAR-3143 Fix edit/create button name on action plan page

The title of the "Create Action Plan" button is wrongly changed
when the action plan can't be created

12 years agoSONAR-3012 Add new_unreviewed_violations metric
Fabrice Bellingard [Tue, 17 Jan 2012 07:38:01 +0000 (08:38 +0100)]
SONAR-3012 Add new_unreviewed_violations metric

In order to more easily track incoming violations without a review

12 years agoRemove unused Ruby code : JNDI support in activerecord adapters
Simon Brandhof [Mon, 16 Jan 2012 16:11:08 +0000 (17:11 +0100)]
Remove unused Ruby code : JNDI support in activerecord adapters

12 years agoSONAR-3155 Change the info message displayed by the Timeline widget when only one...
Simon Brandhof [Mon, 16 Jan 2012 15:40:03 +0000 (16:40 +0100)]
SONAR-3155 Change the info message displayed by the Timeline widget when only one snapshot is available

12 years agoSONAR-3148 Do not log errors when the URL /charts/trends has bad parameters
Simon Brandhof [Mon, 16 Jan 2012 14:41:01 +0000 (15:41 +0100)]
SONAR-3148 Do not log errors when the URL /charts/trends has bad parameters

12 years agoAdd some HTML ids for integration tests
Simon Brandhof [Mon, 16 Jan 2012 14:30:24 +0000 (15:30 +0100)]
Add some HTML ids for integration tests

12 years agoSONAR-2990 The category filter is lost when adding a widget to a dashboard
Simon Brandhof [Mon, 16 Jan 2012 13:36:39 +0000 (14:36 +0100)]
SONAR-2990 The category filter is lost when adding a widget to a dashboard

12 years agoSONAR-2009 Redirect to original URL when user logs in
Simon Brandhof [Mon, 16 Jan 2012 11:34:37 +0000 (12:34 +0100)]
SONAR-2009 Redirect to original URL when user logs in

12 years agoRefactor org.sonar.batch.bootstrapper.Batch
Simon Brandhof [Mon, 16 Jan 2012 11:14:50 +0000 (12:14 +0100)]
Refactor org.sonar.batch.bootstrapper.Batch

12 years agoRemove unused files
Evgeny Mandrikov [Mon, 16 Jan 2012 10:28:57 +0000 (14:28 +0400)]
Remove unused files

12 years agoFix violations
Evgeny Mandrikov [Mon, 16 Jan 2012 09:41:24 +0000 (13:41 +0400)]
Fix violations

12 years agoSONAR-3012 Check that resource is not a unit test for reviews metrics
Fabrice Bellingard [Mon, 16 Jan 2012 09:22:16 +0000 (10:22 +0100)]
SONAR-3012 Check that resource is not a unit test for reviews metrics

12 years agoSONAR-1263 Add support for AJP13 host
Evgeny Mandrikov [Mon, 16 Jan 2012 08:46:41 +0000 (12:46 +0400)]
SONAR-1263 Add support for AJP13 host

12 years agoSONAR-3166 Move the false-positive widget to the bottom of the page
Fabrice Bellingard [Mon, 16 Jan 2012 07:48:38 +0000 (08:48 +0100)]
SONAR-3166 Move the false-positive widget to the bottom of the page

12 years agoSONAR-3164 AnnotationCheckFactory does not detect properties declared in inherited...
Simon Brandhof [Fri, 13 Jan 2012 19:03:49 +0000 (20:03 +0100)]
SONAR-3164 AnnotationCheckFactory does not detect properties declared in inherited classes

12 years agoSONAR-3169 API: new utility class org.sonar.api.utils.FieldUtils
Simon Brandhof [Fri, 13 Jan 2012 18:44:31 +0000 (19:44 +0100)]
SONAR-3169 API: new utility class org.sonar.api.utils.FieldUtils

12 years agoSONAR-3012 fix NPE
Simon Brandhof [Fri, 13 Jan 2012 17:27:20 +0000 (18:27 +0100)]
SONAR-3012 fix NPE

12 years agoDo not delete the temporary directory /deploy in development mode
Simon Brandhof [Fri, 13 Jan 2012 16:11:07 +0000 (17:11 +0100)]
Do not delete the temporary directory /deploy in development mode

12 years agoHardcode usage of SLF4J in MyBatis
Simon Brandhof [Fri, 13 Jan 2012 16:10:12 +0000 (17:10 +0100)]
Hardcode usage of SLF4J in MyBatis

12 years agoSONAR-2959 add example to enable SQL logs on server-side
Simon Brandhof [Fri, 13 Jan 2012 16:09:40 +0000 (17:09 +0100)]
SONAR-2959 add example to enable SQL logs on server-side

12 years agoSanitize batch bootstrapper
Simon Brandhof [Fri, 13 Jan 2012 13:10:51 +0000 (14:10 +0100)]
Sanitize batch bootstrapper

- by default Logback is configured by batch, not by bootstrappers
- ability to delegate logging to bootstrappers (require a SLF4J implementation)

12 years agoSONAR-3166 Provide by default a new "Reviews" page
Fabrice Bellingard [Fri, 13 Jan 2012 11:16:16 +0000 (12:16 +0100)]
SONAR-3166 Provide by default a new "Reviews" page

12 years agoSONAR-3012 Improvements on Review Activity
Fabrice Bellingard [Fri, 13 Jan 2012 10:50:52 +0000 (11:50 +0100)]
SONAR-3012 Improvements on Review Activity

- Computes metrics even on folders/packages
- Fixes a bug in computation of unreviewed violations
- Improves widget rendering

12 years agoSONAR-3112 Metric 'test_failures' should be qualitative
Evgeny Mandrikov [Fri, 13 Jan 2012 09:41:44 +0000 (13:41 +0400)]
SONAR-3112 Metric 'test_failures' should be qualitative

12 years agoSONAR-3138 Prevent security flaw, refactor code
Evgeny Mandrikov [Thu, 12 Jan 2012 06:02:16 +0000 (10:02 +0400)]
SONAR-3138 Prevent security flaw, refactor code

12 years agoSONAR-2959 Add the property sonar.showSql
Simon Brandhof [Thu, 12 Jan 2012 18:55:58 +0000 (19:55 +0100)]
SONAR-2959 Add the property sonar.showSql

12 years agoRemove useless exclusion in assembly.xml
Simon Brandhof [Thu, 12 Jan 2012 17:35:13 +0000 (18:35 +0100)]
Remove useless exclusion in assembly.xml

12 years agoSONAR-3012 New widget to monitor the review activity
Fabrice Bellingard [Thu, 12 Jan 2012 17:30:40 +0000 (18:30 +0100)]
SONAR-3012 New widget to monitor the review activity

- 5 new metrics added
- Decorator implemented to compute those metrics
- Widget implemented to report those metrics

12 years agoSONAR-3137,SONAR-2292 Add synchronization of groups, prepare API for future enhancements
Evgeny Mandrikov [Wed, 11 Jan 2012 09:45:38 +0000 (13:45 +0400)]
SONAR-3137,SONAR-2292 Add synchronization of groups, prepare API for future enhancements

12 years agoSONAR-3137 Add exception handling
Evgeny Mandrikov [Wed, 11 Jan 2012 07:37:51 +0000 (11:37 +0400)]
SONAR-3137 Add exception handling

12 years agoUpdate copyright header for this new year
Simon Brandhof [Tue, 10 Jan 2012 17:27:36 +0000 (18:27 +0100)]
Update copyright header for this new year

12 years agoSONAR-2416 Remove the internal Maven repository that is used by Sonar Mojo 1.0-beta-1
Simon Brandhof [Tue, 10 Jan 2012 16:21:42 +0000 (17:21 +0100)]
SONAR-2416 Remove the internal Maven repository that is used by Sonar Mojo 1.0-beta-1

12 years agoRevert SONAR-3036 : do not upgrade to latest version of protovis-msie.js
Simon Brandhof [Tue, 10 Jan 2012 15:16:00 +0000 (16:16 +0100)]
Revert SONAR-3036 : do not upgrade to latest version of protovis-msie.js

12 years agoRemove Ruby on Rails warning
Fabrice Bellingard [Tue, 10 Jan 2012 14:16:02 +0000 (15:16 +0100)]
Remove Ruby on Rails warning

12 years agoSONAR-3137,SONAR-2292 Fix startup failure
Evgeny Mandrikov [Tue, 10 Jan 2012 09:50:37 +0000 (13:50 +0400)]
SONAR-3137,SONAR-2292 Fix startup failure

12 years agoSONAR-3139 Refactor our fork of PMD CPD
Evgeny Mandrikov [Mon, 9 Jan 2012 22:50:01 +0000 (02:50 +0400)]
SONAR-3139 Refactor our fork of PMD CPD

* Replace some code by our own implementation
* Remove unused
* Reformat to conform with our conventions

12 years agoSONAR-3137,SONAR-2292 Complete API for external security systems
Evgeny Mandrikov [Mon, 9 Jan 2012 18:55:59 +0000 (22:55 +0400)]
SONAR-3137,SONAR-2292 Complete API for external security systems

12 years agoRemove unused imports
Simon Brandhof [Mon, 9 Jan 2012 11:24:26 +0000 (12:24 +0100)]
Remove unused imports

12 years agoAdd logs when restoring backup of configuration
Simon Brandhof [Mon, 9 Jan 2012 10:51:45 +0000 (11:51 +0100)]
Add logs when restoring backup of configuration

12 years agoSONAR-3150 Lock size of email-notifications plugin to prevent regressions
Evgeny Mandrikov [Mon, 9 Jan 2012 09:14:00 +0000 (13:14 +0400)]
SONAR-3150 Lock size of email-notifications plugin to prevent regressions

12 years agoSONAR-3150 Lock size of other plugins with dependencies
Evgeny Mandrikov [Mon, 9 Jan 2012 08:38:54 +0000 (12:38 +0400)]
SONAR-3150 Lock size of other plugins with dependencies

To prevent regressions for following plugins:
* jacoco
* checkstyle
* squid java

12 years agoSONAR-3139 Allow to use Sonar CPD with existing extension point CpdMapping
Evgeny Mandrikov [Mon, 9 Jan 2012 07:39:03 +0000 (11:39 +0400)]
SONAR-3139 Allow to use Sonar CPD with existing extension point CpdMapping

12 years agoSONAR-3137 Add experimental API to retrieve users from external system
Evgeny Mandrikov [Mon, 9 Jan 2012 07:22:51 +0000 (11:22 +0400)]
SONAR-3137 Add experimental API to retrieve users from external system

12 years agoAdd some unit tests
simonbrandhof [Sun, 8 Jan 2012 17:34:40 +0000 (18:34 +0100)]
Add some unit tests