|  | // Copyright 2019 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. | 
|  |  | 
|  | // NOTE: The comments that have [START/END ...] in them are used to identify code snippets that | 
|  | // appear in the documentation.  Please be aware that changes in these blocks will affect the | 
|  | // documentation on fuchsia.dev. | 
|  | // You can find the usages in the documenation by running: | 
|  | //  find docs -name "*.md" | xargs \ | 
|  | //  grep "\{% includecode .*gerrit_path=\"examples/hello_world/rust/src/main.rs\"" | 
|  |  | 
|  |  | 
|  | fn main() { | 
|  | println!("{}, world!", greeting()); | 
|  | } | 
|  |  | 
|  | fn greeting() -> String { | 
|  | return String::from("Hello"); | 
|  | } | 
|  |  | 
|  | // [START test_mod] | 
|  | #[cfg(test)] | 
|  | mod tests { | 
|  | #[test] | 
|  | fn it_works() { | 
|  | assert_eq!(true, true); | 
|  | } | 
|  | } | 
|  | // [END test_mod] | 
|  |  | 
|  | #[cfg(test)] | 
|  | mod hello_tests { | 
|  | use fuchsia_async as fasync; | 
|  | use crate::greeting; | 
|  |  | 
|  | // [START async_test] | 
|  | #[fasync::run_until_stalled(test)] | 
|  | async fn my_test() { | 
|  | let some_future = async { 4 }; | 
|  | assert_eq!(some_future.await, 4); | 
|  | } | 
|  | // [END async_test] | 
|  |  | 
|  | #[test] | 
|  | fn greeting_test() { | 
|  | let expected = String::from("Hello"); | 
|  | assert_eq!(greeting(), expected) | 
|  | } | 
|  | } |