MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / assert_serde_variant_results

Function assert_serde_variant_results

sea-orm-codegen/src/entity/writer.rs:2580–2636  ·  view source on GitHub ↗
(
        cake_entity: &Entity,
        entity_serde_variant: &(&str, WithSerde, Option<String>),
        generator: Box<
            dyn Fn(
                &Entity,
                &WithSerde,
     

Source from the content-addressed store, hash-verified

2578
2579 #[allow(clippy::type_complexity)]
2580 fn assert_serde_variant_results(
2581 cake_entity: &Entity,
2582 entity_serde_variant: &(&str, WithSerde, Option<String>),
2583 generator: Box<
2584 dyn Fn(
2585 &Entity,
2586 &WithSerde,
2587 &DateTimeCrate,
2588 &Option<String>,
2589 bool,
2590 bool,
2591 &TokenStream,
2592 &TokenStream,
2593 bool,
2594 bool,
2595 ) -> Vec<TokenStream>,
2596 >,
2597 ) -> io::Result<()> {
2598 let mut reader = BufReader::new(entity_serde_variant.0.as_bytes());
2599 let mut lines: Vec<String> = Vec::new();
2600 let serde_skip_deserializing_primary_key = matches!(
2601 entity_serde_variant.1,
2602 WithSerde::Both | WithSerde::Deserialize
2603 );
2604 let serde_skip_hidden_column = matches!(entity_serde_variant.1, WithSerde::Serialize);
2605
2606 reader.read_until(b'\n', &mut Vec::new())?;
2607
2608 let mut line = String::new();
2609 while reader.read_line(&mut line)? > 0 {
2610 lines.push(line.to_owned());
2611 line.clear();
2612 }
2613 let content = lines.join("");
2614 let expected: TokenStream = content.parse().unwrap();
2615 println!("{:?}", entity_serde_variant.1);
2616 let generated = generator(
2617 cake_entity,
2618 &entity_serde_variant.1,
2619 &DateTimeCrate::Chrono,
2620 &entity_serde_variant.2,
2621 serde_skip_deserializing_primary_key,
2622 serde_skip_hidden_column,
2623 &TokenStream::new(),
2624 &TokenStream::new(),
2625 false,
2626 true,
2627 )
2628 .into_iter()
2629 .fold(TokenStream::new(), |mut acc, tok| {
2630 acc.extend(tok);
2631 acc
2632 });
2633
2634 assert_eq!(expected.to_string(), generated.to_string());
2635 Ok(())
2636 }
2637

Callers 1

test_gen_with_derivesFunction · 0.85

Calls 6

pushMethod · 0.80
joinMethod · 0.80
unwrapMethod · 0.80
into_iterMethod · 0.80
newFunction · 0.50
parseMethod · 0.45

Tested by 1

test_gen_with_derivesFunction · 0.68