selectors: Unbust tests, and add a way to override the hash for the bloom filter.

This commit is contained in:
Emilio Cobos Álvarez 2017-03-21 17:43:00 +01:00
parent e0731215c0
commit 65ebbb7c56
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
3 changed files with 7 additions and 6 deletions

View file

@ -21,6 +21,7 @@ matrix:
- bash etc/ci/check_no_panic.sh
- bash etc/ci/lockfile_changed.sh
- bash etc/ci/manifest_changed.sh
- ./mach cargo test -p selectors
cache:
directories:
- .cargo

View file

@ -106,7 +106,7 @@ impl BloomFilter {
}
#[inline]
fn insert_hash(&mut self, hash: u32) {
pub fn insert_hash(&mut self, hash: u32) {
{
let slot1 = self.first_mut_slot(hash);
if !full(slot1) {
@ -125,11 +125,10 @@ impl BloomFilter {
#[inline]
pub fn insert<T: Hash>(&mut self, elem: &T) {
self.insert_hash(hash(elem))
}
#[inline]
fn remove_hash(&mut self, hash: u32) {
pub fn remove_hash(&mut self, hash: u32) {
{
let slot1 = self.first_mut_slot(hash);
if !full(slot1) {
@ -151,7 +150,7 @@ impl BloomFilter {
}
#[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
}
@ -170,7 +169,6 @@ fn full(slot: &u8) -> bool {
*slot == 0xff
}
#[inline]
fn hash<T: Hash>(elem: &T) -> u32 {
let mut hasher = FnvHasher::default();
elem.hash(&mut hasher);

View file

@ -1201,6 +1201,8 @@ pub mod tests {
type PseudoElement = PseudoElement;
}
type ShutUpTidy = String;
impl Parser for DummyParser {
type Impl = DummySelectorImpl;
@ -1234,7 +1236,7 @@ pub mod tests {
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()
}
}