You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
import assert from 'assert'
|
|
import cheerio from 'cheerio'
|
|
|
|
import HTML from './fixtures/get-weight'
|
|
import {
|
|
getWeight
|
|
} from './index'
|
|
|
|
describe('Generic Extractor Utils', () => {
|
|
describe('getWeight(node)', () => {
|
|
it("returns a score of 25 if node has positive id", () => {
|
|
const $ = cheerio.load(HTML.positiveId)
|
|
assert.equal(getWeight($('div')), 25)
|
|
})
|
|
|
|
it("returns a score of -25 if node has negative id", () => {
|
|
const $ = cheerio.load(HTML.negativeId)
|
|
assert.equal(getWeight($('div')), -25)
|
|
})
|
|
|
|
it("returns a score of 25 if node has positive class", () => {
|
|
const $ = cheerio.load(HTML.positiveClass)
|
|
assert.equal(getWeight($('div')), 25)
|
|
})
|
|
|
|
it("returns a score of -25 if node has negative class", () => {
|
|
const $ = cheerio.load(HTML.negativeClass)
|
|
assert.equal(getWeight($('div')), -25)
|
|
})
|
|
|
|
it("returns a score of 25 if node has both positive id and class", () => {
|
|
const $ = cheerio.load(HTML.positiveIdAndClass)
|
|
assert.equal(getWeight($('div')), 25)
|
|
})
|
|
|
|
it("returns a score of 25 if node has pos id and neg class", () => {
|
|
// is this really wanted? id="entry" class="adbox"
|
|
// should get positive score?
|
|
const $ = cheerio.load(HTML.positiveIdNegClass)
|
|
assert.equal(getWeight($('div')), 25)
|
|
})
|
|
|
|
it("returns a score of 10 if node has pos img class", () => {
|
|
const $ = cheerio.load(HTML.positivePhotoClass)
|
|
assert.equal(getWeight($('div')), 10)
|
|
})
|
|
|
|
it("returns a score of 35 if node has pos id pos img class", () => {
|
|
const $ = cheerio.load(HTML.positiveIdAndPhoto)
|
|
assert.equal(getWeight($('div')), 35)
|
|
})
|
|
|
|
it("adds an add'l 25 (total 50) if node uses entry-content-asset class", () => {
|
|
const $ = cheerio.load(HTML.entryContentAsset)
|
|
assert.equal(getWeight($('div')), 50)
|
|
})
|
|
|
|
})
|
|
})
|