array.html revision dd3bb831f7d6a07193f48da84225f0df74f059ad
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore<script type="text/javascript" src="/build/yui/yui.js"></script>
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore(function() {
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore logExclude: {
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore attribute: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore event: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore widget: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore selector: true
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore useConsole: true
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore }).use("dump", "test", "console", "event-custom", function(Y) {
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore var button = Y.get('#btnRun');
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore // Set up the page
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore button.set("disabled", false);
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore Y.on("click", function() {
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore var myConsole = new Y.Console().render();
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore var testArray = new Y.Test.Case({
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore name: "Array tests",
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore '[3, 100, 1, 2] should produce [1, 2, 3, 100] when sorted': function() {
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore // the stock sort behavior should fail to produce desired result
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore Y.ArrayAssert.itemsAreEqual([1, 100, 2, 3], [3, 100, 1, 2].sort());
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore Y.ArrayAssert.itemsAreEqual([1, 2, 3, 100], [3, 100, 1, 2].sort(Y.Array.numericSort));
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore test_some: function() {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore var a = [1, 2, 3];
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore Y.Array.some(a, function(v) {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore if (v == 2) {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore return 'truthy';
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore if (v == 3) {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore Y.fail('truthy value did not stop iteration');
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore a.some(function(v) {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore if (v == 2) {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore if (v == 3) {
85aaf0eb33da296a9926dd03b903d23c1e3a9381Adam Moore Y.fail('truthy value did not stop iteration');
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore test_array: function() {
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore var els = document.getElementsByTagName('span'),
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore Y.log('els isObject:' + Y.Lang.isObject(els)); // false in Safari
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore Y.log('els typeof:' + typeof els);
dd3bb831f7d6a07193f48da84225f0df74f059adAdam Moore Y.log('els isFunction:' + Y.Lang.isFunction(els));