Coder Social home page Coder Social logo

liammclennan / javascript-koans Goto Github PK

View Code? Open in Web Editor NEW
1.4K 1.4K 1.3K 139 KB

javascript koans is an interactive learning environment that uses failing tests to introduce students to aspects of JavaScript in a logical sequence.

License: MIT License

JavaScript 92.36% CSS 5.16% HTML 2.48%

javascript-koans's Introduction

Update

JavaScript Koans is an interactive learning environment that uses failing tests to introduce students to aspects of JavaScript in a logical sequence.

The inspiration for this project comes from the Edgecase Ruby Koans and the book 'Javascript: The Good Parts'.

Open the file jskoans.htm in your favourite browser and make the tests pass.

The koans use the Qunit test syntax and test runner.

Get started with Ryan Anklam's Learn JavaScript completely On the Cloud With the JavaScript Koans and Cloud9 IDE

javascript-koans's People

Contributors

alexjeng avatar ar1g avatar bittersweetryan avatar caleywoods avatar canton avatar cytrowski avatar franklinchen avatar garethm avatar guhelski avatar hohguy avatar jadeforrest avatar jayturley avatar joshrieken avatar julio-saito-linx avatar jwworth avatar kevinwhalen avatar lewiscowper avatar liammclennan avatar magopian avatar saintgimp avatar sukima avatar yihangho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javascript-koans's Issues

Test 49: About Reflection (topics/about_reflection.js)

Hi!
Thank you for the wonderful things.

There are two the same thing on line 60 and line 59.
I think line 60 is "b.constructor.name".

line59: equals(a.constructor.name, __, "what is the name of a's constructor?");
line60: equals(a.constructor.name, __, "what is the name of b's constructor?");

Array splice test seem broken

Array test seem broken

test("", function() {
    var daysOfWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
    var workingWeek = daysOfWeek.(__, __); // Weird to use  as it removes elements from daysOfweek
    ok(workingWeek.equalTo([]), 'what is the value of workingWeek?');
    ok(daysOfWeek.equalTo([]), 'what is the value of daysOfWeek?');
});

Expected results on topics/about_reflection.js

I'm wondering, what are the expected results on https://github.com/liammclennan/JavaScript-Koans/blob/master/topics/about_reflection.js#L58-L60

I get empty quotes, but i'm not sure if that is what expected, so I searched a little bit and based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Function/name I changed locally:

var A = function() {
    this.aprop = "A";
};

var B = function() {
    this.bprop = "B";
};

on top of that file to

function A() {
    this.aprop = "A";
};

function B() {
    this.bprop = "B";
};    

And i get "A" as the expected constructor.name value, which makes more sense to me. If I'm wrong or missing sth. could you explain why?

Spanish translation

Hi @liammclennan! I found this repository very useful and I've thought to translate it in Spanish language.

So, I will start to translate it now in our fork... I will send you a pull request when is ready.

Jasmine?

I find I like the Jasmine testing framework much more than QUnit. It is possible new students might find it's syntax a little more friendly.

I wonder what the interests is in either converting this to Jasmine or including Jasmine allowing the student to choose which test framework they want. (The later requires duplication of code).

document-ready should be removed

Unfortuanetely the demo on the QUnit documentation seems to suggest using document ready. But QUnit actually uses the window-load event to wait before executing any tests.

I'm going to fix the docs, but wanted to let you know anyway, as this project looks like a great way to learn JS unit testing and QUnit - want to link or maybe even integrate this somehow.

Readme.md: Link to http://javascript.didacto.net is dead

Thanks for sharing the koans i really liked them and the readme made me curious about your new project Didacto JavaScript:

If you like JavaScript Koans you might enjoy my newer, more user friendly, project Didacto: JavaScript

But following the link gives me a 502 bad gateway. Is the site just temporarily down or is the project discontinued?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.