• Please throw an exception "Selector parts should be arranged in the following order: element, id, class, attribute, pseudo-class, pseudo-element" if selector parts arranged in an invalid order.

    The tests for this are not exhaustive.

  • The combine operator does not make sense in this kata; in fact it doesn't even belong to the builder because combine does not keep the capability of the builder invariant: you can't use any other operators after combine is used (trying to add a class to something like p#introduction ~ img[href$=".png"] makes no sense at all (unless you're doing SASS and allows nested CSS, but that's not CSS)).

  • This comment is hidden because it contains spoiler information about the solution

  • Nice one.
    I suggest to add a visual description.

    First example :

    1 || 🌕 || 🌑 🌑 || 0

    2 || 🌕 || 🌕 🌑 || 0

    1 || 🌕 || 🌕 🌗 || 0

    1 || 🌕 || 🌕 🌕 || 0

    Denied : 0

    Second example :

    1 || 🌕 || 🌑 || 0

    1 || 🌕 || 🌗 || 0

    2 || 🌕 || 🌗 || 2

    1 || 🌕 || 🌕 || 0

    Denied : 2

  • The issue below is still relevant in JavaScript.

  • That freshly baked Python translation uses pathes as the preloaded function parameter. Should be paths :)

  • There's already a kata about implementing the builder pattern, which also has less repetitive work to do, no annoying input validation, and no bad design decisions (using the same instance as the base for all builds, mixing static and instance methods).

  • Please throw an exception

    None of these cases are mentioned in the description.

  • the tests are literally bullshit: I pass every fixed tests but not any random tests....

    • needs more proper fixed tests
    • need a batch of small random tests.
  • add several random tests and i;ll approve the kata

  • This comment is hidden because it contains spoiler information about the solution

  • Also, no random tests.

  • Kata requirement is very unclear and loose, and there isn't enough test cases or coverage to ensure that the correct regex is written.

  • Do not use language built-in source or toString because of this.

    Instead use something like this (put it in the preloaded section):

    const usercode = require('fs').readFileSync('/home/codewarrior/solution.txt', 'utf8');

  • Loading more items...