fn to_tokens()

in yaml_test_runner/src/step/contains.rs [52:92]


    fn to_tokens(&self, tokens: &mut Tokens) {
        let expr = self.expr.expression();
        let ident = syn::Ident::from(expr.as_str());

        match &self.value {
            Yaml::Real(r) => {
                let f = r.parse::<f64>().unwrap();
                tokens.append(quote! {
                    assert_contains!(json#ident, json!(#f));
                });
            }
            Yaml::Integer(i) => {
                tokens.append(quote! {
                    assert_contains!(json#ident, json!(#i));
                });
            }
            Yaml::String(s) => {
                tokens.append(quote! {
                    assert_contains!(json#ident, json!(#s));
                });
            }
            Yaml::Boolean(b) => {
                tokens.append(quote! {
                    assert_contains!(json#ident, json!(#b));
                });
            }
            yaml if yaml.is_array() || yaml.as_hash().is_some() => {
                let json = {
                    let s = json_string_from_yaml(yaml);
                    syn::Ident::from(s)
                };

                tokens.append(quote! {
                    assert_contains!(json#ident, json!(#json));
                });
            }
            yaml => {
                panic!("Bad yaml value {:?}", &yaml);
            }
        }
    }