aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAdrian Heine <mail@adrianheine.de>2016-01-04 10:36:14 +0100
committerAdrian Heine <mail@adrianheine.de>2016-01-04 15:23:26 +0100
commit3f61d63e72c57f318807e06409084bf04fa08ded (patch)
tree8e86dc75572e4afd8bb86bb1f169ba4bd9dc0ab8 /tests
parent5ad9207a99295284f1525844b734f189d1a25255 (diff)
downloadservo-3f61d63e72c57f318807e06409084bf04fa08ded.tar.gz
servo-3f61d63e72c57f318807e06409084bf04fa08ded.zip
Add failing test for FontCacheTask::add_web_font
This test tries to add a web font to the `FontCacheTask`. The added web font corresponds to the following CSS font definition: ``` @font-face { font-family: "test family"; src: local(test font face); } ``` This test fails, since `FontCacheTask` tries to get the value for the key "test font face" from `self.web_families`, but previously initialized a value for the key "test family".
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/gfx/Cargo.toml6
-rw-r--r--tests/unit/gfx/font_cache_task.rs21
-rw-r--r--tests/unit/gfx/lib.rs3
3 files changed, 30 insertions, 0 deletions
diff --git a/tests/unit/gfx/Cargo.toml b/tests/unit/gfx/Cargo.toml
index 24e43ff3def..55ec4c14504 100644
--- a/tests/unit/gfx/Cargo.toml
+++ b/tests/unit/gfx/Cargo.toml
@@ -10,3 +10,9 @@ doctest = false
[dependencies.gfx]
path = "../../../components/gfx"
+
+[dependencies.ipc-channel]
+git = "https://github.com/servo/ipc-channel"
+
+[dependencies.style]
+path = "../../../components/style"
diff --git a/tests/unit/gfx/font_cache_task.rs b/tests/unit/gfx/font_cache_task.rs
new file mode 100644
index 00000000000..54cc417acb0
--- /dev/null
+++ b/tests/unit/gfx/font_cache_task.rs
@@ -0,0 +1,21 @@
+/* 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/. */
+
+use gfx::font_cache_task::FontCacheTask;
+use ipc_channel::ipc;
+use style::computed_values::font_family::FontFamily;
+use style::font_face::Source;
+
+#[test]
+fn test_local_web_font() {
+ let (inp_chan, _) = ipc::channel().unwrap();
+ let (out_chan, out_receiver) = ipc::channel().unwrap();
+ let font_cache_task = FontCacheTask::new(inp_chan);
+ let family_name = FontFamily::FamilyName(From::from("test family"));
+ let variant_name = FontFamily::FamilyName(From::from("test font face"));
+
+ font_cache_task.add_web_font(family_name, Source::Local(variant_name), out_chan);
+
+ assert_eq!(out_receiver.recv().unwrap(), ());
+}
diff --git a/tests/unit/gfx/lib.rs b/tests/unit/gfx/lib.rs
index 9a5040b6fe1..3bac7b06edc 100644
--- a/tests/unit/gfx/lib.rs
+++ b/tests/unit/gfx/lib.rs
@@ -3,5 +3,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
extern crate gfx;
+extern crate ipc_channel;
+extern crate style;
+#[cfg(test)] mod font_cache_task;
#[cfg(test)] mod text_util;