mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
selectors: Unbust tests, and add a way to override the hash for the bloom filter.
This commit is contained in:
parent
e0731215c0
commit
65ebbb7c56
3 changed files with 7 additions and 6 deletions
|
@ -21,6 +21,7 @@ matrix:
|
||||||
- bash etc/ci/check_no_panic.sh
|
- bash etc/ci/check_no_panic.sh
|
||||||
- bash etc/ci/lockfile_changed.sh
|
- bash etc/ci/lockfile_changed.sh
|
||||||
- bash etc/ci/manifest_changed.sh
|
- bash etc/ci/manifest_changed.sh
|
||||||
|
- ./mach cargo test -p selectors
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- .cargo
|
- .cargo
|
||||||
|
|
|
@ -106,7 +106,7 @@ impl BloomFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn insert_hash(&mut self, hash: u32) {
|
pub fn insert_hash(&mut self, hash: u32) {
|
||||||
{
|
{
|
||||||
let slot1 = self.first_mut_slot(hash);
|
let slot1 = self.first_mut_slot(hash);
|
||||||
if !full(slot1) {
|
if !full(slot1) {
|
||||||
|
@ -125,11 +125,10 @@ impl BloomFilter {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn insert<T: Hash>(&mut self, elem: &T) {
|
pub fn insert<T: Hash>(&mut self, elem: &T) {
|
||||||
self.insert_hash(hash(elem))
|
self.insert_hash(hash(elem))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn remove_hash(&mut self, hash: u32) {
|
pub fn remove_hash(&mut self, hash: u32) {
|
||||||
{
|
{
|
||||||
let slot1 = self.first_mut_slot(hash);
|
let slot1 = self.first_mut_slot(hash);
|
||||||
if !full(slot1) {
|
if !full(slot1) {
|
||||||
|
@ -151,7 +150,7 @@ impl BloomFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn might_contain_hash(&self, hash: u32) -> bool {
|
pub fn might_contain_hash(&self, hash: u32) -> bool {
|
||||||
*self.first_slot(hash) != 0 && *self.second_slot(hash) != 0
|
*self.first_slot(hash) != 0 && *self.second_slot(hash) != 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +169,6 @@ fn full(slot: &u8) -> bool {
|
||||||
*slot == 0xff
|
*slot == 0xff
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
|
||||||
fn hash<T: Hash>(elem: &T) -> u32 {
|
fn hash<T: Hash>(elem: &T) -> u32 {
|
||||||
let mut hasher = FnvHasher::default();
|
let mut hasher = FnvHasher::default();
|
||||||
elem.hash(&mut hasher);
|
elem.hash(&mut hasher);
|
||||||
|
|
|
@ -1201,6 +1201,8 @@ pub mod tests {
|
||||||
type PseudoElement = PseudoElement;
|
type PseudoElement = PseudoElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ShutUpTidy = String;
|
||||||
|
|
||||||
impl Parser for DummyParser {
|
impl Parser for DummyParser {
|
||||||
type Impl = DummySelectorImpl;
|
type Impl = DummySelectorImpl;
|
||||||
|
|
||||||
|
@ -1234,7 +1236,7 @@ pub mod tests {
|
||||||
self.default_ns.clone()
|
self.default_ns.clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn namespace_for_prefix(&self, prefix: &str) -> Option<String> {
|
fn namespace_for_prefix(&self, prefix: &ShutUpTidy) -> Option<String> {
|
||||||
self.ns_prefixes.get(prefix).cloned()
|
self.ns_prefixes.get(prefix).cloned()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue