{$CLEO .s} {$INCLUDE_ONCE ../cleo_tester.inc} script_name "2305" // get_file_write_time test("2305 (get_file_write_time)", tests) terminate_this_custom_script function tests const Test_File_Path = ".\test_file.ini" before_each(@prepare) after_each(@finalize) it("should fail", test1) it("should return valid data", test2) it("should work with already opened file", test3) it("should return correct time", test4) return :prepare 1@ = 0x11111111 2@ = 0x22222222 3@ = 0x33333333 4@ = 0x44444444 5@ = 0x55555555 6@ = 0x66666666 7@ = 0x77777777 write_int_to_ini_file {value} 1234 {path} Test_File_Path {section} "general" {key} "test" return :finalize delete_file {fileName} Test_File_Path return function test1 1@, 2@, 3@, 4@, 5@, 6@, 7@ = get_file_write_time {path} ".\not_existing.ini" assert_result_false() assert_eq(1@, 0x11111111) assert_eq(2@, 0x22222222) assert_eq(3@, 0x33333333) assert_eq(4@, 0x44444444) assert_eq(5@, 0x55555555) assert_eq(6@, 0x66666666) assert_eq(7@, 0x77777777) end function test2 1@, 2@, 3@, 4@, 5@, 6@, 7@ = get_file_write_time {path} Test_File_Path assert_result_true() assert_range(1@, 2000, 2100) // year assert_range(2@, 1, 12) // month assert_range(3@, 1, 31) // day assert_range(4@, 0, 23) // hour assert_range(5@, 0, 59) // minute assert_range(6@, 0, 59) // second assert_range(7@, 0, 999) // milisedond trace "~g~~h~~h~Read time: %04d-%02d-%02d %02d:%02d:%02d.%03d" 1@ 2@ 3@ 4@ 5@ 6@ 7@ end function test3 1@, 2@, 3@, 4@, 5@, 6@, 7@ = get_file_write_time {path} "root:\cleo.asi" assert_result_true() assert_range(1@, 2000, 2100) // year assert_range(2@, 1, 12) // month assert_range(3@, 1, 31) // day assert_range(4@, 0, 23) // hour assert_range(5@, 0, 59) // minute assert_range(6@, 0, 59) // second assert_range(7@, 0, 999) // milisecond end function test4 var 0@ : Integer var 1@ : Integer var 2@ : Integer var 3@ : Integer var 4@ : Integer var 5@ : Integer var 6@ : Integer var 7@ : Integer var 8@ : Integer 0@, 0@, 0@, 1@, 2@, 3@, 4@ = get_file_write_time {path} Test_File_Path assert_result_true() // calculate small time stamp 2@ *= 60000 // minutes to ms 3@ *= 1000 // seconds to ms 4@ += 2@ 4@ += 3@ wait 500 write_int_to_ini_file {value} 1234 {path} Test_File_Path {section} "general" {key} "test4" 0@, 0@, 0@, 5@, 6@, 7@, 8@ = get_file_write_time {path} Test_File_Path assert_result_true() assert_eq(5@, 1@) // hour did not changed meanwhile // calculate small time stamp 6@ *= 60000 // minutes to ms 7@ *= 1000 // seconds to ms 8@ += 6@ 8@ += 7@ // timestamps delta 8@ -= 4@ assert_range(8@, 450, 550) // expected 500 plus some margin end end