Default strings and vectors: Parser + Rust support (#6421)

* Fix tests.cpp

* Parser support for vector/string defaults

* tests and default empty vectors

* addressed comments

* Default strings and vectors for Rust

* Tested Rust more_defaults

* git-clang-format

* add more_defaults_test

* fixed vector default

* removed commented out code

* more unreachable

Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
Casper
2021-02-12 09:41:10 -05:00
committed by GitHub
parent 6af37e6729
commit 86401e078d
12 changed files with 403 additions and 100 deletions

View File

@@ -30,6 +30,7 @@ extern crate quickcheck_derive;
mod flexbuffers_tests;
mod optional_scalars_test;
mod more_defaults_test;
#[allow(dead_code, unused_imports)]
#[path = "../../include_test/include_test1_generated.rs"]

View File

@@ -0,0 +1,26 @@
#[allow(dead_code, unused_imports)]
#[path = "../../more_defaults_generated.rs"]
mod more_defaults_generated;
use self::more_defaults_generated::*;
#[test]
fn object_defaults() {
assert_eq!(
MoreDefaultsT::default(),
MoreDefaultsT {
ints: Vec::new(),
floats: Vec::new(),
empty_string: "".to_string(),
some_string: "some".to_string(),
},
)
}
#[test]
fn nonpresent_values() {
let m = flatbuffers::root::<MoreDefaults>(&[0; 4]).unwrap();
assert_eq!(m.ints().len(), 0);
assert_eq!(m.floats().len(), 0);
assert_eq!(m.empty_string(), "");
assert_eq!(m.some_string(), "some");
}