Skip to content

Problem report: https://runestone.academy/ns/books/published/Block2/topic-1-15-strings.html #1501

Description

@irunestone

A problem was reported through the Runestone "Report a Problem" form.

Field Value
Reporter oteroA2009
Email otero.alejandro.school@gmail.com
Course Block2
Page https://runestone.academy/ns/books/published/Block2/topic-1-15-strings.html
Reported at 2026-09-12T13:35:54.776906

Description

For the pig latin challenge my Substring calls are not counted

Browser console log

[log] Timezone cookie matches, not sending timezone to server
[log] This page served by undefined
[log] triggering runestone:pre-login-complete
[log] Runestone pre-login complete
[log] Loading Runestone component: activecode
[log] Loading Runestone component: multiplechoice
[log] Loading Runestone component: answer
[log] Loading Runestone component: feedback
[log] Loading Runestone component: dragndrop
[log] SpliceWrapper: received message subject: undefined from iframe: unknown
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] Populating DragNDrop with premises and responses
[log] Populating DragNDrop with premises and responses
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] Data from server: {"answer":"{\"csawesome2__ch4_str1_drop1\":[\"csawesome2__ch4_str1_drag1\"],\"csawesome2__ch4_str1_drop2\":[\"csawesome2__ch4_str1_drag2\"],\"csawesome2__ch4_str1_drop3\":[\"csawesome2__ch4_str1_drag3\"],\"csawesome2__ch4_str1_drop4\":[\"csawesome2__ch4_str1_drag4\"]}","min_height":249,"correct":true,"percent":1,"timestamp":"2026-09-11T17:59:08.219059+00:00","div_id":"csawesome2__ch4_str1","sid":"oteroA2009","course_name":"Block2","id":4962688} calling repopulateFromStorage
[log] Replacing origElem with containerDiv
[log] resolving checkServer with server data
[log] Data from server: {"answer":"{\"csawesome2__ch4_str2_drop1\":[\"csawesome2__ch4_str2_drag1\"],\"csawesome2__ch4_str2_drop2\":[\"csawesome2__ch4_str2_drag2\"],\"csawesome2__ch4_str2_drop3\":[\"csawesome2__ch4_str2_drag3\"],\"csawesome2__ch4_str2_drop4\":[\"csawesome2__ch4_str2_drag4\"]}","min_height":249,"correct":true,"percent":1,"timestamp":"2026-09-11T18:00:24.932883+00:00","div_id":"csawesome2__ch4_str2","sid":"oteroA2009","course_name":"Block2","id":4962700} calling repopulateFromStorage
[log] Replacing origElem with containerDiv
[log] resolving checkServer with server data
[log] Data from server: {"answer":"1","correct":true,"percent":1,"timestamp":"2026-09-08T12:44:49.698369+00:00","div_id":"csawesome2__qse_1","sid":"oteroA2009","course_name":"Block2","id":98372475} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"1","correct":true,"percent":1,"timestamp":"2026-09-11T17:45:49.545637+00:00","div_id":"csawesome2__qsb_3","sid":"oteroA2009","course_name":"Block2","id":98653825} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"2","correct":true,"percent":1,"timestamp":"2026-09-11T17:46:54.567033+00:00","div_id":"csawesome2__qsb_3b","sid":"oteroA2009","course_name":"Block2","id":98653983} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"3","correct":true,"percent":1,"timestamp":"2026-09-11T17:49:57.553399+00:00","div_id":"csawesome2__qsb_3c","sid":"oteroA2009","course_name":"Block2","id":98654477} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"0","correct":true,"percent":1,"timestamp":"2026-09-11T17:50:30.962188+00:00","div_id":"csawesome2__qsb_4b","sid":"oteroA2009","course_name":"Block2","id":98654581} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"0","correct":true,"percent":1,"timestamp":"2026-09-11T18:00:41.163492+00:00","div_id":"csawesome2__qsb_8-new","sid":"oteroA2009","course_name":"Block2","id":98655636} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"0","correct":true,"percent":1,"timestamp":"2026-09-12T13:27:43.688178+00:00","div_id":"csawesome2__AP-substring","sid":"oteroA2009","course_name":"Block2","id":98684345} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: {"answer":"0","correct":true,"percent":1,"timestamp":"2026-09-12T13:28:12.815257+00:00","div_id":"csawesome2__AP-immutable","sid":"oteroA2009","course_name":"Block2","id":98684356} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__ch4_str1 undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__ch4_str2 undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qse_1 undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_3 undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_3b undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_3c undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_4b undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_8-new undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__AP-substring undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__AP-immutable undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qse_1_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_3_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_3b_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_3c_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_4b_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__qsb_8-new_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__AP-substring_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__AP-immutable_feedback undefined
[log] adding video popouts
[log] setting up pretext
[log] running {"div_id":"csawesome2__challenge-PigLatin","code":"import java.util.Scanner;\n\npublic class PigLatin\n{\n   public static String pigLatin(String word)\n   {\n       // Change this to use word.substring to construct\n       // the pig latin version of word\n       String pigLatin = word;\n       pigLatin = (pigLatin.substring(1) + pigLatin.substring(0,1) + \"ay\");\n       return pigLatin;\n   }\n\n   public static void main(String[] args)\n   {\n       // Do not change main!\n       // Write your code in the pigLatin method above.\n       Scanner scan = new Scanner(System.in);\n       String word = scan.nextLine();\n       System.out.println(word + \" in Pig Latin is \" + pigLatin(word) );\n       scan.close();\n   }\n}\n","language":"java","errinfo":"success","to_save":"False","prefix":"","suffix":"import static org.junit.Assert.*;\n\nimport org.junit.*;\n\nimport java.io.*;\n\npublic class RunestoneTests extends CodeTestHelper\n{\n    @Test\n    public void testMethod() throws IOException\n    {\n        Object[] args = {\"java\"};\n        String output = getMethodOutput(\"pigLatin\", args);\n        String expect = \"avajay\";\n        boolean passed = getResults(expect, output,\n                             \"pigLatin(\\\"java\\\") should return \\\"avajay\\\"\");\n        assertTrue(passed);\n    }\n    @Test\n    public void testMethod2() throws IOException\n    {\n        Object[] args = {\"pig\"};\n        String output = getMethodOutput(\"pigLatin\", args);\n        String expect = \"igpay\";\n        boolean passed = getResults(expect, output,\n                             \"pigLatin(\\\"pig\\\") should return \\\"igpay\\\"\");\n        assertTrue(passed);\n    }\n    @Test\n    public void testContainsSubstring()\n    {\n        String target = \"word.substring(\";\n        int count = countOccurences(getCode(), target);\n        boolean passed = count >= 2;\n        passed =\n                getResults(\n                        \"2 substring calls\",\n                        count + \" substring call(s)\",\n                        \"Code contains calls to substring method\",\n                        passed);\n        assertTrue(passed);\n    }\n}\n","partner":"","editDist":0,"changesPerSecond":null,"course":"Block2","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"act":"percent:66.67:passed:2:failed:1","div_id":"csawesome2__challenge-PigLatin","event":"unittest","course_name":"Block2","clientLoginStatus":true,"timezoneoffset":4}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions