mirror of https://github.com/metafizzy/isotope
Filter & sort magical layouts
http://isotope.metafizzy.co
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.9 KiB
58 lines
1.9 KiB
'use strict'; |
|
|
|
Tinytest.addAsync('Isotope - fitRows', function (test, done) { |
|
var isotopeDropZone = document.createElement('div'); |
|
document.body.appendChild(isotopeDropZone); |
|
|
|
// TODO ideally we'd get the htmls straight from this repo, but no idea how to do this from TinyTest - http://stackoverflow.com/questions/27180892/pull-an-html-file-into-a-tinytest |
|
HTTP.get('https://rawgit.com/metafizzy/isotope/master/test/index.html', function callback(error, result) { |
|
|
|
// adapted from test/fit-rows.js |
|
function checkPosition(item, x, y) { |
|
var elem = item.element; |
|
var left = parseInt(elem.style.left, 10); |
|
var top = parseInt(elem.style.top, 10); |
|
test.equal([ left, top ], [ x, y ], 'item position ' + x + ', ' + y); |
|
} |
|
|
|
if (error) { |
|
test.fail({message: 'Error getting the test file. Do we have an Internet connection to rawgit.com?'}); |
|
} else { |
|
// [^] matches across newlines. Stay within the <body>, or else the fragment will attempt to load resources on its own. |
|
isotopeDropZone.innerHTML = result.content.match(/<h2>fitRows[^]+<\/div>/); |
|
|
|
test.ok({message: 'Visual test passed if the fitRows look like two towers, and failed if they look like a rotated L'}); |
|
|
|
var iso = new Isotope('#fitrows-gutter', { |
|
layoutMode: 'fitRows', |
|
itemSelector: '.item', |
|
transitionDuration: 0 |
|
}); |
|
|
|
checkPosition(iso.items[0], 0, 0); |
|
checkPosition(iso.items[1], 60, 0); |
|
|
|
// check gutter |
|
iso.options.fitRows = { |
|
gutter: 10 |
|
}; |
|
iso.layout(); |
|
|
|
checkPosition(iso.items[0], 0, 0); |
|
checkPosition(iso.items[1], 70, 0); |
|
|
|
// check gutter, with element sizing |
|
iso.options.fitRows = { |
|
gutter: '.gutter-sizer' |
|
}; |
|
iso.layout(); |
|
|
|
checkPosition(iso.items[0], 0, 0); |
|
checkPosition(iso.items[1], 78, 0); |
|
} |
|
|
|
done(); |
|
|
|
}); |
|
|
|
});
|
|
|