Skip to content

Commit fda82f3

Browse files
committed
add lines to ruby template so the file generates correctly
1 parent 08010cc commit fda82f3

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

misc/lang.rs.erb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ use crate::error::ParseError;
1010
/// Represents a language following [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) standard.
1111
#[cfg_attr(feature = "enum-map", derive(::enum_map::Enum))]
1212
#[cfg_attr(feature = "arbitrary", derive(::arbitrary::Arbitrary))]
13+
#[cfg_attr(
14+
feature = "serde",
15+
derive(::serde::Serialize, ::serde::Deserialize),
16+
serde(rename_all = "lowercase")
17+
)]
1318
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy)]
1419
pub enum Lang {
1520
<% langs.each_with_index do |lang, index| %>
@@ -191,4 +196,14 @@ mod tests {
191196
assert_eq!(Lang::Deu.to_string(), "Deutsch");
192197
assert_eq!(Lang::Eng.to_string(), "English");
193198
}
199+
200+
#[cfg(feature = "serde")]
201+
#[test]
202+
fn test_serialize_and_deserialize() {
203+
let langs = vec![Lang::Epo, Lang::Ukr, Lang::Spa];
204+
let json_langs = serde_json::to_string(&langs).unwrap();
205+
assert_eq!(json_langs, r#"["epo","ukr","spa"]"#);
206+
let parsed_langs: Vec<Lang> = serde_json::from_str(&json_langs).unwrap();
207+
assert_eq!(parsed_langs, langs);
208+
}
194209
}

src/lang.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,7 @@ mod tests {
734734
assert_eq!(Lang::Deu.to_string(), "Deutsch");
735735
assert_eq!(Lang::Eng.to_string(), "English");
736736
}
737+
737738
#[cfg(feature = "serde")]
738739
#[test]
739740
fn test_serialize_and_deserialize() {

0 commit comments

Comments
 (0)