Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 19 18:31
    greenkeeper[bot] commented #1134
  • Sep 19 18:31

    greenkeeper[bot] on chokidar-3.1.1

    fix(package): update chokidar t… (compare)

  • Sep 16 19:11
    greenkeeper[bot] commented #1134
  • Sep 16 19:10

    greenkeeper[bot] on chokidar-3.1.0

    fix(package): update chokidar t… (compare)

  • Sep 09 14:16
    greenkeeper[bot] commented #1137
  • Sep 09 14:16

    greenkeeper[bot] on terser-4.3.1

    fix(package): update terser to … (compare)

  • Sep 07 20:23
    greenkeeper[bot] commented #1137
  • Sep 07 20:23

    greenkeeper[bot] on terser-4.3.0

    fix(package): update terser to … (compare)

  • Sep 05 15:38

    greenkeeper[bot] on steal-2.2.3

    (compare)

  • Sep 05 15:34

    greenkeeper[bot] on steal-2.2.3

    chore(package): update steal to… (compare)

  • Sep 05 14:59

    matthewp on v2.2.3

    (compare)

  • Sep 05 14:59

    matthewp on master

    2.2.3 (compare)

  • Sep 05 14:38

    matthewp on main-forward-slash

    (compare)

  • Sep 05 14:38

    matthewp on master

    Support the forward slash behav… Merge pull request #1508 from s… (compare)

  • Sep 05 14:38
    matthewp closed #1508
  • Sep 05 14:38
    matthewp closed #1507
  • Sep 05 13:00
    matthewp opened #1508
  • Sep 05 13:00

    matthewp on main-forward-slash

    Support the forward slash behav… (compare)

  • Sep 04 21:26
    chasenlehara labeled #1507
  • Sep 04 21:26
    chasenlehara opened #1507
Kevin Phillips
@phillipskevin
the pattern is included: false
so yeah, that could be why yours can’t load dev.js if you don’t have a pattern like that
Sunil George
@georgesunil81
Okay. I am still getting the error in the Karma console. It is not able to find stealconfig and dev.js!
Here is my karma.conf.js -
module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine'],
    files: [
      { pattern: 'test/**/*.js', included: false },
      { pattern: 'node_modules/steal/**/*.js', included: false },
      { pattern: 'node_modules/**/package.json', included: false },
      { pattern: 'package.json', included: false },
      'node_modules/steal/steal.js',
      'karma.bootstrap.js'
    ],
    exclude: [ ],
    preprocessors: { },
    reporters: ['dots'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false,
    concurrency: Infinity
  })
};
And here is my karma.bootstrap.js
window.__karma__.loaded = function() {
  var s = document.createElement('script');
  s.setAttribute('src', 'base/node_modules/steal/steal.js');
  s.setAttribute('data-main', 'test/');
  document.head.appendChild(s);

  s.onload = function () {
    steal.done().then(function(){
        console.log('----- StealJS is loaded -----');
      if(window.__karma__) {
        window.__karma__.start();
      }
    });
  };
};
The errors are coming from karma.bootstrap.js. It is not able to find stealconfig.js and dev.js.
Kevin Phillips
@phillipskevin
you probably need a pattern for your stealconfig
Sunil George
@georgesunil81
But, I already have the following pattern in the karma.conf.js
{ pattern: 'node_modules/steal/**/*.js', included: false },
Would it not include stealconfig.js and dev.js too?
Kevin Phillips
@phillipskevin
where is stealconfig?
Sunil George
@georgesunil81
stealconfig is in "node_modules/steal" directory.
Kevin Phillips
@phillipskevin
also, why do you need to use document.head.appendChild to inject steal?
isn’t karma doing that already?
Sunil George
@georgesunil81
Oh! Earlier I did not have the following line in my karma.config.js
Kevin Phillips
@phillipskevin
try setting it up how it is in the forum post
Sunil George
@georgesunil81
'node_modules/steal/steal.js',
Sure, I will try that now.
Made the changes. Now running it again...
Hmmm @phillipskevin . Making it mirror what you have in the forum resolved the 404/stealconfig.js and 404/dev.js errors.
I am getting bunch of different errors now.
Thanks @phillipskevin for your help resolving the 404s. I will troubleshoot the new errors further. Will let you know if I need help.
Sunil George
@georgesunil81
Thanks @phillipskevin . It now executed a very simple test as below which I added within my CanJS-StealJS application project directory structure -
```
describe('Sample Test', function () {
  it('test', function () {
    expect(true).toBeTruthy();
  });
});
Now, I will be going into testing the actual application logic. Since StealJS is now succesfully loaded, I believe I should be able to just import my app modules into my tests and run specific functions from in there.
Will try it out.
Sunil George
@georgesunil81
@phillipskevin , are there any examples of testing CanJS Controllers with Karma-Jasmine. My application pages are rendered using Can.Control.
Sunil George
@georgesunil81
From my unit tests, I am trying to invoke specific functions from within my controller.
If you have any examples of it or have a link to, let me know once you get a chance. Thanks in advance for all your help.
Kevin Phillips
@phillipskevin
I’m not sure what you mean
I don’t think there is anything Karma or Jasmine specific about it
probably need some more info on what you’re trying to test, but basically you just need to create an instance of the Control and call the function
var c = new MyControl(el, data);
c.myFunction();
expect(data.whatever).toBe(something);
obviously that assertion totally depends on what it is you’re trying to test
Sunil George
@georgesunil81
Thanks @phillipskevin . That gives me a good hint on how to proceed. What will be el? I suppose it will be the DOM element that the application controller would render into. I think I will need to use jasmine-fixture to add the element in memory/DOM first and then instantiate the controller in my test on that element.
Kevin Phillips
@phillipskevin
if you’re not going to check what is happening in the dom it can be anything
document.createElement(‘div’);
or even if you are
Sunil George
@georgesunil81
Hmmm...yes, thats true. Thanks @phillipskevin . This gives me enough directions for the day. I will let you know if I run into any issues.
Thanks again for all your help.
Kevin Phillips
@phillipskevin
:thumbsup:
Matthew Phillips
@matthewp
Kevin Phillips
@phillipskevin
@matthewp should it be
"steal": {
  "plugins": [
instead of "system"
xedos
@xedoken

Hi guys! Does anyone know what the issue is with can-route in donejs:

Cannot define property:page, object is not extensible ( in can-define).

"can-define": "^1.0.4",
"can-route": "^3.0.5",
"can-route-pushstate": "^3.0.1",
"steal": "^0.16.43",
"steal-tools": "^0.16.8"

Matthew Phillips
@matthewp
sounds like a canjs issue. That problem is caused by not defining a property, most likely your main ViewModel needs a page: "string" to be defined on it.
xedos
@xedoken
Yeap, already fixed. B/c new can3 need the page property in app.js :)