dataparser.html revision 6490866488e254991046327b5b5d95502afb35ad
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<html>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<head>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<title>DataParser Tests</title>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis</head>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<body class="yui-skin-sam">
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<h1>DataParser Tests</h1>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<p><input type="button" value="Run Tests" id="btnRun" disabled=true></p>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<script type="text/javascript" src="/build/yui/yui.js"></script>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<script type="text/javascript" src="/build/dataparser/dataparser-debug.js" id="buildsrc"></script>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis<script type="text/javascript">
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis(function() {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis YUI({
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis base: "/build/",
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis filter: "debug",
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis useConsole: true,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis insertBefore: "buildsrc"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }).use("console", "test", "dump", "dataparser", function(Y) {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis // Set up the page
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis var ASSERT = Y.Assert,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ARRAYASSERT = Y.ArrayAssert,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis btnRun = Y.get("#btnRun"),
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis myConsole = new Y.Console().render();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis btnRun.set("disabled", false);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis Y.on("click", function(){
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis Y.Test.Runner.run();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }, btnRun);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis var testJSON = new Y.Test.Case({
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis name: "JSON Tests",
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis testBasic: function() {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis var dp = new Y.DataParser.JSON({
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis schema: {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis resultsList: "response",
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fields: ["name", "number", "letter"]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis });
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis var data_in = {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis response: [
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis {name: "alpha", number: 1, letter: "a"},
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis {name: "beta", number: 2, letter: "b"},
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis {name: "gamma", number: 3, letter: "c"}
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis },
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis data_out = dp.parse(data_in);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ASSERT.isObject(data_out.meta, "Expected meta property.");
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ASSERT.isArray(data_out.results, "Expected results property.");
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ASSERT.areSame(3, data_out.results.length, "Expected 3 results.");
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ASSERT.areSame("alpha", data_out.results[0].name, "Expected first result.");
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ASSERT.areSame("gamma", data_out.results[2].name, "Expected last result.");
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis });
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis Y.Test.Runner.add(testJSON);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis Y.Test.Runner.run();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis });
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis})();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis</script>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis</body>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis</html>
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis