|  | // Copyright 2020 The Fuchsia Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | //! See the `README.md` file in this directory for more detail. | 
|  |  | 
|  | #[cfg(test)] | 
|  | mod tests { | 
|  |  | 
|  | use anyhow::Error; | 
|  | use fuchsia_async as fasync; | 
|  | use fuchsia_syslog; | 
|  | use tests_intl_timezone; | 
|  |  | 
|  | // Implements the Echo service which serves an abbreviated form of current time. | 
|  | pub static DART_TIME_SERVICE_URL: &str = | 
|  | "fuchsia-pkg://fuchsia.com/timestamp-server-dart#meta/timestamp-server-dart.cmx"; | 
|  |  | 
|  | /// Starts a dart program that uses Dart's idea of the system time zone to report time zone | 
|  | /// information.  The test fixture compares its own idea of local time with the one in the dart | 
|  | /// VM. | 
|  | /// | 
|  | /// Ostensibly, those two times should be the same up to the current date and current hour. | 
|  | /// | 
|  | /// We do this twice, to ensure that runtime timezone changes are reflected in the time | 
|  | /// reported by the dart VM. | 
|  | #[fasync::run_singlethreaded(test)] | 
|  | async fn check_reported_time_in_dart_vm() -> Result<(), Error> { | 
|  | fuchsia_syslog::init_with_tags(&[ | 
|  | "e2e", | 
|  | "timezone", | 
|  | "dart", | 
|  | "check_reported_time_in_dart_vm", | 
|  | ]) | 
|  | .unwrap(); | 
|  | tests_intl_timezone::check_reported_time_with_update( | 
|  | DART_TIME_SERVICE_URL, | 
|  | /*get_view=*/ false, | 
|  | ) | 
|  | .await | 
|  | } | 
|  | } // tests | 
|  |  | 
|  | // Makes fargo happy. | 
|  | fn main() {} |