mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-25 07:06:12 +00:00
Fix removing trailing newlines by using str::replace in memofs (#903)
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
# Rojo Changelog
|
# Rojo Changelog
|
||||||
|
|
||||||
## Unreleased Changes
|
## Unreleased Changes
|
||||||
|
* Fixed removing trailing newlines ([#903])
|
||||||
* Added Never option to Confirmation ([#893])
|
* Added Never option to Confirmation ([#893])
|
||||||
* Added popout diff visualizer for table properties like Attributes and Tags ([#834])
|
* Added popout diff visualizer for table properties like Attributes and Tags ([#834])
|
||||||
* Updated Theme to use Studio colors ([#838])
|
* Updated Theme to use Studio colors ([#838])
|
||||||
@@ -59,6 +60,7 @@
|
|||||||
[#840]: https://github.com/rojo-rbx/rojo/pull/840
|
[#840]: https://github.com/rojo-rbx/rojo/pull/840
|
||||||
[#883]: https://github.com/rojo-rbx/rojo/pull/883
|
[#883]: https://github.com/rojo-rbx/rojo/pull/883
|
||||||
[#893]: https://github.com/rojo-rbx/rojo/pull/893
|
[#893]: https://github.com/rojo-rbx/rojo/pull/893
|
||||||
|
[#903]: https://github.com/rojo-rbx/rojo/pull/903
|
||||||
|
|
||||||
## [7.4.1] - February 20, 2024
|
## [7.4.1] - February 20, 2024
|
||||||
* Made the `name` field optional on project files ([#870])
|
* Made the `name` field optional on project files ([#870])
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ impl Vfs {
|
|||||||
let path = path.as_ref();
|
let path = path.as_ref();
|
||||||
let contents = self.inner.lock().unwrap().read_to_string(path)?;
|
let contents = self.inner.lock().unwrap().read_to_string(path)?;
|
||||||
|
|
||||||
Ok(contents.lines().collect::<Vec<&str>>().join("\n").into())
|
Ok(contents.replace("\r\n", "\n").into())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Write a file to the VFS and the underlying backend.
|
/// Write a file to the VFS and the underlying backend.
|
||||||
@@ -473,3 +473,23 @@ impl VfsLock<'_> {
|
|||||||
self.inner.commit_event(event)
|
self.inner.commit_event(event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use crate::{InMemoryFs, Vfs, VfsSnapshot};
|
||||||
|
|
||||||
|
/// https://github.com/rojo-rbx/rojo/issues/899
|
||||||
|
#[test]
|
||||||
|
fn read_to_string_lf_normalized_keeps_trailing_newline() {
|
||||||
|
let mut imfs = InMemoryFs::new();
|
||||||
|
imfs.load_snapshot("test", VfsSnapshot::file("bar\r\nfoo\r\n\r\n"))
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let vfs = Vfs::new(imfs);
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
vfs.read_to_string_lf_normalized("test").unwrap().as_str(),
|
||||||
|
"bar\nfoo\n\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user