servo/components/layout
Jon Leighton e4acb3f77f Add test for FontContext/FontGroup functionality
Unfortunately, this required quite a bit of changes to the non-test
code. That's because FontContext depends on a FontCacheThread, which in
turn depends on a CoreResourceThread and therefore lots of other data
structures.

It seemed like it would be very difficult to instantiate a FontContext
as it was, and even if we could it seems like overkill to have all these
data structures present for a relatively focused test.

Therefore, I created a FontSource trait which represents the interface
which FontContext uses to talk to FontCacheThread. FontCacheThread then
implements FontSource. Then, in the test, we can create a dummy
implementation of FontSource rather than using FontCacheThread.

This actually has the advantage that we can make our dummy
implementation behave in certain specific way which are useful for
testing, for example it can count the number of times
find_font_template() is called, which helps us verify that
caching/lazy-loading is working as intended.
2018-02-22 16:36:09 +01:00
..
display_list Use Rect::inner_rect from euclid 2018-02-08 16:45:27 +01:00
tests Merge layout and layout_tests 2018-01-20 15:33:39 +01:00
animation.rs style: Make the TElement type arrive to the cascade function. 2018-01-23 00:57:54 +01:00
block.rs Change debug assertions to specific ones 2018-02-07 09:21:24 +01:00
Cargo.toml Use Rect::inner_rect from euclid 2018-02-08 16:45:27 +01:00
construct.rs style: Move content property out of mako. 2018-02-07 00:11:57 +02:00
context.rs Add test for FontContext/FontGroup functionality 2018-02-22 16:36:09 +01:00
data.rs Bump bitflags to 1.0 in every servo crate 2017-10-30 23:36:06 +01:00
flex.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
floats.rs Use specific negative assertion for layout floats 2018-01-26 01:55:24 +08:00
flow.rs Simplify counter CSS properties 2018-02-04 14:52:38 +01:00
flow_list.rs Remove usage of unstable feature conservative_impl_trait in layout 2017-10-13 11:11:06 +02:00
flow_ref.rs order derivable traits lists 2017-08-23 21:38:44 +02:00
fragment.rs Replace IntegerOrAuto with ZIndex 2018-02-20 15:18:22 +01:00
generated_content.rs style: Move content property out of mako. 2018-02-07 00:11:57 +02:00
incremental.rs Turn flow::base and friends into methods 2017-12-14 12:16:45 -06:00
inline.rs Add test for FontContext/FontGroup functionality 2018-02-22 16:36:09 +01:00
layout_debug.rs Use specific assertion for layout layout_debug 2018-01-26 01:01:01 +08:00
lib.rs Share line breaking state across text runs 2018-01-24 12:51:33 +05:30
linked_list.rs Move util::linked_list to layout 2016-06-29 17:23:04 +02:00
list_item.rs Allow floats to impact list item marker position 2018-01-24 12:26:32 +01:00
model.rs Fix some "unnecessary parentheses" warnings 2018-01-22 17:41:25 +01:00
multicol.rs Use specific assertion for layout multicol 2018-01-26 01:01:01 +08:00
opaque_node.rs Introduce LayoutJS<Node>::opaque() to replace OpaqueNodeMethods::from_jsmanaged(). 2016-06-20 19:08:02 +02:00
parallel.rs Turn flow::base and friends into methods 2017-12-14 12:16:45 -06:00
persistent_list.rs Use try syntax for Option where appropriate 2017-10-20 08:25:35 -07:00
query.rs Auto merge of #20082 - emilio:ignore-existing-styles, r=bholley 2018-02-21 06:09:15 -05:00
sequential.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
table.rs Change debug assertions to specific ones 2018-02-07 09:21:24 +01:00
table_caption.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
table_cell.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
table_colgroup.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
table_row.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
table_rowgroup.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
table_wrapper.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
text.rs Add test for FontContext/FontGroup functionality 2018-02-22 16:36:09 +01:00
traversal.rs Create own file for background calculations in layout 2018-01-06 20:19:32 +01:00
wrapper.rs style: Move content property out of mako. 2018-02-07 00:11:57 +02:00