1919/// [`predefined colors`]: <https://www.w3schools.com/cssref/css_colors.asp>
2020use dyn_clone:: DynClone ;
2121use erased_serde:: Serialize as ErasedSerialize ;
22- use serde:: Serialize ;
22+ use serde:: { Deserialize , Serialize } ;
2323
2424/// A marker trait allowing several ways to describe a color.
2525pub trait Color : DynClone + ErasedSerialize + Send + Sync + std:: fmt:: Debug + ' static { }
@@ -61,7 +61,7 @@ impl<C: Color> Into<Vec<Box<dyn Color>>> for ColorArray<C> {
6161
6262/// A type-safe way of constructing a valid RGB color from constituent R, G and
6363/// B channels.
64- #[ derive( Debug , Clone , Copy ) ]
64+ #[ derive( Debug , Clone , Copy , Deserialize ) ]
6565pub struct Rgb {
6666 pub ( crate ) r : u8 ,
6767 pub ( crate ) g : u8 ,
@@ -86,7 +86,7 @@ impl Serialize for Rgb {
8686
8787/// A type-safe way of constructing a valid RGBA color from constituent R, G, B
8888/// and A channels.
89- #[ derive( Debug , Clone , Copy ) ]
89+ #[ derive( Debug , Clone , Copy , Deserialize ) ]
9090pub struct Rgba {
9191 pub ( crate ) r : u8 ,
9292 pub ( crate ) g : u8 ,
@@ -116,7 +116,7 @@ impl Serialize for Rgba {
116116/// Cross-browser compatible [`predefined colors`].
117117///
118118/// [`predefined colors`]: <https://www.w3schools.com/cssref/css_colors.asp>
119- #[ derive( Debug , Clone , Copy , Serialize ) ]
119+ #[ derive( Debug , Clone , Copy , Serialize , Deserialize , PartialEq , Eq ) ]
120120#[ serde( rename_all = "lowercase" ) ]
121121pub enum NamedColor {
122122 AliceBlue ,
@@ -272,7 +272,7 @@ pub enum NamedColor {
272272
273273#[ cfg( test) ]
274274mod tests {
275- use serde_json:: { json, to_value} ;
275+ use serde_json:: { from_str , from_value , json, to_value} ;
276276
277277 use super :: * ;
278278
@@ -464,4 +464,156 @@ mod tests {
464464 assert_eq ! ( to_value( NamedColor :: YellowGreen ) . unwrap( ) , json!( "yellowgreen" ) ) ;
465465 assert_eq ! ( to_value( NamedColor :: Transparent ) . unwrap( ) , json!( "transparent" ) ) ;
466466 }
467+
468+ #[ test]
469+ #[ rustfmt:: skip]
470+ fn test_deserialize_named_color ( ) {
471+ // assert_eq!(from_str::<NamedColor>("aliceblue").unwrap(), NamedColor::AliceBlue);
472+ assert_eq ! ( from_value:: <NamedColor >( json!( "aliceblue" ) ) . unwrap( ) , NamedColor :: AliceBlue ) ;
473+ assert_eq ! ( from_value:: <NamedColor >( json!( "antiquewhite" ) ) . unwrap( ) , NamedColor :: AntiqueWhite ) ;
474+ assert_eq ! ( from_value:: <NamedColor >( json!( "aqua" ) ) . unwrap( ) , NamedColor :: Aqua ) ;
475+ assert_eq ! ( from_value:: <NamedColor >( json!( "aquamarine" ) ) . unwrap( ) , NamedColor :: Aquamarine ) ;
476+ assert_eq ! ( from_value:: <NamedColor >( json!( "azure" ) ) . unwrap( ) , NamedColor :: Azure ) ;
477+ assert_eq ! ( from_value:: <NamedColor >( json!( "beige" ) ) . unwrap( ) , NamedColor :: Beige ) ;
478+ assert_eq ! ( from_value:: <NamedColor >( json!( "bisque" ) ) . unwrap( ) , NamedColor :: Bisque ) ;
479+ assert_eq ! ( from_value:: <NamedColor >( json!( "black" ) ) . unwrap( ) , NamedColor :: Black ) ;
480+ assert_eq ! ( from_value:: <NamedColor >( json!( "blanchedalmond" ) ) . unwrap( ) , NamedColor :: BlanchedAlmond ) ;
481+ assert_eq ! ( from_value:: <NamedColor >( json!( "blue" ) ) . unwrap( ) , NamedColor :: Blue ) ;
482+ assert_eq ! ( from_value:: <NamedColor >( json!( "blueviolet" ) ) . unwrap( ) , NamedColor :: BlueViolet ) ;
483+ assert_eq ! ( from_value:: <NamedColor >( json!( "brown" ) ) . unwrap( ) , NamedColor :: Brown ) ;
484+ assert_eq ! ( from_value:: <NamedColor >( json!( "burlywood" ) ) . unwrap( ) , NamedColor :: BurlyWood ) ;
485+ assert_eq ! ( from_value:: <NamedColor >( json!( "cadetblue" ) ) . unwrap( ) , NamedColor :: CadetBlue ) ;
486+ assert_eq ! ( from_value:: <NamedColor >( json!( "chartreuse" ) ) . unwrap( ) , NamedColor :: Chartreuse ) ;
487+ assert_eq ! ( from_value:: <NamedColor >( json!( "chocolate" ) ) . unwrap( ) , NamedColor :: Chocolate ) ;
488+ assert_eq ! ( from_value:: <NamedColor >( json!( "coral" ) ) . unwrap( ) , NamedColor :: Coral ) ;
489+ assert_eq ! ( from_value:: <NamedColor >( json!( "cornflowerblue" ) ) . unwrap( ) , NamedColor :: CornflowerBlue ) ;
490+ assert_eq ! ( from_value:: <NamedColor >( json!( "cornsilk" ) ) . unwrap( ) , NamedColor :: CornSilk ) ;
491+ assert_eq ! ( from_value:: <NamedColor >( json!( "crimson" ) ) . unwrap( ) , NamedColor :: Crimson ) ;
492+ assert_eq ! ( from_value:: <NamedColor >( json!( "cyan" ) ) . unwrap( ) , NamedColor :: Cyan ) ;
493+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkblue" ) ) . unwrap( ) , NamedColor :: DarkBlue ) ;
494+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkcyan" ) ) . unwrap( ) , NamedColor :: DarkCyan ) ;
495+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkgoldenrod" ) ) . unwrap( ) , NamedColor :: DarkGoldenrod ) ;
496+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkgray" ) ) . unwrap( ) , NamedColor :: DarkGray ) ;
497+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkgrey" ) ) . unwrap( ) , NamedColor :: DarkGrey ) ;
498+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkgreen" ) ) . unwrap( ) , NamedColor :: DarkGreen ) ;
499+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkorange" ) ) . unwrap( ) , NamedColor :: DarkOrange ) ;
500+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkorchid" ) ) . unwrap( ) , NamedColor :: DarkOrchid ) ;
501+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkred" ) ) . unwrap( ) , NamedColor :: DarkRed ) ;
502+ assert_eq ! ( from_value:: <NamedColor >( json!( "darksalmon" ) ) . unwrap( ) , NamedColor :: DarkSalmon ) ;
503+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkseagreen" ) ) . unwrap( ) , NamedColor :: DarkSeaGreen ) ;
504+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkslateblue" ) ) . unwrap( ) , NamedColor :: DarkSlateBlue ) ;
505+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkslategray" ) ) . unwrap( ) , NamedColor :: DarkSlateGray ) ;
506+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkslategrey" ) ) . unwrap( ) , NamedColor :: DarkSlateGrey ) ;
507+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkturquoise" ) ) . unwrap( ) , NamedColor :: DarkTurquoise ) ;
508+ assert_eq ! ( from_value:: <NamedColor >( json!( "darkviolet" ) ) . unwrap( ) , NamedColor :: DarkViolet ) ;
509+ assert_eq ! ( from_value:: <NamedColor >( json!( "deeppink" ) ) . unwrap( ) , NamedColor :: DeepPink ) ;
510+ assert_eq ! ( from_value:: <NamedColor >( json!( "deepskyblue" ) ) . unwrap( ) , NamedColor :: DeepSkyBlue ) ;
511+ assert_eq ! ( from_value:: <NamedColor >( json!( "dimgray" ) ) . unwrap( ) , NamedColor :: DimGray ) ;
512+ assert_eq ! ( from_value:: <NamedColor >( json!( "dimgrey" ) ) . unwrap( ) , NamedColor :: DimGrey ) ;
513+ assert_eq ! ( from_value:: <NamedColor >( json!( "dodgerblue" ) ) . unwrap( ) , NamedColor :: DodgerBlue ) ;
514+ assert_eq ! ( from_value:: <NamedColor >( json!( "firebrick" ) ) . unwrap( ) , NamedColor :: FireBrick ) ;
515+ assert_eq ! ( from_value:: <NamedColor >( json!( "floralwhite" ) ) . unwrap( ) , NamedColor :: FloralWhite ) ;
516+ assert_eq ! ( from_value:: <NamedColor >( json!( "forestgreen" ) ) . unwrap( ) , NamedColor :: ForestGreen ) ;
517+ assert_eq ! ( from_value:: <NamedColor >( json!( "fuchsia" ) ) . unwrap( ) , NamedColor :: Fuchsia ) ;
518+ assert_eq ! ( from_value:: <NamedColor >( json!( "gainsboro" ) ) . unwrap( ) , NamedColor :: Gainsboro ) ;
519+ assert_eq ! ( from_value:: <NamedColor >( json!( "ghostwhite" ) ) . unwrap( ) , NamedColor :: GhostWhite ) ;
520+ assert_eq ! ( from_value:: <NamedColor >( json!( "gold" ) ) . unwrap( ) , NamedColor :: Gold ) ;
521+ assert_eq ! ( from_value:: <NamedColor >( json!( "goldenrod" ) ) . unwrap( ) , NamedColor :: Goldenrod ) ;
522+ assert_eq ! ( from_value:: <NamedColor >( json!( "gray" ) ) . unwrap( ) , NamedColor :: Gray ) ;
523+ assert_eq ! ( from_value:: <NamedColor >( json!( "grey" ) ) . unwrap( ) , NamedColor :: Grey ) ;
524+ assert_eq ! ( from_value:: <NamedColor >( json!( "green" ) ) . unwrap( ) , NamedColor :: Green ) ;
525+ assert_eq ! ( from_value:: <NamedColor >( json!( "greenyellow" ) ) . unwrap( ) , NamedColor :: GreenYellow ) ;
526+ assert_eq ! ( from_value:: <NamedColor >( json!( "honeydew" ) ) . unwrap( ) , NamedColor :: Honeydew ) ;
527+ assert_eq ! ( from_value:: <NamedColor >( json!( "hotpink" ) ) . unwrap( ) , NamedColor :: HotPink ) ;
528+ assert_eq ! ( from_value:: <NamedColor >( json!( "indianred" ) ) . unwrap( ) , NamedColor :: IndianRed ) ;
529+ assert_eq ! ( from_value:: <NamedColor >( json!( "indigo" ) ) . unwrap( ) , NamedColor :: Indigo ) ;
530+ assert_eq ! ( from_value:: <NamedColor >( json!( "ivory" ) ) . unwrap( ) , NamedColor :: Ivory ) ;
531+ assert_eq ! ( from_value:: <NamedColor >( json!( "khaki" ) ) . unwrap( ) , NamedColor :: Khaki ) ;
532+ assert_eq ! ( from_value:: <NamedColor >( json!( "lavender" ) ) . unwrap( ) , NamedColor :: Lavender ) ;
533+ assert_eq ! ( from_value:: <NamedColor >( json!( "lavenderblush" ) ) . unwrap( ) , NamedColor :: LavenderBlush ) ;
534+ assert_eq ! ( from_value:: <NamedColor >( json!( "lawngreen" ) ) . unwrap( ) , NamedColor :: LawnGreen ) ;
535+ assert_eq ! ( from_value:: <NamedColor >( json!( "lemonchiffon" ) ) . unwrap( ) , NamedColor :: LemonChiffon ) ;
536+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightblue" ) ) . unwrap( ) , NamedColor :: LightBlue ) ;
537+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightcoral" ) ) . unwrap( ) , NamedColor :: LightCoral ) ;
538+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightcyan" ) ) . unwrap( ) , NamedColor :: LightCyan ) ;
539+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightgoldenrodyellow" ) ) . unwrap( ) , NamedColor :: LightGoldenrodYellow ) ;
540+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightgray" ) ) . unwrap( ) , NamedColor :: LightGray ) ;
541+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightgrey" ) ) . unwrap( ) , NamedColor :: LightGrey ) ;
542+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightgreen" ) ) . unwrap( ) , NamedColor :: LightGreen ) ;
543+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightpink" ) ) . unwrap( ) , NamedColor :: LightPink ) ;
544+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightsalmon" ) ) . unwrap( ) , NamedColor :: LightSalmon ) ;
545+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightseagreen" ) ) . unwrap( ) , NamedColor :: LightSeaGreen ) ;
546+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightskyblue" ) ) . unwrap( ) , NamedColor :: LightSkyBlue ) ;
547+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightslategray" ) ) . unwrap( ) , NamedColor :: LightSlateGray ) ;
548+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightslategrey" ) ) . unwrap( ) , NamedColor :: LightSlateGrey ) ;
549+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightsteelblue" ) ) . unwrap( ) , NamedColor :: LightSteelBlue ) ;
550+ assert_eq ! ( from_value:: <NamedColor >( json!( "lightyellow" ) ) . unwrap( ) , NamedColor :: LightYellow ) ;
551+ assert_eq ! ( from_value:: <NamedColor >( json!( "lime" ) ) . unwrap( ) , NamedColor :: Lime ) ;
552+ assert_eq ! ( from_value:: <NamedColor >( json!( "limegreen" ) ) . unwrap( ) , NamedColor :: LimeGreen ) ;
553+ assert_eq ! ( from_value:: <NamedColor >( json!( "linen" ) ) . unwrap( ) , NamedColor :: Linen ) ;
554+ assert_eq ! ( from_value:: <NamedColor >( json!( "magenta" ) ) . unwrap( ) , NamedColor :: Magenta ) ;
555+ assert_eq ! ( from_value:: <NamedColor >( json!( "maroon" ) ) . unwrap( ) , NamedColor :: Maroon ) ;
556+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumaquamarine" ) ) . unwrap( ) , NamedColor :: MediumAquamarine ) ;
557+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumblue" ) ) . unwrap( ) , NamedColor :: MediumBlue ) ;
558+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumorchid" ) ) . unwrap( ) , NamedColor :: MediumOrchid ) ;
559+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumpurple" ) ) . unwrap( ) , NamedColor :: MediumPurple ) ;
560+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumseagreen" ) ) . unwrap( ) , NamedColor :: MediumSeaGreen ) ;
561+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumslateblue" ) ) . unwrap( ) , NamedColor :: MediumSlateBlue ) ;
562+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumspringgreen" ) ) . unwrap( ) , NamedColor :: MediumSpringGreen ) ;
563+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumturquoise" ) ) . unwrap( ) , NamedColor :: MediumTurquoise ) ;
564+ assert_eq ! ( from_value:: <NamedColor >( json!( "mediumvioletred" ) ) . unwrap( ) , NamedColor :: MediumVioletRed ) ;
565+ assert_eq ! ( from_value:: <NamedColor >( json!( "midnightblue" ) ) . unwrap( ) , NamedColor :: MidnightBlue ) ;
566+ assert_eq ! ( from_value:: <NamedColor >( json!( "mintcream" ) ) . unwrap( ) , NamedColor :: MintCream ) ;
567+ assert_eq ! ( from_value:: <NamedColor >( json!( "mistyrose" ) ) . unwrap( ) , NamedColor :: MistyRose ) ;
568+ assert_eq ! ( from_value:: <NamedColor >( json!( "moccasin" ) ) . unwrap( ) , NamedColor :: Moccasin ) ;
569+ assert_eq ! ( from_value:: <NamedColor >( json!( "navajowhite" ) ) . unwrap( ) , NamedColor :: NavajoWhite ) ;
570+ assert_eq ! ( from_value:: <NamedColor >( json!( "navy" ) ) . unwrap( ) , NamedColor :: Navy ) ;
571+ assert_eq ! ( from_value:: <NamedColor >( json!( "oldlace" ) ) . unwrap( ) , NamedColor :: OldLace ) ;
572+ assert_eq ! ( from_value:: <NamedColor >( json!( "olive" ) ) . unwrap( ) , NamedColor :: Olive ) ;
573+ assert_eq ! ( from_value:: <NamedColor >( json!( "olivedrab" ) ) . unwrap( ) , NamedColor :: OliveDrab ) ;
574+ assert_eq ! ( from_value:: <NamedColor >( json!( "orange" ) ) . unwrap( ) , NamedColor :: Orange ) ;
575+ assert_eq ! ( from_value:: <NamedColor >( json!( "orangered" ) ) . unwrap( ) , NamedColor :: OrangeRed ) ;
576+ assert_eq ! ( from_value:: <NamedColor >( json!( "orchid" ) ) . unwrap( ) , NamedColor :: Orchid ) ;
577+ assert_eq ! ( from_value:: <NamedColor >( json!( "palegoldenrod" ) ) . unwrap( ) , NamedColor :: PaleGoldenrod ) ;
578+ assert_eq ! ( from_value:: <NamedColor >( json!( "palegreen" ) ) . unwrap( ) , NamedColor :: PaleGreen ) ;
579+ assert_eq ! ( from_value:: <NamedColor >( json!( "paleturquoise" ) ) . unwrap( ) , NamedColor :: PaleTurquoise ) ;
580+ assert_eq ! ( from_value:: <NamedColor >( json!( "palevioletred" ) ) . unwrap( ) , NamedColor :: PaleVioletRed ) ;
581+ assert_eq ! ( from_value:: <NamedColor >( json!( "papayawhip" ) ) . unwrap( ) , NamedColor :: PapayaWhip ) ;
582+ assert_eq ! ( from_value:: <NamedColor >( json!( "peachpuff" ) ) . unwrap( ) , NamedColor :: PeachPuff ) ;
583+ assert_eq ! ( from_value:: <NamedColor >( json!( "peru" ) ) . unwrap( ) , NamedColor :: Peru ) ;
584+ assert_eq ! ( from_value:: <NamedColor >( json!( "pink" ) ) . unwrap( ) , NamedColor :: Pink ) ;
585+ assert_eq ! ( from_value:: <NamedColor >( json!( "plum" ) ) . unwrap( ) , NamedColor :: Plum ) ;
586+ assert_eq ! ( from_value:: <NamedColor >( json!( "powderblue" ) ) . unwrap( ) , NamedColor :: PowderBlue ) ;
587+ assert_eq ! ( from_value:: <NamedColor >( json!( "purple" ) ) . unwrap( ) , NamedColor :: Purple ) ;
588+ assert_eq ! ( from_value:: <NamedColor >( json!( "rebeccapurple" ) ) . unwrap( ) , NamedColor :: RebeccaPurple ) ;
589+ assert_eq ! ( from_value:: <NamedColor >( json!( "red" ) ) . unwrap( ) , NamedColor :: Red ) ;
590+ assert_eq ! ( from_value:: <NamedColor >( json!( "rosybrown" ) ) . unwrap( ) , NamedColor :: RosyBrown ) ;
591+ assert_eq ! ( from_value:: <NamedColor >( json!( "royalblue" ) ) . unwrap( ) , NamedColor :: RoyalBlue ) ;
592+ assert_eq ! ( from_value:: <NamedColor >( json!( "saddlebrown" ) ) . unwrap( ) , NamedColor :: SaddleBrown ) ;
593+ assert_eq ! ( from_value:: <NamedColor >( json!( "salmon" ) ) . unwrap( ) , NamedColor :: Salmon ) ;
594+ assert_eq ! ( from_value:: <NamedColor >( json!( "sandybrown" ) ) . unwrap( ) , NamedColor :: SandyBrown ) ;
595+ assert_eq ! ( from_value:: <NamedColor >( json!( "seagreen" ) ) . unwrap( ) , NamedColor :: SeaGreen ) ;
596+ assert_eq ! ( from_value:: <NamedColor >( json!( "seashell" ) ) . unwrap( ) , NamedColor :: Seashell ) ;
597+ assert_eq ! ( from_value:: <NamedColor >( json!( "sienna" ) ) . unwrap( ) , NamedColor :: Sienna ) ;
598+ assert_eq ! ( from_value:: <NamedColor >( json!( "silver" ) ) . unwrap( ) , NamedColor :: Silver ) ;
599+ assert_eq ! ( from_value:: <NamedColor >( json!( "skyblue" ) ) . unwrap( ) , NamedColor :: SkyBlue ) ;
600+ assert_eq ! ( from_value:: <NamedColor >( json!( "slateblue" ) ) . unwrap( ) , NamedColor :: SlateBlue ) ;
601+ assert_eq ! ( from_value:: <NamedColor >( json!( "slategray" ) ) . unwrap( ) , NamedColor :: SlateGray ) ;
602+ assert_eq ! ( from_value:: <NamedColor >( json!( "slategrey" ) ) . unwrap( ) , NamedColor :: SlateGrey ) ;
603+ assert_eq ! ( from_value:: <NamedColor >( json!( "snow" ) ) . unwrap( ) , NamedColor :: Snow ) ;
604+ assert_eq ! ( from_value:: <NamedColor >( json!( "springgreen" ) ) . unwrap( ) , NamedColor :: SpringGreen ) ;
605+ assert_eq ! ( from_value:: <NamedColor >( json!( "steelblue" ) ) . unwrap( ) , NamedColor :: SteelBlue ) ;
606+ assert_eq ! ( from_value:: <NamedColor >( json!( "tan" ) ) . unwrap( ) , NamedColor :: Tan ) ;
607+ assert_eq ! ( from_value:: <NamedColor >( json!( "teal" ) ) . unwrap( ) , NamedColor :: Teal ) ;
608+ assert_eq ! ( from_value:: <NamedColor >( json!( "thistle" ) ) . unwrap( ) , NamedColor :: Thistle ) ;
609+ assert_eq ! ( from_value:: <NamedColor >( json!( "tomato" ) ) . unwrap( ) , NamedColor :: Tomato ) ;
610+ assert_eq ! ( from_value:: <NamedColor >( json!( "turquoise" ) ) . unwrap( ) , NamedColor :: Turquoise ) ;
611+ assert_eq ! ( from_value:: <NamedColor >( json!( "violet" ) ) . unwrap( ) , NamedColor :: Violet ) ;
612+ assert_eq ! ( from_value:: <NamedColor >( json!( "wheat" ) ) . unwrap( ) , NamedColor :: Wheat ) ;
613+ assert_eq ! ( from_value:: <NamedColor >( json!( "white" ) ) . unwrap( ) , NamedColor :: White ) ;
614+ assert_eq ! ( from_value:: <NamedColor >( json!( "whitesmoke" ) ) . unwrap( ) , NamedColor :: WhiteSmoke ) ;
615+ assert_eq ! ( from_value:: <NamedColor >( json!( "yellow" ) ) . unwrap( ) , NamedColor :: Yellow ) ;
616+ assert_eq ! ( from_value:: <NamedColor >( json!( "yellowgreen" ) ) . unwrap( ) , NamedColor :: YellowGreen ) ;
617+ assert_eq ! ( from_value:: <NamedColor >( json!( "transparent" ) ) . unwrap( ) , NamedColor :: Transparent ) ;
618+ }
467619}
0 commit comments