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);
}
}
}