/* * Copyright 2012, Mozilla Foundation and contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ "use strict"; // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT const exports = {}; function test() { helpers.runTestModule(exports, "browser_gcli_node.js"); } // var assert = require('../testharness/assert'); // var helpers = require('./helpers'); exports.testNode = function (options) { return helpers.audit(options, [ { setup: "tse ", check: { input: "tse ", hints: " [options]", markup: "VVVV", cursor: 4, current: "node", status: "ERROR", args: { command: { name: "tse" }, node: { status: "INCOMPLETE" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } }, { setup: "tse :", check: { input: "tse :", hints: " [options]", markup: "VVVVE", cursor: 5, current: "node", status: "ERROR", args: { command: { name: "tse" }, node: { arg: " :", status: "ERROR", message: "Syntax error in CSS query" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } }, { setup: "tse #", check: { input: "tse #", hints: " [options]", markup: "VVVVE", cursor: 5, current: "node", status: "ERROR", args: { command: { name: "tse" }, node: { value: undefined, arg: " #", status: "ERROR", message: "Syntax error in CSS query" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } }, { setup: "tse .", check: { input: "tse .", hints: " [options]", markup: "VVVVE", cursor: 5, current: "node", status: "ERROR", args: { command: { name: "tse" }, node: { value: undefined, arg: " .", status: "ERROR", message: "Syntax error in CSS query" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } }, { setup: "tse *", check: { input: "tse *", hints: " [options]", markup: "VVVVE", cursor: 5, current: "node", status: "ERROR", args: { command: { name: "tse" }, node: { value: undefined, arg: " *", status: "ERROR" // message: 'Too many matches (128)' }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } } ]); }; exports.testNodeDom = function (options) { return helpers.audit(options, [ { setup: "tse :root", check: { input: "tse :root", hints: " [options]", markup: "VVVVVVVVV", cursor: 9, current: "node", status: "VALID", args: { command: { name: "tse" }, node: { arg: " :root", status: "VALID" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } }, { setup: "tse :root ", check: { input: "tse :root ", hints: "[options]", markup: "VVVVVVVVVV", cursor: 10, current: "node", status: "VALID", args: { command: { name: "tse" }, node: { arg: " :root ", status: "VALID" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } }, exec: { }, post: function (output) { if (!options.isRemote) { assert.is(output.args.node.tagName, "HTML", ":root tagName"); } } }, { setup: "tse #gcli-nomatch", check: { input: "tse #gcli-nomatch", hints: " [options]", markup: "VVVVIIIIIIIIIIIII", cursor: 17, current: "node", status: "ERROR", args: { command: { name: "tse" }, node: { value: undefined, arg: " #gcli-nomatch", status: "INCOMPLETE", message: "No matches" }, nodes: { status: "VALID" }, nodes2: { status: "VALID" } } } } ]); }; exports.testNodes = function (options) { return helpers.audit(options, [ { setup: "tse :root --nodes *", check: { input: "tse :root --nodes *", hints: " [options]", markup: "VVVVVVVVVVVVVVVVVVV", current: "nodes", status: "VALID", args: { command: { name: "tse" }, node: { arg: " :root", status: "VALID" }, nodes: { arg: " --nodes *", status: "VALID" }, nodes2: { status: "VALID" } } }, exec: { }, post: function (output) { if (!options.isRemote) { assert.is(output.args.node.tagName, "HTML", ":root tagName"); assert.ok(output.args.nodes.length > 3, "nodes length"); assert.is(output.args.nodes2.length, 0, "nodes2 length"); } assert.is(output.data.args.node, ":root", "node data"); assert.is(output.data.args.nodes, "*", "nodes data"); assert.is(output.data.args.nodes2, "Error", "nodes2 data"); } }, { setup: "tse :root --nodes2 div", check: { input: "tse :root --nodes2 div", hints: " [options]", markup: "VVVVVVVVVVVVVVVVVVVVVV", cursor: 22, current: "nodes2", status: "VALID", args: { command: { name: "tse" }, node: { arg: " :root", status: "VALID" }, nodes: { status: "VALID" }, nodes2: { arg: " --nodes2 div", status: "VALID" } } }, exec: { }, post: function (output) { if (!options.isRemote) { assert.is(output.args.node.tagName, "HTML", ":root tagName"); assert.is(output.args.nodes.length, 0, "nodes length"); assert.is(output.args.nodes2.item(0).tagName, "DIV", "div tagName"); } assert.is(output.data.args.node, ":root", "node data"); assert.is(output.data.args.nodes, "Error", "nodes data"); assert.is(output.data.args.nodes2, "div", "nodes2 data"); } }, { setup: "tse --nodes ffff", check: { input: "tse --nodes ffff", hints: " [options]", markup: "VVVVIIIIIIIVIIII", cursor: 16, current: "nodes", status: "ERROR", args: { command: { name: "tse" }, node: { value: undefined, arg: "", status: "INCOMPLETE" }, nodes: { value: undefined, arg: " --nodes ffff", status: "INCOMPLETE", message: "No matches" }, nodes2: { arg: "", status: "VALID", message: "" } } } }, { setup: "tse --nodes2 ffff", check: { input: "tse --nodes2 ffff", hints: " [options]", markup: "VVVVVVVVVVVVVVVVV", cursor: 17, current: "nodes2", status: "ERROR", args: { command: { name: "tse" }, node: { value: undefined, arg: "", status: "INCOMPLETE" }, nodes: { arg: "", status: "VALID", message: "" }, nodes2: { arg: " --nodes2 ffff", status: "VALID", message: "" } } } }, ]); };