mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Merge gfx and gfx_tests
This commit is contained in:
parent
a17a1fd06e
commit
c2ed7c9632
7 changed files with 6 additions and 37 deletions
|
@ -9,6 +9,8 @@ publish = false
|
|||
[lib]
|
||||
name = "gfx"
|
||||
path = "lib.rs"
|
||||
test = false
|
||||
doctest = false
|
||||
|
||||
[features]
|
||||
unstable = ["simd"]
|
||||
|
|
162
components/gfx/tests/text_util.rs
Normal file
162
components/gfx/tests/text_util.rs
Normal file
|
@ -0,0 +1,162 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
extern crate gfx;
|
||||
|
||||
use gfx::text::util::{CompressionMode, transform_text};
|
||||
|
||||
#[test]
|
||||
fn test_transform_compress_none() {
|
||||
let test_strs = [
|
||||
" foo bar",
|
||||
"foo bar ",
|
||||
"foo\n bar",
|
||||
"foo \nbar",
|
||||
" foo bar \nbaz",
|
||||
"foo bar baz",
|
||||
"foobarbaz\n\n",
|
||||
];
|
||||
|
||||
let mode = CompressionMode::CompressNone;
|
||||
for &test in test_strs.iter() {
|
||||
let mut trimmed_str = String::new();
|
||||
transform_text(test, mode, true, &mut trimmed_str);
|
||||
assert_eq!(trimmed_str, test)
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transform_discard_newline() {
|
||||
let test_strs = [
|
||||
(" foo bar",
|
||||
" foo bar"),
|
||||
|
||||
("foo bar ",
|
||||
"foo bar "),
|
||||
|
||||
("foo\n bar",
|
||||
"foo bar"),
|
||||
|
||||
("foo \nbar",
|
||||
"foo bar"),
|
||||
|
||||
(" foo bar \nbaz",
|
||||
" foo bar baz"),
|
||||
|
||||
("foo bar baz",
|
||||
"foo bar baz"),
|
||||
|
||||
("foobarbaz\n\n",
|
||||
"foobarbaz"),
|
||||
];
|
||||
|
||||
let mode = CompressionMode::DiscardNewline;
|
||||
for &(test, oracle) in test_strs.iter() {
|
||||
let mut trimmed_str = String::new();
|
||||
transform_text(test, mode, true, &mut trimmed_str);
|
||||
assert_eq!(trimmed_str, oracle)
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transform_compress_whitespace() {
|
||||
let test_strs = [
|
||||
(" foo bar",
|
||||
"foo bar"),
|
||||
|
||||
("foo bar ",
|
||||
"foo bar "),
|
||||
|
||||
("foo\n bar",
|
||||
"foo\n bar"),
|
||||
|
||||
("foo \nbar",
|
||||
"foo \nbar"),
|
||||
|
||||
(" foo bar \nbaz",
|
||||
"foo bar \nbaz"),
|
||||
|
||||
("foo bar baz",
|
||||
"foo bar baz"),
|
||||
|
||||
("foobarbaz\n\n",
|
||||
"foobarbaz\n\n"),
|
||||
];
|
||||
|
||||
let mode = CompressionMode::CompressWhitespace;
|
||||
for &(test, oracle) in test_strs.iter() {
|
||||
let mut trimmed_str = String::new();
|
||||
transform_text(test, mode, true, &mut trimmed_str);
|
||||
assert_eq!(&*trimmed_str, oracle)
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transform_compress_whitespace_newline() {
|
||||
let test_strs = vec![
|
||||
(" foo bar",
|
||||
"foo bar"),
|
||||
|
||||
("foo bar ",
|
||||
"foo bar "),
|
||||
|
||||
("foo\n bar",
|
||||
"foo bar"),
|
||||
|
||||
("foo \nbar",
|
||||
"foo bar"),
|
||||
|
||||
(" foo bar \nbaz",
|
||||
"foo bar baz"),
|
||||
|
||||
("foo bar baz",
|
||||
"foo bar baz"),
|
||||
|
||||
("foobarbaz\n\n",
|
||||
"foobarbaz "),
|
||||
];
|
||||
|
||||
let mode = CompressionMode::CompressWhitespaceNewline;
|
||||
for &(test, oracle) in test_strs.iter() {
|
||||
let mut trimmed_str = String::new();
|
||||
transform_text(test, mode, true, &mut trimmed_str);
|
||||
assert_eq!(&*trimmed_str, oracle)
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transform_compress_whitespace_newline_no_incoming() {
|
||||
let test_strs = [
|
||||
(" foo bar",
|
||||
" foo bar"),
|
||||
|
||||
("\nfoo bar",
|
||||
" foo bar"),
|
||||
|
||||
("foo bar ",
|
||||
"foo bar "),
|
||||
|
||||
("foo\n bar",
|
||||
"foo bar"),
|
||||
|
||||
("foo \nbar",
|
||||
"foo bar"),
|
||||
|
||||
(" foo bar \nbaz",
|
||||
" foo bar baz"),
|
||||
|
||||
("foo bar baz",
|
||||
"foo bar baz"),
|
||||
|
||||
("foobarbaz\n\n",
|
||||
"foobarbaz "),
|
||||
];
|
||||
|
||||
let mode = CompressionMode::CompressWhitespaceNewline;
|
||||
for &(test, oracle) in test_strs.iter() {
|
||||
let mut trimmed_str = String::new();
|
||||
transform_text(test, mode, false, &mut trimmed_str);
|
||||
assert_eq!(trimmed_str, oracle)
|
||||
}
|
||||
}
|
|
@ -392,7 +392,7 @@ impl<'a> GlyphInfo<'a> {
|
|||
/// Simple glyphs are stored inline in the `entry_buffer`, detailed glyphs are
|
||||
/// stored as pointers into the `detail_store`.
|
||||
///
|
||||
/// ~~~ignore
|
||||
/// ~~~ascii
|
||||
/// +- GlyphStore --------------------------------+
|
||||
/// | +---+---+---+---+---+---+---+ |
|
||||
/// | entry_buffer: | | s | | s | | s | s | | d = detailed
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue