<?php
-# Copyright (C) 2009 Jason Woofenden
+# Copyright (C) 2010 Jason Woofenden
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
$errors += _test_format_money('0', '$0', '$0.00');
$errors += _test_format_money('0.0', '$0', '$0.00');
$errors += _test_format_money('0.00', '$0', '$0.00');
+ $errors += _test_format_money('00.00', '$0', '$0.00');
+ $errors += _test_format_money('0.000', '$0', '$0.00');
+ $errors += _test_format_money('0000.00000', '$0', '$0.00');
$errors += _test_format_money('0.01', '$0', '$0.01');
$errors += _test_format_money('0.51', '$1', '$0.51');
$errors += _test_format_money('2.05', '$2', '$2.05');
/* FIXME test these
- format_options($str, $name)
format_filename($str, $allow_uppercase = false)
format_path($str, $allow_uppercase = false)
client_path_to_filename($path)
}
# returns number of errors
+function _test_format_options($field, $value, $correct) {
+ $ret = format_options($value, $field);
+ if($ret !== $correct) {
+ message("format_options($value, $field) returned \"$ret\" instead of \"$correct\"");
+ return 1;
+ }
+ return 0;
+}
+
+
+function test_format_options() {
+ $errors = 0;
+ pulldown('array', array('one', 'two', "symbols&'\""), PULLDOWN_ARRAY);
+ $errors +=_test_format_options('array', 'one', 'one');
+ $errors +=_test_format_options('array', 'One', '');
+ $errors +=_test_format_options('array', 'two', 'two');
+ $errors +=_test_format_options('array', 'symbols&\'"', 'symbols&\'"');
+ pulldown('hash', array('one' => 'Eno', 'two' => 'Owt', 'symbols&\'"' => 'Slobmys'), PULLDOWN_HASH);
+ $errors +=_test_format_options('hash', 'one', 'one');
+ $errors +=_test_format_options('hash', 'One', '');
+ $errors +=_test_format_options('hash', 'two', 'two');
+ $errors +=_test_format_options('hash', 'symbols&\'"', '');
+ pulldown('array_2d', array(array('one', 'Eno'), array('two', 'Owt'), array('symbols&\'"', 'Slobmys')), PULLDOWN_2D);
+ $errors +=_test_format_options('array_2d', 'one', 'one');
+ $errors +=_test_format_options('array_2d', 'One', '');
+ $errors +=_test_format_options('array_2d', 'two', 'two');
+ $errors +=_test_format_options('array_2d', 'symbols&amp;\'"', '');
+
+ return $errors;
+}
+
+# returns number of errors
function format_unit_tests_main() {
$errors = 0;
$errors += test_format_money();
$errors += test_format_misc();
+ $errors += test_format_options();
return $errors;
}