Commit Graph

58 Commits

Author SHA1 Message Date
iska f5d970ba87 Add implementation for a CSS Simple Sequence of Selectors
http://www.w3.org/TR/css3-selectors/#sequence
2015-05-15 02:37:51 +02:00
iska 4f03e00003 Add a protocol for CSS Simple Selectors
Simple Selectors should conform to this protocol in order to be addable to the Simple Selector Sequence.
2015-05-15 02:28:03 +02:00
iska 221b085fe5 Add tests for the Type & Attribute selectors 2015-05-14 21:18:55 +02:00
iska c401c3ca2c Add umbrella header for all CSS Selectors 2015-05-14 17:09:17 +02:00
iska 3cb5ed9a42 Add implementation for a CSS Attribute Selector
http://www.w3.org/TR/css3-selectors/#attribute-selectors
2015-05-14 16:32:47 +02:00
iska acec99ffea Add implementation for a CSS Type Selector
Matches an Element with the given tag name or all Elements (universal selector)
http://www.w3.org/TR/css3-selectors/#type-selectors
2015-05-14 16:23:23 +02:00
iska 7c58268dfd Add initial implementation for the CSS Selector base class 2015-05-14 16:21:26 +02:00
iska c87076b470 Add a NSCharacterSet category for HTML Whitespace characters
http://www.w3.org/TR/css3-selectors/#whitespace
2015-05-14 16:19:31 +02:00
iska 81a20f0333 Add HTML Node Filter protocol
https://dom.spec.whatwg.org/#interface-nodefilter
2015-05-14 16:15:41 +02:00
iska 4fcaf4c810 Add implementation for a CSS Selector Tokenizer
The Tokenizer is based on a flex-generated lexer for the grammar defined in the CSS Selectors Level 3 Spec
http://www.w3.org/TR/css3-selectors/#lex
2015-05-09 18:58:50 +02:00
iska 40baea8ece Move tests for Mutation Algorithms into separate class 2015-04-27 19:43:43 +02:00
iska 1bc896efc9 Add tests for HTML Node methods
Todo: Tests for negative cases, e.g. invalid manipulations that lead to hierarchy or not found errors.
2015-04-23 00:43:06 +02:00
iska 429f00adb6 Fix project settings after update to Xcode 6.3.1 2015-04-23 00:40:35 +02:00
iska 1af7e9ea89 Reorder test classes and their groups 2015-04-17 00:45:15 +02:00
iska 1829af229a Add Ordered Dictionary tests
- Remove index checks, an exception will be thrown by the underlying array
- Fix indexed subscript method name
- Change behaviour of "setObject:forKey:atIndex:" so that an existing key is moved
2015-04-17 00:43:47 +02:00
iska 27c020371d Rename NSString category method for clarity and add category tests 2015-04-16 20:37:49 +02:00
iska 654dffcc92 Add initial implementation for HTML Template & Document Fragment
https://html.spec.whatwg.org/multipage/scripting.html#the-template-element
2015-04-16 00:13:15 +02:00
iska dbae9dd55f Organize source code into groups 2015-04-12 19:48:48 +02:00
iska 0911e46dba Add HTMLKit Parser Performance test
This tests measures the parsing time of the HTML Living Standard page, about 8.1MB in
size (as of 23 October 2014)
2015-04-12 18:33:01 +02:00
iska 0ac909fb66 Add HTML5 Lib Tree Construction tests
https://github.com/html5lib/html5lib-tests
2015-04-11 00:51:37 +02:00
iska 83c9841122 Add implementation for HTML Node Tree Enumerator
Tree-Order (pre-order) enumeration for HTML Node and its descendants
2015-03-29 00:00:01 +01:00
iska 7fb04f3394 Refactor Tokenizer tests into separate group and generate the test cases dynamically
Instead of loading and running the HTML5Lib test files manually, the Xcode test cases are generated
on start for all the HTML5Lib tokenizer tests. Also, the performance test is moved into its own class.

This setup shouldn't require any extra maintenance when HTML5Lib adds new tokenizer test cases.
2015-03-24 23:50:19 +01:00
iska d9dade5fb0 Add wrapper class for the "list of active formatting elements" 2015-03-22 15:07:40 +01:00
iska d8d191cb5a Add implementation for the HTML Node and its Mutation Algorithms
https://dom.spec.whatwg.org/#mutation-algorithms
2015-03-19 00:42:43 +01:00
iska a7b526dc14 Restore the EOF Token and emit it in the tokenizer 2015-03-16 00:17:11 +01:00
iska 6c7e3465e9 Add implementation for a ordered dictionary for HTML attributes 2015-03-15 15:14:14 +01:00
iska 0495404f01 Add a wrapper class for the Stack of Open Elements
- Better understandability
- Prevent polluting the parser
2015-03-09 00:34:06 +01:00
iska d65463b4d6 Add implementation for Active Formatting Element Reconstruction
https://html.spec.whatwg.org/multipage/syntax.html#reconstruct-the-active-formatting-elements
2015-03-02 23:56:31 +01:00
iska cb9570c9e1 Add NSString category for HTML related methods
Also remove macros scattered throughout the code and use category consistently
2015-03-02 22:36:03 +01:00
iska 6ec1892f73 Move HTML Nodes into separate group 2015-02-28 01:45:52 +01:00
iska 11631c7c76 Add methods to check Doctype validity and its quirks mode 2015-02-28 00:57:50 +01:00
iska 79856255da Add header that imports all HTML Nodes for convenience 2015-02-28 00:56:35 +01:00
iska 83bca329ff Add initial stubs for HTML Document and Element nodes
https://dom.spec.whatwg.org/#interface-document
https://dom.spec.whatwg.org/#interface-element
2015-02-27 00:03:35 +01:00
iska 034a28deea Add HTML Text node
https://dom.spec.whatwg.org/#interface-text
2015-02-26 23:41:42 +01:00
iska c45adc581b Add HTML Comment node
https://dom.spec.whatwg.org/#interface-comment
2015-02-26 20:08:06 +01:00
iska 5e9846b8ea Add HTML Document Type node
https://dom.spec.whatwg.org/#interface-documenttype
2015-02-25 23:48:24 +01:00
iska da00182ff2 Add HTML Node interface
https://dom.spec.whatwg.org/#interface-node
2015-02-25 22:38:02 +01:00
iska f9c8743106 Add "tree construction dispatcher" and token handling stub
https://html.spec.whatwg.org/multipage/syntax.html#tree-construction
2015-02-21 14:30:44 +01:00
iska a59fec42e7 Add enum for HTML Namespaces 2014-11-08 02:08:42 +01:00
iska a23e1a13c9 Fix surrogate pair handling and remove Input Stream's separate error-reporting class
Upon reading a surrogate pair the scan location should be advanced by two characters instead of one
2014-10-31 22:32:34 +01:00
iska 2fa0e793e0 Replace dictionary with two arrays for Named Entity replacement
Currently the entity name is binary-searched and its replacement-value is accessed via found index
2014-10-31 18:25:54 +01:00
iska c04d4a35f3 Set performance baseline for tokenizing step 2014-10-31 18:07:18 +01:00
iska 7d9b66ff8d Add "HTML Standarad" html file to tests resource for benchmarking
As of the latest update (2014/10/23) the test file is 8.1MB
2014-10-26 02:01:48 +02:00
iska 8088d239df Add common test case class 2014-10-26 01:59:52 +02:00
iska 65bd4c15f1 Remove EOF token and replace it with a boolean 2014-10-26 01:53:46 +02:00
iska b7039aba1d Add html5lib tests folder to tests target supporting files 2014-10-26 01:52:05 +02:00
iska 0910290ef2 Add generic HTML5LibTest class for performing HTML5lib tests
https://github.com/html5lib/html5lib-tests
2014-10-25 17:35:58 +02:00
iska 5d3ea61a04 Refactor HTML Tokens into separate files 2014-10-23 23:52:43 +02:00
iska 98357f9d4b Add new virtual project group for Tokenizing implementation 2014-10-23 20:14:20 +02:00
iska 6daac059bd Add project file with entries for Element class
left out mistakenly in a previous commit: 22131d5ef1
2014-10-23 20:13:01 +02:00