mirror of https://github.com/nirenjan/libx52.git
Add test cases for raw time and date APIs
parent
acdcebc52e
commit
d54e02be5a
|
@ -83,6 +83,65 @@ offset_test()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
raw_time_test()
|
||||||
|
{
|
||||||
|
local hh=$1
|
||||||
|
local mm=$2
|
||||||
|
local time_format=$3
|
||||||
|
TEST_ID="Test setting time to $hh:$mm, $time_format"
|
||||||
|
|
||||||
|
local value=$(($hh * 256 + $mm))
|
||||||
|
if [[ $time_format == 24hr ]]
|
||||||
|
then
|
||||||
|
value=$((value + 32768))
|
||||||
|
fi
|
||||||
|
|
||||||
|
expect_pattern $X52_CLOCK_1_INDEX $(printf '%04x' $value)
|
||||||
|
|
||||||
|
$X52CLI time $hh $mm $time_format
|
||||||
|
|
||||||
|
verify_output
|
||||||
|
}
|
||||||
|
|
||||||
|
raw_date_test()
|
||||||
|
{
|
||||||
|
local dd=$1
|
||||||
|
local mm=$2
|
||||||
|
local yy=$3
|
||||||
|
local date_format=$4
|
||||||
|
|
||||||
|
case "$date_format" in
|
||||||
|
ddmmyy)
|
||||||
|
dd1=$dd
|
||||||
|
mm1=$mm
|
||||||
|
yy1=$yy
|
||||||
|
;;
|
||||||
|
mmddyy)
|
||||||
|
dd1=$mm
|
||||||
|
mm1=$dd
|
||||||
|
yy1=$yy
|
||||||
|
;;
|
||||||
|
yymmdd)
|
||||||
|
dd1=$yy
|
||||||
|
mm1=$mm
|
||||||
|
yy1=$dd
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
TEST_ID="Test setting date in $date_format format to ${dd1}-${mm1}-${yy1}"
|
||||||
|
|
||||||
|
local date_value=$(printf '%04x' $(($mm1 * 256 + $dd1)))
|
||||||
|
local year_value=$(printf '%04x' $yy1)
|
||||||
|
|
||||||
|
expect_pattern \
|
||||||
|
$X52_CLOCK_DATE_INDEX $date_value \
|
||||||
|
$X52_CLOCK_YEAR_INDEX $year_value
|
||||||
|
|
||||||
|
$X52CLI date $dd $mm $yy $date_format
|
||||||
|
|
||||||
|
verify_output
|
||||||
|
}
|
||||||
|
|
||||||
# For all test cases, we want to assume that the local timezone
|
# For all test cases, we want to assume that the local timezone
|
||||||
# is the same as UTC, as otherwise, it can cause havoc, depending
|
# is the same as UTC, as otherwise, it can cause havoc, depending
|
||||||
# on when and where the tests are run.
|
# on when and where the tests are run.
|
||||||
|
@ -115,5 +174,32 @@ do
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# The raw time test cases are a limited set of tests, it simply runs for
|
||||||
|
# every minute from 00:00 through 00:59, then it runs for every hour from
|
||||||
|
# 00:00 through 23:00. The tests are run in both 12 hour and 24 hour mode.
|
||||||
|
for mm in $(seq 0 59)
|
||||||
|
do
|
||||||
|
for time_format in 12hr 24hr
|
||||||
|
do
|
||||||
|
raw_time_test 0 $mm $time_format
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
for hh in $(seq 0 23)
|
||||||
|
do
|
||||||
|
for time_format in 12hr 24hr
|
||||||
|
do
|
||||||
|
raw_time_test $hh 0 $time_format
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
# The raw date tests simply verify that the date February 1, year 3 is
|
||||||
|
# displayed correctly in all 3 date formats
|
||||||
|
for date_format in ddmmyy mmddyy yymmdd
|
||||||
|
do
|
||||||
|
raw_date_test 1 2 3 $date_format
|
||||||
|
done
|
||||||
|
|
||||||
verify_test_suite
|
verify_test_suite
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue