diff --git a/htmlparser-0.2-1.rockspec b/htmlparser-0.2-1.rockspec new file mode 100644 index 0000000..91cc9d9 --- /dev/null +++ b/htmlparser-0.2-1.rockspec @@ -0,0 +1,27 @@ +package = "htmlparser" +version = "0.1-1" +source = { + url = "git://github.com/wscherphof/lua-htmlparser.git", + branch = "v0.1" +} +description = { + summary = "Parse HTML text into a tree of elements with selectors", + detailed = [[ + Call parse() to build up a tree of element nodes. Each node in the tree, including the root node that is returned by parse(), supports a basic set of jQuery-like selectors. Or you could walk the tree by hand. + ]], + homepage = "http://wscherphof.github.com/lua-htmlparser/", + license = "MIT" +} +dependencies = { + "lua >= 5.2", + "set >= 0.1", + "lunitx >= 0.6" +} +build = { + type = "builtin", + modules = { + htmlparser = "src/htmlparser.lua", + ["htmlparser.ElementNode"] = "src/htmlparser/ElementNode.lua", + ["htmlparser.voidelements"] = "src/htmlparser/voidelements.lua" + } +} \ No newline at end of file diff --git a/tst/init.lua b/tst/init.lua new file mode 100644 index 0000000..fe62536 --- /dev/null +++ b/tst/init.lua @@ -0,0 +1,30 @@ +require("luarocks.loader") +-- Omit next line in actual module clients; it's only to support development of the module itself +package.path = "../src/?.lua;" .. package.path + +local lunitx = require("lunitx") +module("html", lunitx.testcase, package.seeall) + +local htmlparser = require("htmlparser") + +function test_children() + local tree, sel + tree = htmlparser.parse([[ + 1 + 1.1 + 1.2 + 1.2.1 + + + 2 + 2.1 + 2.2 + 2.2.1 + + + ]]) + sel = tree("parent child") + assert_equal(6, sel:len(), 'parent child') + sel = tree("parent > child") + assert_equal(4, sel:len(), 'parent > child') +end \ No newline at end of file